前言
1)采用26字母和0-9的自然数加上下互相 ‘_’ 组成,命名简洁明确,多个单词用下划线 ‘_’ 隔开
2)全部小写命名,尽量避免出现大写
3)字段必须填写描述信息
4)禁止使用数据库关键字
5)字段名称一般采用名词或动宾短语
6)采用字段的名字必须是易于理解,一般不超过三个英文单词
7)在命名表的列时,不要重复表的名称(如:在 user 表中,出现 user_name 字段)
8)字段命名使用完整名称
整数类型是数据库中最基本的数据类型。标准SQL中支持INTEGER和SMALLINT这两种数据类型。MySQL数据库除了支持这两种类型以外,还扩展支持了TINYINT、MEDIUMINT和BIGINT。下表从不同整数类型的字节数、取值范围等方面进行对比。
mysql> use school; #选择数据库school mysql> create table class5(class_id int , class_name varchar(128), class_teacher varchar(64) ); #创建表class5 |
一、整数类型的附带属性
类型名称后面的小括号
指定显示宽度(并不是该类型占用字节数)。如果不显示指定宽度则默认为tinyint(3)、 smallint(5)、 mediumint(8)、 int(11) 和 bigint(20)。一般配合 zerofill 使用,顾名思义,zerofill 就是用“0”填充的意思,也就是在数字位数不够的空间用字符“0”填满。
mysql> use school; #选择数据库school mysql> create table class6(class_id integer(5) zerofill, class_name varchar(128), class_teacher varchar(64) ); #创建表class6 |
unsigned
如果需要在字段里面保存非负数或者需要较大的上限值时,可以用此选项,它的取值范围是正常值的下限取 0,上限取原值的 2 倍,例如,tinyint 有符号范围是-128~+127,而无符号范围是 0~255。如果一个列指定为 zerofill,则 MySQL 自动为该列添加 UNSIGNED 属性。。
mysql> use school; #选择数据库school mysql> create table class6(id integer unsigned , name varchar(128), teacher varchar(64) ); #创建表class6 mysql> create table class7(id integer zerofill , name varchar(128), teacher varchar(64) ); #创建表class7, id类型为 int unsigned |
auto_increment
在需要产生唯一标识符或顺序值时,可利用此属性,这个属性只用于整数类型。AUTO_INCREMENT 值一般从 1 开始,每行增加 1。 一个表中最多只能有一个 AUTO_INCREMENT列 。对于任何想要使用 AUTO_INCREMENT 的列,应该定义为 NOT NULL,并定义为 PRIMARY KEY 或定义为 UNIQUE 键。 例如,可按下列任何一种方式定义 AUTO_INCREMENT 列:
mysql> use school; #选择数据库school mysql> create table class8(id integer auto_increment PRIMARY KEY , name varchar(128), teacher varchar(64) ); #创建表class8, id 具有自增长属性 mysql> create table class9(id integer auto_increment UNIQUE , name varchar(128), teacher varchar(64) ); #创建表class9, id 具有自增长属性 |
总结
zerofill 就是用“0”填充的意思,也就是在数字位数不够的空间用字符“0”填满。
AUTO_INCREMENT 在需要产生唯一标识符或顺序值时,可利用此属性,这个属性只用于整数类型。AUTO_INCREMENT 值一般从 1 开始,每行增加 1。 一个表中最多只能有一个 AUTO_INCREMENT列 。对于任何想要使用 AUTO_INCREMENT 的列,应该定义为 NOT NULL,并定义为 PRIMARY KEY 或定义为 UNIQUE 键。
下一篇介绍实型