1.SQL语句主要分为哪几类
1.数据库定义语言DDL,包括CREATE,DROP,ALTER,即对逻辑结构有操作的,其中包括表结构,视图和索引
2. 数据库查询语言DQL,以select为关键字,各种简单查询,连接查询等都属于DQL
3. 数据操纵语言DML,包括INSERT,UPDATE,DELETE
4. 数据控制功能DCL,主要对数据库安全性,完整性等有操作,可以简单的理解为权限控制等
2.SQL约束有哪几种
- NOT NULL:用于控制字段的内容一定不能为空
- UNIQUE:控制字段内容不能重复,一个表允许有多个UNIQUE
- PRIMARY KEY:也是用于控件字段内容不能重复,但它在一个表中只允许出现一个
- FOREIGN KEY:用于预防破坏表之间连接的动作
3.varchar和char的区别
char的特点:
- char表示定长字符串,长度是固定的
- 如果插入数据的长度小于char的固定长度时,则用空格填充
- 因为长度固定,所以存取速度要比varchar快很多,但是因为是固定长度,所以可能会造成空间浪费,这是一种空间换时间的做法
- 对于char来说,最多能放的字符个数为255,和编码无关
varchar的特点:
- varchar表示可变长度字符串,长度是可变的
- 插入的数据有多长,就按照多长来存储