MySQL數(shù)據(jù)類型怎樣使用

小樊
82
2024-11-01 06:22:46
欄目: 云計(jì)算

MySQL支持多種數(shù)據(jù)類型,包括數(shù)字類型、字符串類型、日期和時(shí)間類型等。下面是主要數(shù)據(jù)類型的使用方法:

  1. 數(shù)值類型:

    • TINYINT:1個(gè)字節(jié)有符號(hào)整數(shù),范圍從-128到127(0不包括在內(nèi))。
    • SMALLINT:2個(gè)字節(jié)有符號(hào)整數(shù),范圍從-32,768到32,767。
    • MEDIUMINT:3個(gè)字節(jié)有符號(hào)整數(shù),范圍從-8,388,608到8,388,607。
    • INT:4個(gè)字節(jié)有符號(hào)整數(shù),范圍從-2,147,483,648到2,147,483,647。
    • BIGINT:8個(gè)字節(jié)有符號(hào)整數(shù),范圍從-9,223,372,036,854,775,808到9,223,372,036,854,775,807。
    • TINYINT UNSIGNED:1個(gè)字節(jié)無(wú)符號(hào)整數(shù),范圍從0到255。
    • SMALLINT UNSIGNED:2個(gè)字節(jié)無(wú)符號(hào)整數(shù),范圍從0到65,535。
    • MEDIUMINT UNSIGNED:3個(gè)字節(jié)無(wú)符號(hào)整數(shù),范圍從0到16,777,215。
    • INT UNSIGNED:4個(gè)字節(jié)無(wú)符號(hào)整數(shù),范圍從0到4,294,967,295。
    • BIGINT UNSIGNED:8個(gè)字節(jié)無(wú)符號(hào)整數(shù),范圍從0到18,446,744,073,709,551,615。
    • FLOAT:?jiǎn)尉雀↑c(diǎn)數(shù)。
    • DOUBLE:雙精度浮點(diǎn)數(shù)。
    • DECIMAL:任意精度的有符號(hào)十進(jìn)制數(shù)。
  2. 字符串類型:

    • CHAR:固定長(zhǎng)度的字符串。
    • VARCHAR:可變長(zhǎng)度的字符串,最大長(zhǎng)度可達(dá)65,535個(gè)字符。
    • TEXT:最大長(zhǎng)度為65,535個(gè)字符的字符串,適用于大量文本數(shù)據(jù)。
    • MEDIUMTEXT:最大長(zhǎng)度為16,777,215個(gè)字符的字符串。
    • LONGTEXT:最大長(zhǎng)度為4,294,967,295個(gè)字符的字符串。
  3. 日期和時(shí)間類型:

    • DATE:日期值,格式為’YYYY-MM-DD’。
    • TIME:時(shí)間值,格式為’HH:MM:SS’。
    • DATETIME:日期和時(shí)間值,格式為’YYYY-MM-DD HH:MM:SS’。
    • TIMESTAMP:時(shí)間戳值,自’1970-01-01 00:00:01’ UTC至’2038-01-19 03:14:07’ UTC。
    • YEAR:年份值,范圍從1901到2155。

以下是一些使用示例:

CREATE TABLE example (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    age TINYINT UNSIGNED,
    price DECIMAL(10, 2),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

INSERT INTO example (name, age, price) VALUES ('John Doe', 25, 199.99);
SELECT * FROM example;

在這個(gè)示例中,我們創(chuàng)建了一個(gè)名為example的表,其中包含一個(gè)自動(dòng)遞增的主鍵id,一個(gè)非空的name字段(使用VARCHAR類型),一個(gè)無(wú)符號(hào)的age字段(使用TINYINT UNSIGNED類型),一個(gè)price字段(使用DECIMAL類型),以及一個(gè)默認(rèn)值為當(dāng)前時(shí)間戳的created_at字段(使用TIMESTAMP類型)。然后,我們向表中插入一條記錄,并選擇所有記錄。

0