登录
首页 >  数据库 >  MySQL

MySQL常用高级操作:视图、事务、账户管理

来源:SegmentFault

时间:2023-01-18 16:41:18 444浏览 收藏

数据库小白一枚,正在不断学习积累知识,现将学习到的知识记录一下,也是将我的所得分享给大家!而今天这篇文章《MySQL常用高级操作:视图、事务、账户管理》带大家来了解一下MySQL常用高级操作:视图、事务、账户管理,希望对大家的知识积累有所帮助,从而弥补自己的不足,助力实战开发!

视图 View

一个View视图是一个

CREATE VIEW 视图名称 AS
    SELECT ... FROM ... WHERE ... ;

定义好后,一个View视图就会成为一个数据库中的“表格”,当我们用

DROP VIEW 视图名称 ;

事务 Transaction

一个事务Transactin代表一个

START TRANSACTION ;

    SELECT ... FROM ... ;
    UPDATE ... SET .... ;
    INSERT INTO ... ;

COMMIT;

(以上的

ROLLBACK ;

事务的四大特性 (ACID)

事务Transaction是保证数据更新100%成功的一种方式。
(注意:事务只是为了增删改而设计的。而单纯的查询,是不需要事务的。)

它具有如下特性:

  • -- 查看user表结构
    DESC user ;
    
    -- 查看所有用户
    USE mysql ;
    SELECT * FROM user ;
    
    -- 查看某用户有哪些权限,如user1
    SHOW GRANTS FOR 'user1'@'主机IP' ;
    
    -- 创建一个用户
    GRANT 权限列表 ON 数据库 TO 数据库账户名@主机IP IDENTIFIED BY '密码' ;
    -- 如:
    GRANT select on mydb1.* to user1@192.168.1.111 IDENTIFIED BY 'password123' ;
    
    -- 修改用户权限
    GRANT select, insert on mydb1 to user1@localhost WITH GRANT OPTIONS ;
    FLUSH PRIVILEDGES ;    -- 刷新,使更改生效
    
    -- 修改密码
    UPDATE user SET authentication_string=password('密码') WHERE user='用户名' ;
    
    -- 删除用户
    DROP USER 用户名@主机IP ;
    -- 或
    -- DELETE FROM user WHERE user='用户名' ;
    FLUSH PRIVILEDGES ;    -- 刷新,使用更改生效

    以上的

    -- 开启时间监控,0为关,1为开
    SET profiles = 1 ;
    
    -- 任意执行一个语句
    SELECT ... FROM ... ;
    
    -- 显示之前那句的执行时间
    SHOW profiles ;

    显示效果如下(包括具体的sql语句和执行时间):

    image

    实际上profiles就是一个简单的表,记录了每一次的sql语句和其执行的时间。

    以上就是《MySQL常用高级操作:视图、事务、账户管理》的详细内容,更多关于mysql的资料请关注golang学习网公众号!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表