Create view web_designers as
Select…
查看视图的内容,可以把她想成一张表:
Select * from web_designers;
什么是视图
1)视图把复杂的查询简化为一个命令,不需要重复创建复杂的联接与子查询;
2)为数据创建视图,可于改变底层表结构时以视图模仿数据库的原始结构,因而无需修改使用旧结构的应用程序;
3)创建视图可以隐藏读者无需看到的信息;
带有CHECK OPTION的视图
检查每个进行INSERT或者DELETE的查询,它根据视图中的where子句来判断这些查询可否执行。
视图使用完毕:
DROP VIEW pb_dimes;
是一群可完成一组共组哦的SQL语句。在事务过程中,如果所有步骤无法不受干扰地完成,则不该完成任何单一步骤。
三种事务工具:
START TRANSACTION; 持续追踪后续所有SQL语句,直到你输入COMMIT或者ROLLBACK为止
COMMIT; 如果所有语句已经妥当,输入commit让一切改变成真
ROLLBACK; 回滚, 回到事务开始前的状态
如何让事务在MySQL下运作
在MySQL下使用事务前,你需要采用正确的存储引擎,存储引擎是存储所有数据库内容和结构的背后功臣,有些存储引擎允许事务有些则不行。
改变存储引擎:alter table your_table type=InnoDB;
根用户:具有所有数据库操控能力。
Set password for 'root'@'localhost'=password('b4dc10');
-- 根用户的名称是‘root’,‘localhost’代表安装与运行SQL软件的机器,password部分是为根用户选择的密码
添加新用户:
Create user elsie -- 用户名称
Identified by'cl3v3r'; -- 这是密码
判断用户的确切需求:
刚刚创建的新用户没有任何权限,GRANT语句可以控制用户对表和列可执行的操作。
Grant select on
Clown_info
To elsie; -- 用户elsie被授予某个表的select权限
GRANT的各种变化
1可用同一个GRANT语句为多位用户设定权限;
WITH GRANT OPTION让用户能把刚获得的权限授予其他用户;
指定用户可于某个表中使用的列,而不是允许用户操作整张表;
一段语句可对表制定超过一种权限;
GRANT ALL把select\update\insert\delete权限都授予用户;
使用database.*可把权限范围运用到数据库中的每张表。
撤销权限:REVOKE
Revoke select on
Clown_info
From elsie;
只撤销WITH GRANT OPTION
Revoke grant option on
Delete on chores
From happy,sleepy;
角色是把特定权限汇集成组没,再把组权限授予一群人的方式。
Create role data_entry; -- 创建角色
Grant select,insert on some_table todata_rntry; -- 为角色授予权限
Grant data_entry to doc; -- 把角色指定给用户
DROP ROLE data_entry; -- 卸除角色
Grant data_entry to doc WITH ADMINOPTION; -- 允许用户把角色授予其他人
REVOKE data_entry from doc CASCADE; -- 撤销角色,连锁反应;RESTRICT ,已把权限授予他人,则连锁的权限都会保留