标签:多少 开始 应该 方便 cal 存在 null 电话 记录
在定义char 跟varchar时,都需要设置长度。
语法:
char(M); 最大长度为255
varchar(M); 最大长度为65532 不同编码长度不同 GBK最大为:32767
utf8最大为:21845
M为长度!
两者区别:
Char的M是固定的,即使输入的字符长度小于M值,该字符长度也会被定义为M值;
效率更快,使用一些固定字符长度的时候可以使用,例:电话号码、身份证号码等!
Varchar的M是范围性值,只要不超过M,输入的值长度为多少即为多少!存储空间更加灵活。
文本类型,主要分为四种:
tinyText,text,mediumText,longtext
字符长度不需要定义
从左往右排序,越往后值越大,longtext的值几乎是无限大!
主要运用在文本框和其他自由输出区域(如:一篇文章、一篇新闻等)!
enum
单选项字符串类型
语法:
enum(选项字符串1,选项字符串n);
插入值的时候,只能插入选项字符串中的一个字符串,其他则无效,会出现报错!
因为enum在存储空间中是以整数的形式存储,所以我们可以在插入值的时候直接插入对应字符串的编号,从左往右开始,起始值为1.
Set
多选项字符串类型
语法方面与单选项一样,区别在于插入值的时候可以插入多个值!
同单选项一样,可以通过字符串编号来读取,只不过排序不同,排序规则,从左往右,依次为1.2.4.8.16.32.64 最多只能到64
二进制文本类型,想当计算机的话可以自己谷歌学习,那不是人学的!
语法格式:列属性是在创建表的时候,填写在字段类型后面的
null允许字段为空;
Nonull 不允许字段为空,如果字段设置了这个属性的话,系统会判断字段是否为空,如果有设置默认值(default),如果没有的话,系统会报错!
字段默认值
语法:
default 默认值 默认值可以是整数也可以是字符串
主键
1.定义一个字段为主键后,该字段不能重复;
2.主键的内容不能为空
3.一个表中主键只能有一个
4.也叫做主键索引
定义主键的方法
1.定义一个字段的时候直接在后面加上primary key ;
2.定义完字段后再定义主键 语法:primary key(字段);
这种方法可以创造出组合主键,将两个字段组合成一个主键,但是要记住,主键只有一个
组合主键语法: primary key(字段名1,字段名2);
唯一键
也叫作唯一索引
跟主键基本一样,定义方法也一样
区别:唯一键可以为空,主键不能为空!
自增长属性
作用是每次插入记录的时候,自动的为某个字段的值加1(基于上一个记录)
注意:
使用这个属性有两个条件:
1, 该字段类型必须为整型
2, 该字段上必须存在索引(后面讲,主键也叫作主键索引,唯一键也叫作唯一键索引)
auto_increment 自动增长初始值
语法格式:在定义完字段后增加auto_increment 初始值
字段内注释
一张表内的一个字段指向、引用着另外一张表内的另外一个字段
负责指向的表为子表,被指向的表为主表
作用:
1, 增加子表记录的时候,是否有与之对应的父表记录!
2, 当删除或更改父表记录的时候,从表应该如何处理相关的记录!
语法格式:
foreign key(子表字段) references 父表名(父表主键)
先有父表再有字表,语法写在创建字表的字段内;
定义外键名后方便删除
Constraint 外键名 foreign key(子表字段) references 父表名(父表主键)
外键名不能加引号!
如果想要修改父表的话需要再设置一个级联操作命令,当在操作父表时,子表会受到什么样的影响,如果没有设置级联操作,更改父表会报错!
主表更新
语法形式为:on update[级联操作]
主表删除
语法形式为:on delete[级联操作]
这里的级联操作常见的有三种形式:
cascade:同步操作,或者串联操作!也就是当主表记录删除或更新的时候,从表也进行相应的删除或更新!
set null:设置为null,也就是当主表记录删除或更新的时候,从表中的外键字段设置为空
restrict:拒绝主表的更新或删除
alter table 表名drop foreign key 外键名;
标签:多少 开始 应该 方便 cal 存在 null 电话 记录
原文地址:http://www.cnblogs.com/caiwenhao98/p/6103476.html