结构化查询语言分类
名称 | 解释 | 命令 |
---|---|---|
DDL (数据定义语言) | 定义和管理数据对象,如数据库,数据表等 | create、drop、alter |
DML (数据操作语言) | 用于操作数据库对象中所包含的数据 | insert、update、delete |
DQL (数据查询语言) | 用于查询数据库数据 | select |
DCL (数据控制语言) | 用来管理数据库的语言,包括管理权限及数据更改 | grant、commit、rollback |
表的创建
#create table +表名(列名1 数据格式 [属性] [索引] [注释],列名2 列类型 [属性] [索引] [注释])[表类型][表字符集][注释];
列类型
- 数值类型
- 字符串类型
- 日期和时间型数值
- Null值
1.数值类型
类型 | 说明 | 取值范围 | 存储需求 |
---|---|---|---|
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 | 单精度浮点数 | 4字节 | |
double | 双精度浮点数 | 8字节 | |
decimal | 字符串形式的浮点数(d为保留小数的位数) | decimal(m,d) | m字节 |
2.字符串类型
类型 | 说明 | 最大长度 |
---|---|---|
char[(M)] | 0<=M<=255 | M字符 |
varchar[(M)] | 可变字符串 0<=M<=65535 | 变长度 |
tinytext | 微型文本串 | 28 -1字节 |
text | 文本串 | 216 -1字节 |
3.日期和时间类型数值
类型 | 说明 | 取值 |
---|---|---|
date | YYYY-MM-DD,日期格式 | 1000-01-01 |
time | Hh:mm:ss | 838:59:59 |
datetime | YY-MM-DD hh:mm:ss | 1000-01-01 00:00:00 |
timestamp | YYYYMMDDhhmmss格式表示的时间戳 | |
year | YYYY格式的年份值 | 2015 |
4.Null值
- 理解为“没有值”或“未知值”
- 不要用Null进行算数运算,结果仍为Null
- Mysql中,0和Null都为假,1为真。
属性
- unsigned
*无符号的
*声明该数据列不允许负数 - zerofill
*0填充
*不足位数的用0填充,如int(3),5则为005 - auto_increment
*自动增长的,没添加一条数据,自动在上一个记录数上加1(若删除某条记录,不会刷新上条记录值。如上条id为3,数据删除后,下一条添加的记录数据id为4.)
*通常用于设置主键,且为整数类型
*可定义起始值和步长 - Null 和 not Null
*默认为null,即没有插入该列的数值
*如果设置为not null,则该列必须有值 - default
*默认的,用于设置默认值
*例如,性别字段,默认为“男”,否则为女;若无指定该列的值,则默认为“男”的值。
练习
use myschool
create table result(StudentNo int(4) not null comment'xuehao',
SubjectNo int(4) not null comment'kechengbianhao',
ExamDate datetime not null comment'kaoshiriqi',
StudentResult int(4) not null comment'kaoshichengji'