SQL学习笔记(6)之DCL语句和事务

来源:互联网 发布:流量挂机赚钱软件 编辑:程序博客网 时间:2024/06/09 19:48

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三个关键字完成。

事务要么成功,要么失败,它是一个不可分割的工作单位;若在执行过程中失败通过回滚可回到最初状态。

 commitTRAN 提交事务;

 roolbackTRAN 回滚事务,将发生的都忘记,回到起点;

savepoint:创建一个特定标记符,只允许部分回滚。


view视图:

在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表。逻辑表;

视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库中的真实的表中的字段。我们可以向视图添加 SQL 函数、WHERE 以及 JOIN 语句,我们也可以提交数据,就像这些来自于某个单一的表。

注释:数据库的设计和结构不会受到视图中的函数、where 或 join 语句的影响。

SQL CREATE VIEW 语法

CREATE VIEW view_name ASSELECT column_name(s)FROM table_nameWHERE condition


function函数:用于完成一次特定的计算,具有返回值

procedure存储过程:用于完成一次完整的业务处理,没有返回值,但可以通过传出参数将多个值传给调用环境
trigger触发器:相当于一个事件监听器,当数据库发生特定事件后,触发器被触发,完成相应的处理。


上文参考:http://www.cnblogs.com/hcbin/archive/2010/04/23/1718379.html

http://www.w3school.com.cn/sql/sql_view.asp




0 0
原创粉丝点击