字符串类型:char,varchar,text,enum,set
字符串类型
1.char
格式:char (M)
2.varchar
格式:varchar (M)
【注意】M表示允许的字符串长度[65535]。M表示的是字符数,而不是字节数。但是最大长度的使用是按照字节来算的。
varchar中M表示,是允许的最大长度,在最大长度范围内就行,可变长度。
char内M表示严格限定的长度,固定长度。
char(5) varchar(5) 说明
'' 5个字节 1个字节 varchar需要一个字节保存字符串总长度
'abc' 5个字节 6个字节
**总结**:1,varchar的空间利用优于char;char的效率比varchar快(速度快)。
2,varchar总长度65535;char的特点,当类型数据超过255个字符时,采用2B表示长度。65535-2=65533
整条记录,需要一个额外的字节(1B),用于保存当前字段的null值。除非所有的字段都不是null,这个字节才可以省略。
给表设置 字符集 方法:
create table s_1 ( a varchar(100)) character set utf8;
注意:字段的最大长度(65535),除了类型本身限制之外,记录的总长度也有限制。
3.text
文本,有很多兄弟类型:
tinytext longtext 表示的字符串长度不一样。
分别可存储大小:
tinytext:1B
text:64KB
mediumtext:16MB
longtext:4GB
3.enum
枚举类型:多个可选值中选择一个(单选)
例子:CREATE TABLE s_2 (gender enum('female','male'));
解析:在INSERT插入数据的时候只能在female和male中选择一个,否则插入失败或者为空值。
例子:select gender+0 from s_2;
解析:显示enum中第几个选项
4.set
集合:不定项选择
例子:CREATE TABLE s_5(name varchar(10),hobby set('basketball','pingpong','soccer','tennis'));
解析:INSERT INTO s_5 VALUES('jack','tennis,soccer,basketball');
【注意】如果插入的值不在set里面,则无法插入该值;可以任意插入set中设置好的一个或者多个值。
字符串类型:char,varchar,text,enum,set的更多相关文章
- mysql列类型char,varchar,text,tinytext,mediumtext,longtext的比较与选择
储存不区分大小写的字符数据 TINYTEXT 最大长度是 255 (2^8 – 1) 个字符. TEXT 最大长度是 65535 (2^16 – 1) 个字符. MEDIUMTEXT 最大长度是 16 ...
- mysql 字符串类型 char varchar
字符类型用在存储名字.邮箱地址.家庭住址等描述性数据 char指的是定长字符,varchar指的是变长字符 #官网:https://dev.mysql.com/doc/refman/5.7/en/ ...
- mysql中char,varchar,text
1.char char最大长度是255字符,注意是字符数和字符集没关系. 1)可以有默认值, 2)尾部有空格会被截断 3)不管汉字.英文,还是其他编码,都可以存255字符 2.varchar 1)va ...
- mysql的char,varchar,text,blob
mysql的char,varchar,text,blob是几个有联系但是有有很大区别的字段类型,这算是mysql的基础吧,可是基础没有学好,恶补一下. 先简单的总结一下: char:定长,最大255个 ...
- [Android Pro] sqlite数据库的char,varchar,text,nchar,nvarchar,ntext的区别
reference : http://blog.csdn.net/xingfeng0501/article/details/7817121 1.CHAR.CHAR存储定长数据很方便,CHAR字段上的索 ...
- sqlite数据库的char,varchar,text,nchar,nvarchar,ntext的区别
1.CHAR.CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间,不足的自动用空格填充. 2.VAR ...
- sqlite数据库的char,varchar,text,nchar,nvarchar,ntext的区别(转)
sqlite数据库存储table1.CHAR.CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间,不 ...
- mysql中字符串类型char(n)和varchar(n)的区别
n的含义 根据网络上找到的结果(不能保证准确),在5.0.3以后版本中,n均代表字符数,而不是字节数:我用来测试的版本是5.7.20,该版本中,n表示字符数. 验证过程如下 建表 CREATE TAB ...
- MySQL——字符串类型——char(n) 和 varchar(n)
MySQL 的 char(n) 和 varchar(n) 括号中 n 代表字符的个数,而非字节个数,这里说的字符不论文字种类,假设一个字段的数据类型被规定为 char(2),则可以在这个字段上插入 ' ...
随机推荐
- AspxGridView 客户端点击获取对应的列值
Html 内容: <dx:ASPxGridView ID="ASPxGridViewCluster" runat="server" Width=" ...
- oracle三个网络配置文件(listener.ora、tnsname.ora、sqlnet.ora)的作用
oracle网络配置 三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora ,都是放在$ORACLE_HOME\network\admin目录下. 1. sqlne ...
- python3练习100题——030
这周开始,要重新振作一点吧! 如果每天都想着消费升级,而不是想着如何投入时间精力让自己进步,未来根本就看不到希望. 我想要更认真的活着 live wild 原题链接:http://www.runoob ...
- 四种webAPP横向滑动模式图解—H5页面开发
一.容器整体滑动(DEMO只演示A-B-C-B,下同) 模拟动画效果见下图(上),滑动分解见下图(下): DEMO地址:http://nirvana.sinaapp.com/demo_slider/s ...
- Introduction to SQL
目录 SELECTING SELECTing single columns SELECTing multiple columns select all SELECT DISTINCT Learning ...
- ASP.NET MVC入门到精通——MVC请求管道
https://www.cnblogs.com/jiekzou/p/4896315.html 本系列目录:ASP.NET MVC4入门到精通系列目录汇总 ASP.NET MVC的请求管道和ASP.NE ...
- 《深入理解Java虚拟机》读书笔记六
第七章 虚拟机类加载机制 1.类加载的时机 虚拟机的类加载机制: 虚拟机把描述类的数据从class文件中加载到内存,并对数据进行校验.转换解析和初始化,最终形成了可以被虚拟机直接使用的Java类型,这 ...
- 题解【洛谷P2070】刷墙
题面 将每一次移动的距离进行差分,前缀和判断移动的距离是否\(\geq 2\)即可. #include <bits/stdc++.h> #define itn int #define gI ...
- winform常用控件介绍
1.窗体 12.Label 控件 33.TextBox 控件 44.RichTextBox控件 55.NumericUpDown 控件 76.Button 控件 77.GroupBox 控件 78.R ...
- css div布局示例1(head-main-footer)
很简单的文档流布局 <!doctype html> <html lang="en"> <head> <meta charset=" ...