mysql的一些心得
1、unsigned修饰整型 ,既为非负数,用此类型可以增加数据长度!
类型 大小 范围(有符号) 范围(无符号) 用途
TINYINT 1 字节 (-128,127) (0,255) 小整数值
SMALLINT 2 字节 (-32 768,32 767) (0,65 535) 大整数值
MEDIUMINT 3 字节 (-8 388 608,8 388 607) (0,16 777 215) 大整数值
INT或INTEGER 4 字节 (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值
2、创建关联表的方法:foreign key(当前表需要关联的字段) reference 关联表(要关联的字段) on delete cascade on update cascade
on update 和 on delete是数据库外键定义的一个可选项,用来设置当主键表中的被参考列的数据发生变化时,外键表中响应字段的变换规则的。update 则是主键表中被参考字段的值更新,delete是指在主键表中删除一条记录,on update 和 on delete 后面可以跟的词语有四个:
no action , set null , set default ,cascade
no action 表示 不做任何操作,
set null 表示在外键表中将相应字段设置为null
set default 表示设置为默认值
cascade 表示级联操作,就是说,如果主键表中被参考字段更新,外键表中也更新,主键表中的记录被删除,外键表中改行也相应删除。
有时候会在创建关联表的时候出错,一定要注意关联的这两个表必须满足三个条件:
1.两个表必须是InnoDB数据引擎
2.使用在外键关系的域必须为索引型(Index)
3.使用在外键关系的域必须与数据类型相似
3、设置数据库引擎、编码类型:ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci
ENGINE=InnoDB,数据库引擎为InnoDB,如果要查看某个表的引擎,则使用 show create table 表名。
CHARACTER SET utf8,设置表的字符编码为utf8
COLLATE utf8_general_ci,设置校对规则为为utf8,校对规则一般字符是排序和比较的时候起作用。
4、如果字段类型定义为int(n),但是实际数据的长度达不到n位,可以在在定义字段的时候指定zerofill,那么当数值的显示宽度小于指定的列宽度时候,会在数据的左边以0补充。
5、更改表的索引:
创建普通索引:alter table 表名 add index 索引名 (字段名);
创建唯一索引:alter table 表名 add unique (字段名);
创建主键索引:alter table 表名 add primary key (字段名);
创建全局索引:alter table 表名 add fulltext (字段名);
创建多列索引:alter table 表名 add index 索引名称 ( 字段名1,字段名2);
删除索引: drop index 索引名 on 表名;或者:alter table 表名 drop index 索引名;
查看索引:show index from 表名;