1.1 列名:
1)采用26字母和0-9的自然数加上下互相 ‘’ 组成,命名简洁明确,多个单词用下划线 ‘’ 隔开
2)全部小写命名,尽量避免出现大写
3)字段必须填写描述信息
4)禁止使用数据库关键字
5)字段名称一般采用名词或动宾短语
6)采用字段的名字必须是易于理解,一般不超过三个英文单词
7)在命名表的列时,不要重复表的名称(如:在 user 表中,出现 user_name 字段)
8)字段命名使用完整名称
1.2、列的类型定义
1.2.1 字符串类型_TEXT类型
TEXT类型
TEXT类型是一种特殊的字符串类型,包括TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT,其长度和存储空间的对比下表所示:
各种TEXT类型的区别在于允许的长度和存储空间不同。因此,在这几种TEXT类型中,根据需求选取既能满足需要又节省空间的类型即可。
特别注意
:
1、以上各类型无须指定长度!
2、允许的长度是指实际存储的字节数,而不是实际的字符个数,比如假设一个中文字符占两个字节,那么TEXT 类型可存储 65535/2 = 32767 个中文字符,而varchar(100)可存储100个中文字符,实际占200个字节,但varchar(65535) 并不能存储65535个中文字符,因为已超出表达范围.
mysql> use test; #选择数据库test
mysql> create table text_example(e_text tinytext, v_char varchar(255)); #创建数据库表,e_text 可存储255个字节,v_char可存储255个字符
mysql> insert into char_example values(90个中文字符,90个中文字符); #插入失败,utfmb4 用3个字节表示一个中文汉字,会超出tinytext 保存范围
mysql> insert into char_example values(80个中文字符,100个中文字符); #插入成功
实战建议
1、 char长度固定, 即每条数据占用等长字节空间;适合用在身份证号码、手机号码等定。超过255字 节的只能用varchar或者text;
2、 varchar可变长度,可以设置最大长度;适合用在长度可变的属性。
3、 text不设置长度, 当不知道属性的最大长度时,适合用text, 能用varchar的地方不用text;
4、 如果都可以选择,按照查询速度: char最快, varchar次之,text最慢。
实战练习
创建一个用户信息表,用来存储用户的如下信息:姓名,手机号码,家庭地址,个人简介,性别,年龄,身份证号。数据库表名可定义为userinfo, 同时增加一个列id 用来作为每一条记录的唯一标识,并设为主键,自加!
mysql> use test; #选择数据库test
mysql> create table userinfo (
id int(11) unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT ‘主键’,
name varchar(64) DEFAULT NULL COMMENT ‘姓名’,
mobile char(11) DEFAULT NULL COMMENT ‘手机号码’,
address varchar(128) DEFAULT NULL COMMENT ‘居住地址’,
description text DEFAULT NULL COMMENT ‘个人简介-不知道具体的范围,不常更新用text’,
sex char(1) DEFAULT NULL COMMENT ‘性别 - 男或女’,
age tinyint unsigned DEFAULT 0 COMMENT ‘年龄’,
idno char(18) DEFAULT NULL COMENT ‘身份证号码’
);
结语:
时间:2020-07-05