SQL语言
1、 SQL语言组成部分
DDL:定义语言 (create、drop、alter)
DML:操作语言 (insert、delete、update、select)
DCL: 控制语言 (grant、revoke)
2、 数据类型
字符型
#char 字符固定的空间 255 字符
#varchar 变化的空间,不区分大小写 65535 字符
#tinytext 255 字符
#text 作为存储对象,不会直接存储在表中,而是存放了指向其他表的指针 65535
#mediumtext 16,777,215 字符
#longtext 4,294,967,295 字符
#binary 二进制数据固定的空间 0-255bytes
#varbinary 变化的空间,区分大小写 0-65532bytes
#tinyblob 最大255bytes
#blob 二进制大对象 最大64Kb
#mediumblob 最大16Mb
#longblob 最大4Gb
数值型
①精确数值型:整型、十进制数据
#tinyint
#smallint
#mediumint
#int
#bigint
#decimal (十进制数据)
②近似数值型
#float 单精度浮点数
#double 双精度浮点数
③日期时间型
#date
#time
#datetime
#timestamp
#year
④布尔型
#0和1
##mysql 实际上没有布尔型
⑤内建类型
#enum 枚举
#set 集合
3、数据常用属性修饰符
字符型常用的属性修饰符
#not_null 非空约束
#null 允许为空
#defaul'string' 默认值,不使用text类型
#character set ‘字符集’
mysql> show character set;
#collation'规则' 排序规则
mysql> show collation;
整数型的常用属性修饰符
#auto_increment 自动增长.(前提:非空,且唯一,支持索引,非负值)
#unsigned 无符号
#null 允许为空
#not null 不为空
#default 默认
浮点型常用修饰符
#not null
#null
#default
#unsigned
日期时间型的修饰符
#not null
#null
#default
内建类型(enum枚举和set集合)的修饰符
#not null
#null
#default 'string'
4、MySQL中字符大小写要求
#1、SQL关键字及函数名不区分字符大小写;
#2、数据库、表及视图名称的大小区分与否取决于低层OS、FS
#3、存储过程、存储函数及时间调度器的名字不区分大小写,但触发器区分大小写
#4、表别名区分大小写;
#5、对字段中的数据,如果字段类型为Binary类型,则区分大小写,非binary不区分大小写;
变量
1、设定服务器变量的值(仅用于支持动态的变量)
支持修改的服务器变量:
动态变量:可以在Mysql运行时修改
静态变量:在配置文件中修改其值,并重启后方能生效;
服务器变量从其生效范围来讲,有两类:
全局变量(global):服务器级别,修改之后仅对新建立的会话有效;
会话变量(session):会话级别,仅对当前回话有效;
## 会话