MySQL支持多種數(shù)據(jù)類型,包括數(shù)字類型、字符串類型、日期和時(shí)間類型等。下面是主要數(shù)據(jù)類型的使用方法:
-
數(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ù)。
-
字符串類型:
- 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è)字符的字符串。
-
日期和時(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
類型)。然后,我們向表中插入一條記錄,并選擇所有記錄。