MySQL面试题——常用的SQL语句

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表示可变长度字符串,长度是可变的
  • 插入的数据有多长,就按照多长来存储

你可能感兴趣的:(MySQL面试题——常用的SQL语句)