对数据表的操作是比较重要的,在实际开发中,日常做的主要工作就是对数据表的操作
对数据表的操作分为两大部分:操作数据表的结构、操作数据表中的数据
组成数据表的基本单元就是字段,所以,接下来先介绍一下mysql中的字段
mysql中的字段大致分为三大类:数值型、日期时间性、字符串型,分类如下:
接下来介绍一下经常用到的类型:
integer | 一般用于标记、基本数字的声明,占用4个字节长度 | sex integer(4) |
bigint | 用于主键的声明,占用8个字节长度 | id bigint(20) |
double | 一般用于存储小数,占用8个字节长度 | score double(5,2) |
decimal | 一般用于存储关于钱的数据,可以保证精度 | money decimal(12,2) |
datetime | 用于存储时间日期型数据 | create_date datetime |
varchar | 用于存储数据量不是很大的字符串数据 | name varchar(255) |
text | 用于存储大数据量的字符串数据 | json_info text |
注:上图中小数型下应该还有一个decimal,比较重要;上边括号中的数字表示的是数据长度,不是存储空间大小
为了保证数据的完整性和合法性,mysql中使用一些属性来限制每一个字段。接下来介绍一下
NULL属性 | 用于标记字段值是否可为空 | id bigint(20) NOT NULL | 表示id字段中不可存储NULL值数据 |
COMMENT | 用于描述字段,就是备注 | name varchar(30) comment '用户名称' | 给字段添加备注,便于查看字段含义 |
DEFAULT | 用于给字段附默认值 | sex int(4) default 1 | 给sex字段一个默认值1,当添加数据没有给sex赋值时,默认是1 |
PRIMARY KEY | 可作为一条数据的标识,可唯一确定一条记录 | id bigint(20) primary key | id是主键,可以根据id唯一确定一条数据 |
AUTO_INCREMENT | 用于标识字段可以自动增加,默认加1 | id bigint(20) auto_increment | id可以自动增长,默认+1 |
UNIQUE | 唯一键标识 | user_code varchar(20) unique | 标识user_code的值在表中不可重复,但是可为null,一般主键是唯一的,但是一张表中只能有一个主键,所以为了标识别的字段也唯一,可以使用unique |
这些限制字段的属性一般可以在声明表时直接加在字段上,也可以在声明表之后,通过修改表的方式再添加,这里之后详细说明