我是靠谱客的博主 开朗鸡,最近开发中收集的这篇文章主要介绍mysql 创建视图的权限_mysql创建用户视图 事务存储过程 触发器 约束的打怪,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

创建用户

create user 用户名@主机名 identified by '密码’

16c0639cf602a8bff232b04f1c713737.png

说明:

1)Create user 关键字

2)用户名 //登录数据库服务器的名称 mysql –h主机名 –u用户名 –p密码

3)主机名 //可以是域名或IP地址或 ‘%’, 代表任意主机名可以登录数据库服务器

4)“@” //用户名与主机名之间分隔符

5)Identified by //在创建用户时候设置的密码 , 注意设置密码时候 必须 加 引号

37207f8d0de362fa06ab3a0e101343ba.png

查看本机的所有用户

在mysql数据库的user表中

ffbc4cc1529cb289adfb770742ea6b5e.png

65fcfc1478fc00f18fc58864d96d5519.png

b4ab67704a12c83cd3747974a13344da.png

修改用户密码

1)自己修改密码

set password = password(‘新密码’)

dd2420400450d372e391226a7412ad73.png

1)为普通用户修改密码

Set password for 用户名@主机 = password(‘新密码’);

5a17b5bcc98feabff95e369d2aeee582.png

4.删除用户

drop user 用户@主机

99f2b91213a172f769a3c46faab625f4.png

二、权限管理

1.分配权限

Grant 权限列表 on 库.表 to 用户@主机

说明:

1)Grant 授权

2)权限列表: 设置用户可以操作数据库或的权限,如select,update,delete…. , 如果all 代表所有权限.

3)On 库.表名; // on 关键字, 库名.表名 : 对哪个数据库下的表进行设置权限.

4)如果库名.* //库中所有的表

5)如果 all //代表数据库服务器中所有的数据库

6)To //为哪个用户授权.

a767723b23ea2f54d761b182c0bba898.png

3fb337847d55f92550f98119cc6b06d2.png

使用select 执行查询如下图:

4f557aec78e561a52bc72886931dda93.png

be45cad633ed85d0e5d4d372a092a2ad.png

2.取消权限

Revoke 权限列表 on 库.表 from 用户@主机

说明:

1)Revoke 关键字 取消授权

2)From 从哪个用户将权限收回.

3b781ad192a864cba9d99c8f16fab78f.png

676ecbf650f76bc6cfb30f5cfb3bfc5d.png

三、数据库备份与恢复

1.为什么要备份

有不可抗拒的因素,导致数据库损坏. 如果有了备份则可以通过备份的数据进行恢复.

2.使用备份与恢复的命令

1)备份: mysqldump

2)恢复: mysql

3)注意: 以上两个命名是 cmd下执行的. (不用登录数据库服务器)

3.mysqldump单表备份与恢复

备份: mysqldump –h主机 –uroot –proot 库名 表名 > 路径.sql

说明:

1)“>” 将备份的数据放到哪个SQL文件中 “*.sql “

2)在备份单表时, 注意写法, 库名 空格 表名; (不是库名.表名)

d334d327ccfe44f297bf4cdeb7e7f817.png

恢复:mysql –uroot –proot 库名 < 路径.sql

说明:

使用 mysql 这个命令行恢复

2)注意 “

3)注意, 在恢复时, 直接写库名 (在恢复是不加表名);

将tb_stu表删除:

4002d9f6f6e50414cd7c14d3648d9df4.png

恢复一下:

726398e99af2229abe334a460502b012.png

5a0a13ccc332cdd00a7458c6cb873cda.png

4.mysqldump整个数据库备份与恢复

备份: mysqldump –uroot –proot 库名 > 路径.sql

8c4963f6484e96ecffee77e3270aac35.png

恢复:mysql –uroot –proot 库名

删除数据库:

5f4c3a182eb9f43c46bfcd075c729794.png

将db_mytest.sql数据库文件中所有数据进行恢复

在恢复时候,要创建一个新空库, 库名自定义;

Create database db_mytest;

a547f4e88d1f7ca7aa19a4d21d1e12dd.png

使用mysql进行恢复:

52468c1ad78b7b009ebc591de0c6f956.png

登录数据库服务器查看所有数据库:

672fedefcd3d791f63ce633fe7afa6fd.png

bacbbc83b35ffcbcc0122e7086c5ca13.png

四、视图(view)

1.视图的概念

数据库中的视图指的是一个虚拟表,其内容由查询定义。同真实的表一样,视图也是由行与列构成的。视图的数据来源由SQL语句查询得到,不存储数据。

2.视图的创建方法

格式:

Create view 视图的名称 as select 查询 ;

创建一个视图: tb_stu表中 age小于25的所有记录

Create view v_age as select * from tb_stu where age <25;

6cabfb612c857eb0106624a269248383.png

0755b09bb15ab864644159d658e6b123.png

3.查看视图创建语句

0e1ef51fea19a8c95b73de94d709bd29.png

4.查看视图结构

Desc 视图名称

ed72300811b445ba922938de7887d302.png

5.显示所有视图

Select * from information_schema.views G

02a76e393199a8072bba8e67a08dd587.png

6.修改视图

Alter view 视图名称 as select 查询

572e8404b59d211948e78d2738dad238.png

查询(使用)视图

2a58f424104a9443ec9d52edd5359fd6.png

7.更新视图中数据

8f846c63cb53781be70a9184503a7b23.png

8.删除视图

Drop view 视图的名称

b92a63bf8041596cc88f833f0064ee3c.png

9.视图算法

概述: 指的是一个视图是在什么时候执行,依据哪些方式执行

1)Merge合并

合并的执行方式,每当执行的时候,先将视图的sql语句与外部查询视图的sql语句,合并在一起再执行;

格式: create ALGORITHM=MERGE view 视图名称 as SQL查询;

说明: Algorithm 视图定义算法的关键字

1f87e5e3840542abbd1b3493735ba204.png

2)Temptable临时表

临时表模式,每当查询的时候,将视图所使用的select语句生成一个结果的临时表,再在当前的临时表内进行查询。(先执行视图中的SQL语句虚拟表,然后再从这个虚拟表中再执行查询)

格式: create ALGORITHM= TEMPTABLE view 视图名称 as SQL查询;

32194bd10571f2f12f34553940a19389.png

3)Merge, Temptable算法的差异:

实例: 统计表: tb_phone , 同类手机的最高价格的产品?

d3c8ec0358667c9fdd437142b19ba50b.png

39e8472b04d14225186f0f32305bba17.png

10.视图的应用场景

1)应用复杂的SQL语句进行简化语句输入

e7d42a5e97b5f4d4d7cd73864455760b.png2)隐藏某些字段,保护数据

dbed58282b387ec52d33e54f91eab69c.png

五、事务

1.事务的概念

事务(transaction)是一组SQL语句操作,组成这组操作的各个SQL语句,都必须全部执行成功,才有结果. 任意一个SQL语句执行失败,最终结果将不会真正执行.

2.事务与存储引擎

6804207c800851751330791d763ec396.png

3.事务处理

1)开启事务

式: start transaction ; 或 begin transaction;

Mysql默认SQL语句结束符为 “;”, 由于事务中有多条SQL语句,事务还没有结束,此时不能执行SQL语句. 在事务当中,要修改一个默认的SQL语句的结束符;

修改的方法: delimiter 语句结束符 , 语句结束符,可以自己定义, 如: //, ,,,$,??,???

当事务所有SQL语句完成之后,再将结束符修改回来, 再修改结束符为 “;”

Delimiter // 开始

写多条

SQL语句1;

SQL语句2;

……

// 结束

Delimiter ; 再将结束符修改回来

Delimiter //

Sql;

Sql;

//

Delimiter 空格 ;

2)提交事务

delimiter //

update icbc set money=money-500 where name = 'tom';

update icbc set money=money+500 where name = 'jerry';

//

Delimiter ;

dc10777eb6dced46b826f6a590d062f5.png

af4bb5bd42b5fc360aa41383ed1eed73.png

原理: 事务中所有的SQL语句执行成功, 这个修改只是在内存中发生变化 ,而实际数据并没有改变. 对于事务修改原始数据,必须提交的过程, commit ;

77c74dc6bf4687732851fc17206d825c.png

再使用另一个窗口查询:

7faad3e4239bcdc8e3bdd311127c58cf.png

3)回滚事务

470ae0b60066c6ec489be059729c077c.png

013d591c36a7e6845d2667ecd170f789.png

b28bc79073ca10d8e7d51961b5557617.png

e3885c4d9b00d7efab5fa5032e4532be.png

4.事务的特点(ACID)

1)原子性(Atomicity):事务是由一个或一组相互关联的SQL语句组成,这些语句被认为是一个不可分割的单元。

2)一致性(Consistency):对于数据库的修改是一致的,数据库从一个状态到另一个状态

3)隔离性(Isolation):每个事务都有自己的空间,一个事务的执行不被其它事务所干扰

4)持久性(Durability):提交了这个事务之后对数据的修改更新就是永久的。

六、MySQL中函数

1)系统函数

函数的调用方法: select 函数名称([参数])

now();

a3df92f90d4d34d60e7d874dcc6c0109.png

最后

以上就是开朗鸡为你收集整理的mysql 创建视图的权限_mysql创建用户视图 事务存储过程 触发器 约束的打怪的全部内容,希望文章能够帮你解决mysql 创建视图的权限_mysql创建用户视图 事务存储过程 触发器 约束的打怪所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部