一、视图
1.创建视图的命令
CREATE VIEW 视图名
AS
SELECT语句
2.视图上不允许创建索引和触发器
3.可以对视图进行更新操作,但每次的更新操作最多只能影响一个表
4.视图是一个虚表,并不真正的存储数据
5.如果定义视图的SQL语句中包含计算或分组或聚合函数的话,则该视图不允许被更新
6.创建视图的优点:可以提高数据库系统的安全性
二、索引
1.创建索引的命令
CREATE [UNIQUE] INDEX 索引名 ON 表名(列名 [ASC|DESC][……])
例:create index rx_score_index on student(rx_score desc)
2.索引的优、缺点
优点:可以提高查询速度
缺点:会降低对表的更新速度
3.视图上不允许创建索引
4.创建索引的方法有哪些(建表时创建、更新表时添加、专门创建索引的命令)
三、游标
1.定义游标的命令
DECLARE 游标名 CURSOR FOR select语句
2.游标的使用步骤
声明–>打开–>读取–>关闭
四、存储过程
1.定义存储过程的命令
CREATE PROCEDURE 存储过程名
(IN | OUT | INOUT 参数名 数据类型 [,…N])
BEGIN
SQL语句序列
END;
2.可以定义三种参数(IN、OUT、INOUT)
3.可以使用变量
4.需用CALL命令调用执行
5.存储过程不能使用returns命令返回值
五、触发器
1.触发器由相关事件(insert、update、delete)激活而自动执行,不需要人为的调用
2.触发器只能定义在表上
3.触发器不能使用alter语句更新
六、用户管理
1.安装mysql默认创建的用户是哪个?
root 超级管理员账户
2.创建用户的命令
CREATE USER ‘用户名’@'localhost' IDENTIFIED BY '用户密码';
3.修改用户密码
set password for ‘用户名’@’localhost’ = password('新密码');
4.分配权限的命令
GRANT 权限 ON 数据库名.数据表名 TO ‘用户名’@‘localhost’
用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
5.回收权限的命令
REVOKE 权限 ON 数据库名.数据表名 FROM ‘用户名’@‘localhost’
Create user ‘u1’@’localhost’ identified by ‘12345’
Set password for ‘u1’@’localhost’=password(‘45678’)
Grant select,delete on lianxi.stu to ‘u1’@’localhost’
revoke select,delete on lianxi.stu from ‘u1’@’localhost’