字段类型:
集合:将多个数据选项同时保存的数据类型,本质是将选中的项按照对应的二进制位进行控制,1表示选中,0表示未选中
形式:set(‘值1’,’值2’,’值3’...);
系统自动计算来选择对应的存储单元
1字节:8选项 2字节:16选项 3字节:24选项 8字节:64选项
最多能放64个选项
注意:set类型和enum类型一样,最终存储到字段是对应的下标
插入数据:一次性可以插入多个数据,使用‘,’隔开即可
(数据选项所在的顺序和数据插入的的顺序无关,最终都会变成数据选项所对应的数据且只能插入预先设定的顺序)
例,插入多个(2个)数据
数据存储的方式:
系统将对应的数据选项按照顺序进行编排,从第一个开始,每一个都对应一个二进制位,在进行存储时,如果被选中则对应的位的值为1,否则为0,且系统在存储时,会将对应的二进制位颠倒,转化为10进制
例如上述“跑步,睡觉”对应的位为:01000001 最终存储:10000010
查看形式(以数值方式查看):select 字段名 + 0 from 表段名;
列属性:
字段属性,共有6个属性:Null,默认值,列描述,主键,唯一键,自动增长
1、null属性:代表字段为空
(如果对应的为yes,则表示该字段可以为null)
2、默认值:
Default:默认值,当字段被设计时允许默认条件下用户可以不插入数据,那么可以使用事先准备好的数据进行填充,填充填充的为null
Default关键字:显示告知字段使用默认值,在进行数据插入的时候,可以对字符段直接使用default,则对应的数据表会直接显示默认值
形如:insert into datatest4 values(‘名字’,default);
3、列描述:comment,专门给开发人员进行维护的一个注释说明
形式:comment’字段描述’; 在创建表时使用
查看时不能用desc,需要使用show create table 表格名;
4、主键:主要的键,在一张表中,有且只有一个字段里面的值具有唯一性,从而保证该数据的安全和唯一
创建主键:两种增加主键的方式
- 随表创建:直接在需要当做主键的字段后增加primary key属性来确认主键
或者 在所有字段后面增加primary key选项,primary key(字段信息)
如:
2.表后创建:形式:alter table 表名 add primary key(需做主键的字段名);
查看主键:
形式:查看表的创建语句:show create table 表名;
删除主键:形式:alter table 表名 drop primary key;
(在主键删除后,会默认留下之前主键所在字段不能为空的语句)
复合主键:
在创建主键时,使用在所有字段名后面增加primary key的形式,此时primary key()中的()里,填写多个字段名,用’,’隔开,表示复合主键,意义为在该表中其值唯一
例如:
主键约束:
主键一旦规定,则对应的字段有所要求:
1、当前对应字段的数据不能为空
2、当前对应字段的数据不能重复(对于复合主键,则只有当复合字段中所有的值都相同时,才算重复)
5、自动增长:
赋予字段该属性,在不赋予该字段值时,系统会根据在这个字段之前已经存在的值进行自增,然后填充数据(通常用于逻辑主键),一张表中至多只有一个自增长
原理:
1、在系统中有一组数据,用来保存使用了字段增长属性的数据,记住当前对应的数据并指定一个步长
2、在赋予数据时没有被赋值,系统会在原始值的基础上加上步长变成新的数据
3、自动增长只适用于数值
形式:在字段后面加上auto_increment
触发自增长:
修改自增长:
- 查看自增长:自增长在使用后会自动的在表选项中增加一个选项
使用查看创建语句:show create table 表名; 查看表选项
2.表选项可以通过修改表结构进行修改
删除自增长:
在字段属性之后不在保留auto_increment,如果在修改自增长所在字段时,没有提及自增长属性,系统会默认删除自增长
同样的,查看初始值和步长需使用,形如:‘show variables like 'auto_increment%;'’进行查看
需注意:
- 因为自增长会上升到表选项中,所以一个表只能有一个自增长
- 如果给定数据不去触发自增长,自增长不表现但会根据用户提供的值加上步长进行下一个值的初始化
- 自增长进行值修改时,不能比当前自增长表选项中的值要小,即使在修改后没有出现错误,但使用’show create table 表名’查看时,显示的是没有修改前的结果
等等......