mysql用户管理+pymysql模块

mysql 用户管理
Mysql 是一个tcp 服务器 用于接收用户端发送的指令,操作服务器上的文件数据
在mysql自带的mysql数据库中有4个表用于用户管理的
分别是: 优先级从高到低
user -> db -> tables_priv -> columns_priv

1.创建用户
create user 用户名@"主机地址" identified by "密码";
此处的主机地址 不是服务器地址 而是表示 这个账户可以在那台电脑上登录

2. 授权
语法: grant [权限的名称 select insert.... | all ] on 数据库.表名(*.* 表示所有库的表) to 用户名@主机地址 with grant option;
with grant option 这个用户可以将他有的权限授予别的账户
特点: 如果授权时 用户不存在 直接自动创建用户
grant all on mydb1.* to testDBA@"%" identified by "123";

3.删除权限
revoke 权限的名称 on 数据库.表名 from 用户名@"主机名" ;
update mysql.user set Grant_priv = "N" where user ="scote" and host = "localhost";

4.刷新权限表
flush privileges;

5.删除用户
drop user 用户名@"主机地址";


pymysql的使用
Connect链接用
1.与数据库服务器建立链接
2.获取游标对象 (用于发送和接收数据)
3.用游标执行sql语句
4.使用fetch方法来获取执行的结果
5.关闭链接 先关游标 再关链接

Cursor(游标)读写用
1.创建游标 conn.cursor(指定查询结果的数据类型)
2.excute 执行sql
3.fetchone(当sql只有一条记录时) fetchmany(sql有多条并且需要指定条数) fetchall(多条)
4.scroll 用于修改游标的当前位置


commit(提交)和 rollback(撤销)
注意: pymysql模块 默认是启用事务的 你的sql语句 如果不提交 相当于没有执行 也就是说 pymysql 默认不提交修改
但是指的是对表中记录的操作不提交 像删库 删表 是无法撤销的

原文地址:https://www.cnblogs.com/liangchengyang/p/9662753.html