mysql建表语句类型
时间: 2025-05-16 13:55:17 浏览: 22
### 关于 MySQL 中 `CREATE TABLE` 的数据类型
在 MySQL 中,当通过 `CREATE TABLE` 命令定义表时,可以指定每列的数据类型。这些数据类型决定了该列能够存储何种类型的值以及其范围或精度。以下是常见的 MySQL 数据类型分类及其具体类型[^1]:
#### 数字类型 (Numeric Types)
用于存储整数和浮点数值。
- **TINYINT**: 小整型 (-128 到 127 或者 0 到 255 如果是无符号)。
- **SMALLINT**: 短整型 (-32768 到 32767 或者 0 到 65535 如果是无符号)。
- **MEDIUMINT**: 中等长度的整数 (-8388608 到 8388607 或者 0 到 16777215 如果是无符号)。
- **INT/INTEGER**: 标准整数 (-2147483648 到 2147483647 或者 0 到 4294967295 如果是无符号)。
- **BIGINT**: 大整数 (-9223372036854775808 到 9223372036854775807 或者 0 到 18446744073709551615 如果是无符号)。
#### 浮点数类型
- **FLOAT(M,D)**: 单精度浮点数,默认精度为单精度。
- **DOUBLE(M,D)**: 双精度浮点数,默认精度为双精度。
- **DECIMAL(M,D)/NUMERIC(M,D)**: 定点数,其中 M 是总位数,D 是小数部分的位数。
#### 字符串类型 (String Types)
字符串类型用于存储字符或者二进制数据。
- **CHAR(N)**: 固定长度字符串,N 表示最大长度(最多 255 个字符)。
- **VARCHAR(N)**: 可变长度字符串,N 表示最大长度(最多 65535 个字符)。
- **TEXT/BLOB**: 存储大文本对象,分别有 TINYTEXT、TEXT、MEDIUMTEXT 和 LONGTEXT 类型;BLOB 对应的是二进制大型对象。
#### 时间日期类型 (Date and Time Types)
时间日期类型专门设计来处理日期和时间信息。
- **DATE**: YYYY-MM-DD 格式的日期值。
- **DATETIME**: YYYY-MM-DD HH:MM:SS 格式的日期时间和时间组合。
- **TIMESTAMP**: UNIX 时间戳表示的时间,通常也采用 YYYY-MM-DD HH:MM:SS 形式显示。
- **TIME**: HH:MM:SS 格式的时刻。
- **YEAR**: 年份,支持两种格式 YEAR(2) 和 YEAR(4),默认为后者。
创建表时还可以设置某些属性比如是否允许为空(`NULL`)还是强制非空(`NOT NULL`),是否有默认值(DEFAULT value)[^2]。
另外需要注意,在命名新表的时候应该遵循一定的规则以避免冲突或者是语法错误的发生,例如不可使用保留关键字作为名字等等[^3]。
对于特殊用途的需求,MySQL 提供了临时表选项TEMPORARY,这种表格仅限于当前会话期间有效,并且一旦断开客户端链接就会被销毁掉[^4]。
```sql
-- 创建带多种数据类型的简单例子
CREATE TABLE example_table (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
age SMALLINT UNSIGNED,
salary DECIMAL(10,2),
hire_date DATE
);
```
阅读全文
相关推荐


















