mysql sql的分类、运算符、常用的数据类型

 1 SQL (结构化查询语言)的分类
 2     DML(数据操作语言),关键字 insertupdatedelete 3     DCL(数据控制语言),控制权限,grand,revoke   授权,回收
 4     DDL(数据定义语言),创建数据库,表,约束 createdrop,modify
 5     DQL(数据查询语言),查询数据,select
 6 
 7 mysql中的运算符
 8     算数运算符   + - * / %
 9     比较运算符   =  >  <  >=  <=       不等于: !=  <>
10     赋值运算符   =
11     逻辑运算符   and   or    not
12     
13 mysql中常用的数据类型
14 一、值类型
15   1、整型
16     tinyint:迷你型,用1字节储存,256种状态
17     smallint:小整型,用2字节存储,256种状态
18     mediumint:中整型。3字节存储
19     int:标准整型,4字节存储
20     bigint:大整型,8字节存储
21         Sql中的数值类型默认全部是有符号的,分正负,tinyint(-128到127),如果使用无符号数据,需要去掉符号,
22         去掉符号用 unsigned,如 age tinyint unsigned,无符号从0开始。
23 
24   2、小数型
25     a、浮点型
26         height  float:直接使用 float 表示没有小数部分。
27         money float(M,D):M 代表总长度,D代表小数部分长度。整数部分长度为 M-D。
28          浮点型数据的插入,整型部分是不能超出长度的,小数部分是可以超出长度(系统会自动四舍五入)。
29           
30     b、定点型
31         小数点固定,精度固定,不会丢失精度。用 decimal 数据类型定义。
32         定点型会绝对的保证整数部分不会被四舍五入(不会丢失精度),小数部分有可能(理论小数部分也不会丢失精度,
33         在自己的范围内不会进位,不在自己范围内会进位)。
34     插入数据时,定点数的整数部分一定不能超出长度(进位)不可以,
35         小数部分的长度是可以随意超出指定长度的(系统会自动四舍五入)。
36 二、字符串类型
37      在Sql中,字符串类型分为6类,分别是:charvarchartext、blob、enum和set。
38        1、 定长字符串 char
39               char:磁盘(二维表)在定义结构的时候,就已经确定了最终数据的存储长度。
40           char(L):L代length(长度)的意思,单位为字符,最大长度值为255。
41           char(4):在utf8环境下,需要 4 * 3 = 12个字节。
42       2、变长字符串 varchar
43               varchar 在分配空间的时候,按照最大的空间分配,但是实际上用了多少,是根据具体的情况来确定的。
44           varchar(L):L表示length(长度),理论长度是65536个字符,但是会多出 12 个字节来确定存储的实际长度,
45                           但是实际上如果长度超过255,既不用定长,也不用变长,使用文本字符串text。
46           varchar(10) :存了10个汉字,在utf8环境下,需要 (10 * 3) + 1 = 31(bytes)来存储。
47       3、文本字符串
48               如果数据量非常大,通常说超过255个字符就会使用字符串。
49           文本字符串根据存储的数据格式进行分类,text和blob。
50           text:存储文字(二进制实际上都是存储路径)。
51           blob:存储二进制数据(通常不用)。
52       4、枚举字符串
53               枚举:enum,事先将所有可能出现的结果都设计好,实际存储的数据必须是定义好的数据中的其中一个。
54               枚举的作用:
55           规范数据格式,数据只能是规定的数据的其中之一。
56           节省存储空间(枚举通常有1个别名,单选框),枚举实际存储的是字符串本身。
57           语法: enum(可能出现的元素列表)。如 enum('','');
58       5、集合字符串
59                集合和枚举很类似,实际存储的是数值,而不是字符集(集合是多选)。
60                语法: 字段名  set(元素列表)
61                例子:创建1个名叫【my_set】的表,为其加入一个hobby字段,为其设置数据类型为集合。       
62          create table my_set(
63           hobby set('足球','篮球','乒乓球') 
64          )charset utf8;
65 三、MySql记录长度
66       utf8环境下(3个字节存一个汉字),varchar的实际顶配为21844个字符。
67     gbk环境下(2个字节存1个汉字),varchar的实际顶配为32766字符。
原文地址:https://www.cnblogs.com/zhangzimuzjq/p/11535142.html