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 表名;

 

posted @ 2016-03-13 17:42  弘文馆校书  阅读(233)  评论(0编辑  收藏  举报