有无符号声明

unsigned 无符号(给数值类型使用,表示为正数,不写可以表示正负数都可以)

字符串长度声明

字段类型后面加括号限制宽度 :在字符类型后面加限制表示字符串的长度

char(5).
varchar(7)

数值型长度声明

int(4) 没有意义,默认无符号的 int 为 int (11),有符号的 int (10)

int(4) unsigned zerofill 只有当给 int 类型设置有前导零时,设置 int 的宽度才有意义

是否为空声明

not null 不能为空,在操作数据库时如果输入该字段的数据为 NULL ,就会报错

默认值声明

default 设置默认值

主键声明

primary key 主键不能为空,且唯一 [ 一般和自动递增一起配合使用 ]

表中每一行都应该有可以唯一标识自己的一列,用于记录两条记录不能重复,任意两行都不具有相同的主键值

应该总是定义主键 虽然并不总是都需要主键,但大多数数据库设计人员都应保证他们创建的每个表具有一个主键,以便于以后的数据操纵和管理

要求:

  • 记录一旦插入到表中,主键最好不要再修改
  • 不允许 NULL
  • 不在主键列中使用可能会更改的值
  • 自增整数类型:数据库会在插入数据时自动为每一条记录分配一个自增整数,这样我们就完全不用担心主键 重复,也不用自己预先生成主键
  • 可以使用多个列作为联合主键,但联合主键并不常用。使用多列作为主键时,所有列值的组合必须是唯一的

递增声明

auto_increment 定义列为自增属性,一般用于主键,数值会自动加 1

索引是否唯一声明

unique 唯一索引(数据不能重复:用户名)可以增加查询速度,但是会降低插入和更新速度


MySQL 的运算符

  • 算术运算符: +、 -、 *、 /、 %
  • 比较运算符: =、 >、 <、 >=、 <=、!=
  • 数据库特有的比较: in、not in、is null、is not null、like、between、and
  • 逻辑运算符: and、or、not
  • like: 支持特殊符号%和_
其中%表示任意数量的任意字符,_表示任意一位字符