DCL语句(Data Control Language,数据控制语言):主要由grant和revoke关键字完成
(1)grant:MySQL 赋予用户权限命令
语法:grant 权限 on 数据库对象to 用户
eg、
一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。
grant select on testdb. * to common_user@ ' % '
grant insert on testdb. * to common_user@ ' % '
grant update on testdb. * to common_user@ ' % '
grant delete on testdb. * to common_user@ ' % '
或者,用一条 MySQL 命令来替代:
grant select , insert , update , delete on testdb. * to common_user@ ' % '
查看当前用户(自己)权限:
show grants;
查看其他 MySQL 用户权限:
show grants for dba @localhost ;
(2)revoke:撤销已经赋予给 MySQL 用户权限的权限。
revoke 跟 grant 的语法差不多,只需要把关键字 “to” 换成 “from” 即可:
grant all on * . * to dba @localhost ;
revoke all on * . * from dba @localhost ;
1. grant, revoke 用户权限后,该用户只有重新连接 MySQL 数据库,权限才能生效。
2. 如果想让授权的用户,也可以将这些权限 grant 给其他用户,需要选项 “grant option“
grant select on testdb. * to dba @localhost with grant option ;
事务控制:主要由commit,roolback和savepoint三个关键字完成。
事务要么成功,要么失败,它是一个不可分割的工作单位;若在执行过程中失败通过回滚可回到最初状态。
commit TRAN 提交事务;
roolback TRAN 回滚事务,将发生的都忘记,回到起点;
savepoint:创建一个特定标记符,只允许部分回滚。
view视图:
在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表。逻辑表;
视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库中的真实的表中的字段。我们可以向视图添加 SQL 函数、WHERE 以及 JOIN 语句,我们也可以提交数据,就像这些来自于某个单一的表。
注释:数据库的设计和结构不会受到视图中的函数、where 或 join 语句的影响。
SQL CREATE VIEW 语法
CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition
function函数:用于完成一次特定的计算,具有返回值
procedure存储过程:用于完成一次完整的业务处理,没有返回值,但可以通过传出参数将多个值传给调用环境
trigger触发器:相当于一个事件监听器,当数据库发生特定事件后,触发器被触发,完成相应的处理。
上文参考:http://www.cnblogs.com/hcbin/archive/2010/04/23/1718379.html
http://www.w3school.com.cn/sql/sql_view.asp