首页 > 代码库 > MySQL2

MySQL2

今日总结
一 :

字符串类型:使用的最多的类型,也是最重要的类型!

char:最大长度 255 char(m) m 字符串。
varchar:最大长度 65535 编码不同字符数不同:Gbk<=32767 Utf8<=21845.
char 和 varchar :在定义的时候,都需要指定字符串的长度!char(m),varchar(m).

char与varchar的比较 :1,varchar对存储空间的使用更加灵活。2,char的效率更高。3,如果存储的字符串的长度是已知固定的,就用char,如 果是可变的,就用varchar


enum :也叫做枚举类型,类似单选! 在定义enum类型的时候,需要把所有可能的选项都罗列出来!并且,用户再插入数据的时候,也只能插入单选项中的选项值。

set:集合类型,类似多选项!在插入的时候可以插入多个选项,并且插入选项都顺序可以和表中定义的顺序不一样。

Binary,varbinary,blod : 这三个都称为二进制文本类型,就是说,里面实际存储的就是二进制形式,也就是字节流。Binary,varbinary,blod 就是二进制流的char、varchar和text.

列属性:
null和not null :默认情况下,字段都允许为空,如果加上nnot null,意思就是这个字段不能为空,所以,not null 也叫做非空约束!
default: 自定义默认值属性,也叫做自定义默认值约束,通常就是配合not null一起使用!
parimary key:简称pk,也叫做主键属性或者主键约束!主要的键,主要的字段! 主键的概念 : 可以唯一标识某条记录的文段或者字段的组合(组合主键)!
设置主键有两种方式:1,在定义一个字段的时候直接在后面进行设置primary key.2,定义完自断后在定义主键。 注意:1,定义一个字段为主键后,该字段就不能重复!2,主键不能为null。3,组合主键的含义是两个或者多个字段组合在一起形成一个主键!而不是所有的字段都是主键,主键只能有一个!
unique key:也叫做唯一键属性或者唯一键约束!增加该属性后,该字段的值就不能重复! 另外unique key 可以简写成unique.
auto_increment:自增长属性或者自增长约束!作用是每次插入记录的时候,自动的为某个字段的值加1(基于上一个记录)。注意:使用这个属性有两个条件:1,该字段类型必须为整形 2,改字段上必须存在索引。
comment:专门为列做注释的,与其他的注释符不同之处在于,这里的注释内容属于列定义的一部分。

索引:
普通索引:key(字段名1,字段名2...)或index(字段名1,字段2...)
唯一索引:其实就是唯一键索引
主键索引:就是主键属性或者主键约束。
索引的缺点:1,索引在提高查找速度的同时,也降低了增删改的速度,因为内部索引需要从新排序!2,占用一定的磁盘空间名。

实体与实体的关系:
现实生活中,实体与实体之间坑定是有关系的,我们把这种关系总结为三种:
一对一:1:1。
一对多:1:n。
多对多:n:n。

外键:

关键字:foreign key 外键属性或者外键约束!外面(其他表)的主键!
作用:外键的意义就是用来约束关系内的实体! 外键约束主要体现在以下两个方面:
1,增加字表记录的时候,是否有与之对应的父表记录!
2,当删除或者更改父表记录的时候,从表应该如何处理相关的记录!

设置级联操作:

主表更新:语法:on update【级联操作】。
主表删除 语法:on delete【级联操作】。
这里的级联操作常见的有三种形式:
cascade:同步操作,串联操作!
set null:设置为null。
restrict:拒绝主表的更新或者删除。
删除外键的语法:
alter table 表名 drop foreign key 外键名。
增加外键的语法:
alter table 表名 add foreirn key 外键定义。

MySQL2