MySQL 服务器变量 数据操作DML-视图

时间:2021-11-08 18:45:45

SQL语言的组成部分

常见分类:

DDL:数据定义语言
DCL:数据控制语言,如授权
DML:数据操作语言

其它分类:

完整性定义语言:
    DDL的一部分功能约束
    约束:包括主键,外键,唯一键,条件,非空,事务等各类约束
视图定义:即虚表,就是存储下来的SELECT语句
事务控制
嵌入式SQL和动态SQL

 

数据字典:系统编目(system catalog)

作用:保存数据库服务器上的元数据

保存元数据的数据库有:

information_schema
mysql
performance_schema

元数据包括

关系名称
关系的各字段名称
各字段的数据类型和长度
约束
关系上的视图名称及视图的定义
授权用户名称
用户的授权和帐户信息
统计类的数据
关系字段的个数
关系中的行数
关系的存储方法

SQL语言的数据类型及属性修饰符

字符型1:char,varchar,text等

# 对应可用属性修饰符:
NOT NULL:非空约束
NULL:允许为空
DEFAULT ‘string’:默认值,不适用于text类型
CHARACTER SET ‘字符集’:设定字符集
    查看当前MySQL字符集:show variables like ‘%char%’;
    查看可使用字符集:show character set;
COLLATION:设定字符集的排序规则
    查看可用排序规则:show collation;

字符型2:binary,varbinary,blob等

# 对应可用属性修饰符
NOT NULL,NULL
DEFAULT:不适用于blob类型

整型

# 对应可用属性修饰符:
AUTO_INCREMENT:自动增长(前提:非空、唯一,支持索引,非负值)
UNSIGNED:无符号
NOT NULL,NULL
DEFAULT

浮点型

# 对应可用属性修饰符:
NOT NULL,NULL
DEFAULT
UNSIGNED

日期时间型

# 对应可用属性修饰符:
NOT NULL,NULL
DEFAULT

内置类型

# ENUM和SET的区别
    ENUM:枚举,一般存储字串,只能取其中一个使用
    SET:集合,一般存储单个字符,可组合各字符形成字串使用
# 对应可用属性修饰符:
NOT NULL,NULL
DEFAULT

MySQL中的服务器变量

支持修改的服务器变量

# 一般分类
    动态变量:可在MySQL运行时修改
    静态变量:在配置文件中修改其值,其重启后方能生效
# 从其生效范围来分类
    全局变量:服务器级别,修改之后仅对新建立的会话有效
    会话变量:会话级别,仅对当前会话有效;会话建立时,从全局继承各变量
 

查看服务器变量

# 一般分类
    动态变量:可在MySQL运行时修改
    静态变量:在配置文件中修改其值,其重启后方能生效
# 从其生效范围来分类
    全局变量:服务器级别,修改之后仅对新建立的会话有效
    会话变量:会话级别,仅对当前会话有效;会话建立时,从全局继承各变量

修改服务器变量

# 前提:默认仅管理员有权限修改全局变量
set {global|session} Variable_Name=’Value’;
# 注:无论是全局还是会话级别的动态变量修改,在重启mysqld后都会失效;若想永久生效,可定义在配置文件中的相应段中[mysqld]

MySQL中的数据操作

数据库操作

MySQL 服务器变量 数据操作DML-视图

表操作

创建表

MySQL 服务器变量 数据操作DML-视图

删除表

MySQL 服务器变量 数据操作DML-视图

修改表结构

MySQL 服务器变量 数据操作DML-视图

数据操作

 

包括插入(Insert)替换(Replace)更新(Update)删除(Delete)操作

MySQL 服务器变量 数据操作DML-视图

 

MySQL的视图

本质:视图就是存储下来的select语句

创建视图

create view View_Name as select_clause
# 如 create view stu as select Name,Age,ClassID from students;

显示视图的创建属性

show create view stu;

使用:授权用户权限时,只指定视图,则用户只能查看到视图内的内容,而不能查看全部数据了