字符串类型常用的包括:char, varchar, text, enum, set,分述如下:
思考题:
一个表中有一个字段为c1,其类型为char(10),另有一个字段为c2,类型为varchar,问:
c2最多可以设置多长?
答:
1,一个表中的行也有一个“最大字节长度的限制”,一行最多存储65532字节。
2,则此时,c2最多可以设置65532-10 = 65522(长度设定)
3,如果c2中存储的全是英文字符,就可以存储65522个
4,如果存储中文:
gbk:最多65522/2 = 32761个
utf8:最多65522/3 = 21840个
适用于存储“较长的文本内容”,比如文章内容。最长可存储65535个字符。
如果还需要存储更长的文本,可以使用mediumtext(1600万左右)或longtext(40亿左右)。
设定形式:
字段名称 text
text类型的字段不能设置默认值。
text类型虽然是字符类型,但不能设置长度!!!
text类型的数据不存在行中。
enum类型和set类型都是用于存储“有给定值的可选字符”,比如类似表单中的单选,多选,下拉列表。
create table tab1 (id int, edu(‘大学’, ‘中学’, ‘小学’, ‘其他’ ) );
insert into tab1 (id, edu) values (1, ‘大学’);
或:
insert into tab1 (id, edu) values (1, 2); //表示中学
create table tab2 (aihao(‘篮球’, ‘排球’, ‘足球’, ‘中国足球’ ) ); #对应索引值为1,2,4,8
insert into tab2( aihao ) values ( ‘篮球’ );
或:
insert into tab2 ( aihao ) values ( ‘篮球,排球’ );
或:
insert into tab2 ( aihao ) values ( ‘篮球,足球,排球’ );
或:
insert into tab2 ( aihao ) values ( 2 ); //表示排球(2)
或:
insert into tab2 ( aihao ) values ( 3); //表示“篮球,排球”(1+2)
或:
insert into tab2 ( aihao ) values ( 7); //表示“篮球,排球,足球”(1+2+4)
基本示例:
使用索引值来插入数据:
内容来源于网络,如有侵权,请联系作者删除!