【个人总结】SQL快速入门(1)
SQL快速入门(1)
-
基础知识
-
存储引擎
将MySQL中的数据存储在文件或者内存中的技术以及配套的相关功能在MySQL中被称为存储引擎。
-
使用SHOW ENGINES语句查询MySQL中支持的存储引擎;
-
主要存储引擎:InnoDB、MyISAM、MEMEORY三种存储引擎。
-
设置数据表的存储引擎:修改鼠标重点 Storage Engine。
-
数据类型
-
数字类型
-
技巧:
-
选择最小的可用类型;
-
对于完全是整数的,可以选择整数类型;
-
浮点类型用于可能具有小数部分的书。
-
数据类型 |
取值范围 |
说明 |
单位 |
|
整数数据类型 |
Tinyint |
符号值:-127~127,无符号值:0~255 |
最小的整数 |
1字节 |
Bit |
符号值:-127~127,无符号值:0~255 |
最小的整数 |
1字节 |
|
Bool |
符号值:-127~127,无符号值:0~255 |
最小的整数 |
1字节 |
|
Smallint |
符号值:-32768~32767 |
小型整数 |
2字节 |
|
Mendiumint |
符号值:-2^23~2^23-1 |
中型整数 |
3字节 |
|
Int |
符号值:-2^31~2^31-1 |
标准整数 |
4字节 |
|
Bigint |
符号值:-2^39~2^39-1 |
大整数 |
5字节 |
|
浮点数据类型 |
Float |
+(-)3.4E+38 |
单精度浮点数 |
8或4字节 |
Double |
+(-)1.8E+308 |
双精度浮点数 |
8字节 |
|
Decimal |
可变 |
一般整数 |
自定义 |
-
字符串类型
字符串类型可分为3类:
-
普通的文本字符串类型(Char和Varchar)
-
可变类型(Text和Blob)
-
特殊类型(Set和Enum)
技巧:
-
从速度方面考虑,要选择固定的列,Char类型;
-
要节省空间,使用动态的列,VarChat类型;
-
要将列中的内容限制在一种选择,Enum类型;
-
允许在一个列中有多于一个的条目,Set类型;
-
要搜索的内容不区分大小写,Text类型;
-
要搜索的内容区分大小写,Blob类型。
数据类型 |
取值范围 |
说明 |
|
普通类型 |
[national] |
0~255字符 |
1、固定长度为M的字符串,其中M的取值范围为0~255; |
char |
0~255字符 |
char(M)类似 |
|
[national] |
0~255字符 |
长度可变,其他与char(M)类似 |
|
可变类型 |
TinyBlob |
2^8-1 |
小Blob字段 |
TinyText |
2^8-1 |
小Text字段 |
|
Blob |
2^16-1 |
常规Blob字段 |
|
Text |
2^16-1 |
常规Text字段 |
|
MediumBlob |
2^24-1 |
中型Blob字段 |
|
MediumText |
2^24-1 |
中型Text字段 |
|
LongBlob |
2^32-1 |
长Blob字段 |
|
LongText |
2^32-1 |
长Text字段 |
|
特殊类型 |
Enum("value1","value2",...) |
2^16-1 |
该类型的列只可以容纳所有值之一或为NULL |
Set("value1","value2",...) |
64 |
该类型的列可以容纳所有值或为NULL |
-
日期和时间数据类型
数据类型 |
取值范围 |
说明 |
Date |
1000-01-01 9999-12-41 |
日期,格式YYYY-MM-DD |
Time |
-838:58:59 835:59:59 |
时间,格式HH:MM:SS |
DateTime |
1000-01-01 00:00:00 |
日期和时间格式 |
TimeStamp |
1970-01-01 00:00:00 |
时间标签,在处理报告时使用,显示格式取决于M的值 |
Year |
1901-2155 |
年份,可指定两位数字和四位数字的格式 |
-
运算符
类型 |
符号 |
作用 |
类型 |
符号 |
作用 |
算数运算 |
+ |
加法 |
比较运算 |
IN |
判断数据是否在集合内 |
算数运算 |
- |
减法 |
比较运算 |
NOT IN |
判断数据是否不在集合内 |
算数运算 |
* |
乘法 |
比较运算 |
LIKE |
判断是否匹配字符串,返回0/1 |
算数运算 |
/ |
除法 |
比较运算 |
NOT LIKE |
判断是否不匹配字符串,返回0/1 |
算数运算 |
% |
求余 |
比较运算 |
RegExp |
判断是否符合正则表达,返回0/1 |
算数运算 |
DIV |
除法 |
逻辑运算 |
&&或AND |
与 |
算数运算 |
MOD |
求余 |
逻辑运算 |
||或OR |
或 |
比较运算 |
= |
等于 |
逻辑运算 |
!或NOT |
非 |
比较运算 |
> |
大于 |
逻辑运算 |
XOR |
异或 |
比较运算 |
< |
小于 |
位运算 |
& |
|
比较运算 |
>= |
大于等于 |
位运算 |
| |
|
比较运算 |
<= |
小于等于 |
位运算 |
~ |
|
比较运算 |
!=或<> |
不等于 |
位运算 |
^ |
|
比较运算 |
IS NULL |
判断是否为空值 |
位运算 |
<< |
|
比较运算 |
IS NOT NULL |
判断是否不为空值 |
位运算 |
>> |
|
比较运算 |
Between And |
判断数据是否在取值范围 |
|
|
|