MySQL 的数据类型
- 数字类型
- 字符串类型
- 日期和时间类型
数字类型:
数据类型 | 说明 |
---|---|
TINTINT | 0~255 或 -128~127,1字节,最小的整数 |
SMALLINT | 0~65535 或 -32768~32767,2字节,小型整数 |
MEDIUMINT | 0~16777215 或 -8388608~8388607,3字节,中型整数 |
INT | 0~4294967295 或 -2147683648~2147683647,4字节,标准整数 |
BIGINT | 8字节,大整数 |
FLOAT | 单精度浮点值 |
DOUBLE | 双精度浮点值 |
BOOLEAN | 布尔值 |
字符串类型:
数据类型 | 说明 |
---|---|
CHAR | 1~255 个字符,固定长度字符串 |
VARCHAR | 长度可变,最多不超过 255 个字符 |
TEXT | 最大长度为 64K 的变长文本 |
TINYTEXT | 与 TEXT 相同,但最大长度为 255 字节 |
MEDIUMTEXT | 与 TEXT 相同,但最大长度为 16K |
LONGTEXT | 与 TEXT 相同,但最大长度为 4GB |
日期和时间类型:
数据类型 | 说明 |
---|---|
DATE | 日期,格式 YYYY-MM-DD |
TIME | 时间,格式 HH:MM:SS |
DATETIME | 日期和时间,格式 YYYY-MM-DD HH:MM:SS |
TIMESTAMP | 时间标签,功能和 DATETIME 相同,但范围较小 |
YEAR | 年份可指定两位数字和四位数字的格式 |
常用数据类型:
- INT:整型
- DOUBLE:浮点型
- VARCHAR:字符串型
- DATE:日期类型
创建表:
-- 创建表
CREATE TABLE 数据表名 (
列名1 属性,
列名2 属性…
);
列属性:
- NOT NULL | NULL:该列是否允许是空值
- DEFAULT:表示默认值
- AUTO_INCREMENT:表示是否是自动编号
- PRIMARY KEY:表示是否为主键
列名 数据类型 [NOT NULL | NULL] [DEFAULT 默认值] [AUTO_INCREMENT]
[PRIMARY KEY ] [注释]
复制表:
- 数据表名:表示新创建的数据表的名
- LIKE 源数据表名:必选项,指定依照哪个数据表来创建新表
-- 复制表
CREATE TABLE 数据表名
{LIKE 源数据表名 | (LIKE 源数据表名)}
查看库中所有表名:
-- 查看当前数据库中所有的表名
SHOW TABLES;
查看表结构:
-- 查看表结构
DESCRIBE 数据表名;
DESCRIBE 数据表名 列名;
-- 查看表结构简写
DESC 数据表名;
DESC 数据表名 列名;
添加新列:
-- 添加新列
ALTER TABLE 表名 ADD 列名 列属性;
修改列属性:
-- 修改列定义
ALTER TABLE 表名 MODIFY 列名 列属性;
修改列名:
-- 修改列名
ALTER TABLE 表名 CHANGE 旧列名 新列名 类型;
删除列:
-- 删除列
ALTER TABLE 表名 DROP 列名;
修改表名:
-- 修改表名方式一
ALTER TABLE 旧表名 RENAME AS 新表名;
-- 修改表名方式二
RENAME TABLE 旧表名 To 新表名;
删除表:
- IF EXISTS:可选项,先判断是否存在要删除的表,存在时才执行删除操作
- 数据表名:用于指定要删除的数据表名
DROP TABLE [IF EXISTS] 数据表名;