**
1 MySQL 数据类型
**
数值类型
TINYINT 非常小的数据 有符值: -27 ~ 27-1
无符号值:0 ~ 28-1 1字节
SMALLINT 较小的数据 有符值: -215 ~ 215-1
无符号值: 0 ~ 216-1 2字节
MEDIUMINT 中等大小的数据 有符值: -223 ~ 223-1
无符号值: 0 ~ 224-1 3字节
INT 标准整数 有符值: -231 ~ 231-1
无符号值:0 ~ 232-1 4字节
BIGINT 较大的整数 有符值: -263 ~263-1
无符号值:0 ~264-1 8字节
FLOAT 单精度浮点数 ±1.1754351e -38 4字节
DOUBLE 双精度浮点数 ±2.2250738585072014e -308 8字节
DECIMAL 字符串形式的浮点数 Decimal(M,D) M+2个字节
字符类型
CHAR[(M)] 定长字符串 M字节
VARCHAR[(M)] 可变字符串 可变长度
日期类型
DATE YYYY-MM-DD,日期格式 1000-01-01~ 9999-12-31
DATETIME YY-MM-DD hh:mm:ss: 1000-01-01 00:00:00 ~9999-12-31 23:59:59
TIME hh:mm:ss: -835:59:59 ~ 838:59:59
TIMESTAMP YYYYMMDDHHMMSS 1970年某时刻~2038年某时刻,精度为1秒
YEAR YYYY格式的年份 1901~2155
操作数据的时候,一定选择指定数据库名 DOS命令窗口中使用 use # 在sqlyog中 点击选择要操作的数据库 # ZEROFILL 0填充
CREATE TABLE grade(GradeID INT(4) ZEROFILL);
INSERT INTO GRADE (GradeID) VALUES(1),(234),(34212);
SELECT * FROM GRADE
2 创建表
语法
CREATE TABLE [IF NOT EXISTS] 表名 (
字段1 数据类型 [字段属性|约束][索引][注释],
……
字段n 数据类型 [字段属性|约束][索引][注释]
)[表类型][表字符集][注释];
示例
#创建学生表
CREATE TABLE `student`(
`studentNo` INT(4) PRIMARY KEY,
` name` CHAR(10),
……);
字段的约束
非空约束 NOT NULL 字段不允许为空
默认约束 DEFAULT 赋予某字段默认值
唯一约束 UNIQUE KEY(UK) 设置字段的值是唯一的
允许为空,但只能有一个空值
主键约束 PRIMARY KEY(PK) 设置该字段为表的主键
可唯一标识该表记录
外键约束 FOREIGN KEY(FK) 用于在两表之间建立关系,
需要指定引用主表的哪一字段
自动增长 AUTO_INCREMENT 设置该列为自增字段
默认每条自增1
通常用于设置主键
案例
设置主键
CREATE TABLE student(
`studentNo` INT(4) PRIMARY KEY,
……);
注释
CREATE TABLE test (
`id` int(11) UNSIGNED COMMENT ‘编号’
)COMMENT='测试表’ ;
字符集编码
CREATE TABLE [IF NOT EXISTS] 表名(
#省略代码
)CHARSET = 字符集名;