MySQL - 数据表的操作_列的类型定义_字符串类型_TEXT类型

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章