一、建表
1、数据类型
- 整型:【unsigned】不允许负值
有符号和无符号类型使用相同的存储空间,并具有相同的性能
可以为整数类型指定宽度 INT( 11) 没有意义
INT 4字节
BIGINT 8字节
- 浮点型
float DECIMAL(M,D) M 表示总的数字,D 表示小数位
double
FLOAT 和 DOUBLE 只能使用标准的浮点运算进行近似运算,如果需要精确运算,要使用 DECIMAL 类型
- 字符型
CHAR 0-255 字节 定长字符串 存储时会删除所有的末尾空格
VARCHAR 0-65535 字节 变长字符串
BINARY 0-255 字节 定长二进制
VARBINARY 0-65535 字节 变长二进制
TEXT 0-65535 字节 变长字符串 存储很大数据
- 日期型
DATE 3字节
TIME 3字节
YEAR 1字节
TIMESTAMP 4字节
- 枚举型
ENUM('value1','value2''') 一个仅有一个值的字符串对象,一个 ENUM 最多能有 65535 个不同的值
- 集合型
SET('value1','value2''') 一个集合。能有零个或多个值的一个字符串对象,一个 SET 最多能有 64个成员
- 位数类型
BIT(1) 定义一个包含 1 个位的数据,,BIT(2) 包含 2 个位,最大长度为 64 个为
- json 类型
会把 json 格式的字符串转换成 内部格式 json 对象,用单引号 引起来
二、创建表
CREATE [TEMPORARY 临时] TABLE [IF NOT EXISTS] tb_name[(
字段1 数据类型 【约束条件】【默认值】【COMMENT ‘注解’】,
字段2 数据类型 【约束条件】【默认值】【COMMENT ‘注解’】,
[表约束条件]
)] [engine=innodb] [default charset=utf8];
或者
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tb_name
as subquery;