Python 42 mysql用户管理 、pymysql模块
一:mysql用户管理
什么是mysql用户管理
mysql是一个tcp服务器,应用于操作服务器上的文件数据,接收用户端发送的指令,接收指令时需要考虑到安全问题,
ATM购物车中的用户认证和mysql的用户认证原理是一样的,
mysql中把文件称为表
在mysql自带的mysql数据库中有4个表用于管理的
分别是:优先级从高到低
user --> db --> tables_priv --> columns_priv
1、创建用户的语句
2、授权的语句 *******
3、grant [权限的名称 select insert ... | all] on 数据库.表名 to 用户名@主机地址 with grant option;
4、删除权限
5、删除用户
1、创建用户的语句
create user 用户名@"主机地址" identified by "密码";
create user scote@"127.0.0.1" identified by "123";
此处的主机地址不是服务器地址,而是表示这个账户可以在那台 电脑上登录
2、授权的语句 *******
语法:grant [权限的名称 select insert ... | all] on 数据库.表名 to 用户名@用户名@主机地址;
# 授予scote这个用户所有数据库所有表中
grant all on *.* to scote@"localhost"; 可以访问所有库和表
grant all on day41.*to scote@"localhost"; 可以访问day41库的所有表
grant all on day41.stu to scote@"localhost"; 可以访问day41库的stu表
grant select(id,name),insert(id,name) on day41.stu to scote@"localhost"; 仅能查看的添加day41库的stu表中的id和name字段
grant all on mydb.* to testDBA@"%" identified by "123";
3、grant [权限的名称 select insert ... | all] on 数据库.表名 to 用户名@主机地址 with grant option;
with grant option 这个用户可以将他有的权限授予别的账户
特点:如果授权时 用户不存在,直接自动创建用户
4、删除权限
revoke 权限的名称 on 数据库.表名 from用户名@"主机名";
revoke all on *.* from scote@"localhost";
update mysql.user set Grant_priv="N" where user = "scote" and host = "localhost";
*.刷新权限表
flush privileges;
5、删除用户
drop user 用户名@"主机地址";
二:pymysql模块
问:如何能在Python中去使用数据库存取数据?
答:使用pymysql模块
如何使用导入,pymysql使用步骤
核心类Connect连接用和Cursor读写用
1、与数据库服务器建立连接
2、获取游标对象(用于发送和接收数据)
3、用游标执行sql语句
4、使用fetch方法来获取执行的结果
5、关闭连接 先关游标 再关连接
游标的常用方法
1.创建游标 conn.cursor(指定查询结果的数据类型)
2.excute 执行sql
3.fetchone(sql只有一条记录时) many(sql有多条并且需要指定条数) all(多余)
4.scroll 用于修改游标的当前位置
注意:pymysql 默认不提交修改 但是注意(指的是对表中记录的操作不提交) 像删库,删表,是无法撤销的
1 创建连接得到一个连接对象
conn = pymysql.Connect(
host="127.0.0.1", #数据库服务器主机地址
user="root", #用户名
password="nuanixn", #密码
database="day42", #数据库名称
port=3306, #端口号,这是一个整型,可选
charset="utf-8" #编码,可选
)
# 获取游标对象 pymysql.cursors.DictCursor指定,返回的结果类型为字典,默认是元组类型
cursor = conn.cursor(pymysql.cursors.DictCursor)
# 查询数据
#sql = "select *from;" #分号可写可不写,不写的话会默认帮我们加上
sql = "select *from emp"
# 执行sql 如果是select,语句返回的是查询的条数
res = cursor.execute(sql)
print(res)
# 获取查询的结果
#print(cursor.fetchall())
print(cursor.fetchone())
print(cursor.fetchall()) # 像迭代,一个一个往下找
#print(cursor.fetchmany(1))
print(cursor.fetchall())
#print(cursor.scroll(1,)) #找出文件中想要查询的某一个数据
# scroll
print(cursor.fetchone())
cursor.scroll(-1)
print(cursor.fetchall())
# 关闭连接
cursor.close()
conn.close()
Python 42 mysql用户管理 、pymysql模块的更多相关文章
- Python连接MySQL数据库之pymysql模块
pymysql 在python3.x 中用于连接MySQL服务器的一个库:Python2中则使用mysqldb pymysql的模块的基本的使用 # 导入pymysql模块 import pymysq ...
- Python连接MySQL数据库之pymysql模块使用
安装PyMySQL pip install pymysql PyMySQL介绍 PyMySQL是在python3.x版本中用于连接MySQL服务器的一个库,2中则使用mysqldb. Django中也 ...
- Mysql(九):Python连接MySQL数据库之pymysql模块使用
Python3连接MySQL 本文介绍Python3连接MySQL的第三方库--PyMySQL的基本使用. PyMySQL介绍 PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服 ...
- python关于MySQL的API -- pymysql模块
1.模块安装 pip install pymysql 2.执行sql语句 import pymysql #添加数据 conn = pymysql.connect(host='127.0.0.1', p ...
- Python11/23--mysql用户管理/pymysql
1.mysql用户管理 定义:数据安全是很重要的,不能随便分配root账户,应该按照不同开发岗位分配不同的账户和权限 mysql中将用户相关的数据放在mysql库中 user→db→tables_pr ...
- MySQL(十六)之MySQL用户管理
一.MySQL用户管理概述 MySQL是一个多用户的数据库,MYSQL的用户可以分为两大类: 超级管理员用户(root),拥有全部权限 普通用户,由root创建,普通用户只拥有root所分配的权限 二 ...
- MySQL用户管理及SQL语句详解
1.1 MySQL用户管理 1.1.1 用户的定义 用户名+主机域 mysql> select user,host,password from mysql.user; +--------+--- ...
- 库增删该查,表增删该查,记录增删该查,表与表关系(多对多,多对一,一对一),mysql用户管理
库增删该查 增加库 create database db1 create database db1 charset="gbk 查看库 show databases 查看所有库 show cr ...
- 【转】MySQL用户管理及SQL语句详解
[转]MySQL用户管理及SQL语句详解 1.1 MySQL用户管理 1.1.1 用户的定义 用户名+主机域 mysql> select user,host,password from mysq ...
随机推荐
- iOS 中可用的受信任根证书列表
iOS 中可用的受信任根证书列表 iOS 受信任证书存储区中包含随 iOS 一并预装的受信任根证书. 关于信任和证书 以下所列的各个 iOS 受信任证书存储区均包含三类证书: “可信”的证书用于建立信 ...
- 使用No-Conflict模式,其实就是对jQuery进行重命名,再调用。
<script type="text/javascript" src="/jquery/jquery.js"></script>< ...
- 洛谷——P2169 正则表达式
P2169 正则表达式 题目背景 小Z童鞋一日意外的看到小X写了一个正则表达式的高级程序,这个正则表达式程序仅仅由字符“0”,“1”,“.”和“*”构成,但是他能够匹配出所有在OJ上都AC的程序的核心 ...
- Luogu P1041 [2003NOIP提高组]传染病控制
P1041 传染病控制 题目背景 近来,一种新的传染病肆虐全球.蓬莱国也发现了零星感染者,为防止该病在蓬莱国大范围流行,该国政府决定不惜一切代价控制传染病的蔓延.不幸的是,由于人们尚未完全认识这种传染 ...
- 学习MPI并行编程记录
简单的MPI程序示例 首先,我们来看一个简单的MPI程序实例.如同我们学习各种语言的第一个程序一样,对于MPI的第一个程序同样是"Hello Word". /* Case 1 he ...
- 爬虫文件存储:txt文档,json文件,csv文件
5.1 文件存储 文件存储形式可以是多种多样的,比如可以保存成 TXT 纯文本形式,也可以保存为 Json 格式.CSV 格式等,本节我们来了解下文本文件的存储方式. 5.1.1 TXT文本存储 将数 ...
- nexus3的安装和使用
参考:https://www.cnblogs.com/2YSP/p/9533506.html http://www.54tianzhisheng.cn/2017/10/14/Nexus3-Maven/ ...
- Python3 编写登陆接口
题目选自 Alex Python自动化开发之路的题目,我是从C++转学Python的,编写的水平有限,轻喷. 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 首先应该有2个txt文件,包含用户 ...
- Maven学习总结(8)——使用Maven构建多模块项目
Maven学习总结(八)--使用Maven构建多模块项目 在平时的Javaweb项目开发中为了便于后期的维护,我们一般会进行分层开发,最常见的就是分为domain(域模型层).dao(数据库访问层). ...
- 洛谷 P1972 BZOJ 1878 [SDOI2009]HH的项链
题目描述 HH 有一串由各种漂亮的贝壳组成的项链.HH 相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一段贝壳,思考它们所表达的含义.HH 不断地收集新的贝壳,因此,他的项链变得越来越长. ...