MySQL支持多种数据类型,包括数字类型、字符串类型、日期和时间类型等。下面是主要数据类型的使用方法:
-
数值类型:
- TINYINT:1个字节有符号整数,范围从-128到127(0不包括在内)。
- SMALLINT:2个字节有符号整数,范围从-32,768到32,767。
- MEDIUMINT:3个字节有符号整数,范围从-8,388,608到8,388,607。
- INT:4个字节有符号整数,范围从-2,147,483,648到2,147,483,647。
- BIGINT:8个字节有符号整数,范围从-9,223,372,036,854,775,808到9,223,372,036,854,775,807。
- TINYINT UNSIGNED:1个字节无符号整数,范围从0到255。
- SMALLINT UNSIGNED:2个字节无符号整数,范围从0到65,535。
- MEDIUMINT UNSIGNED:3个字节无符号整数,范围从0到16,777,215。
- INT UNSIGNED:4个字节无符号整数,范围从0到4,294,967,295。
- BIGINT UNSIGNED:8个字节无符号整数,范围从0到18,446,744,073,709,551,615。
- FLOAT:单精度浮点数。
- DOUBLE:双精度浮点数。
- DECIMAL:任意精度的有符号十进制数。
-
字符串类型:
- CHAR:固定长度的字符串。
- VARCHAR:可变长度的字符串,最大长度可达65,535个字符。
- TEXT:最大长度为65,535个字符的字符串,适用于大量文本数据。
- MEDIUMTEXT:最大长度为16,777,215个字符的字符串。
- LONGTEXT:最大长度为4,294,967,295个字符的字符串。
-
日期和时间类型:
- DATE:日期值,格式为’YYYY-MM-DD’。
- TIME:时间值,格式为’HH:MM:SS’。
- DATETIME:日期和时间值,格式为’YYYY-MM-DD HH:MM:SS’。
- TIMESTAMP:时间戳值,自’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;
在这个示例中,我们创建了一个名为example
的表,其中包含一个自动递增的主键id
,一个非空的name
字段(使用VARCHAR
类型),一个无符号的age
字段(使用TINYINT UNSIGNED
类型),一个price
字段(使用DECIMAL
类型),以及一个默认值为当前时间戳的created_at
字段(使用TIMESTAMP
类型)。然后,我们向表中插入一条记录,并选择所有记录。