一: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模块的更多相关文章

  1. Python连接MySQL数据库之pymysql模块

    pymysql 在python3.x 中用于连接MySQL服务器的一个库:Python2中则使用mysqldb pymysql的模块的基本的使用 # 导入pymysql模块 import pymysq ...

  2. Python连接MySQL数据库之pymysql模块使用

    安装PyMySQL pip install pymysql PyMySQL介绍 PyMySQL是在python3.x版本中用于连接MySQL服务器的一个库,2中则使用mysqldb. Django中也 ...

  3. Mysql(九):Python连接MySQL数据库之pymysql模块使用

    Python3连接MySQL 本文介绍Python3连接MySQL的第三方库--PyMySQL的基本使用. PyMySQL介绍 PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服 ...

  4. python关于MySQL的API -- pymysql模块

    1.模块安装 pip install pymysql 2.执行sql语句 import pymysql #添加数据 conn = pymysql.connect(host='127.0.0.1', p ...

  5. Python11/23--mysql用户管理/pymysql

    1.mysql用户管理 定义:数据安全是很重要的,不能随便分配root账户,应该按照不同开发岗位分配不同的账户和权限 mysql中将用户相关的数据放在mysql库中 user→db→tables_pr ...

  6. MySQL(十六)之MySQL用户管理

    一.MySQL用户管理概述 MySQL是一个多用户的数据库,MYSQL的用户可以分为两大类: 超级管理员用户(root),拥有全部权限 普通用户,由root创建,普通用户只拥有root所分配的权限 二 ...

  7. MySQL用户管理及SQL语句详解

    1.1 MySQL用户管理 1.1.1 用户的定义 用户名+主机域 mysql> select user,host,password from mysql.user; +--------+--- ...

  8. 库增删该查,表增删该查,记录增删该查,表与表关系(多对多,多对一,一对一),mysql用户管理

    库增删该查 增加库 create database db1 create database db1 charset="gbk 查看库 show databases 查看所有库 show cr ...

  9. 【转】MySQL用户管理及SQL语句详解

    [转]MySQL用户管理及SQL语句详解 1.1 MySQL用户管理 1.1.1 用户的定义 用户名+主机域 mysql> select user,host,password from mysq ...

随机推荐

  1. 吐得了,vue的多选组合框回显必须是字符串集合

    下面这个typeIdList,如果给他赋值,就能回显到页面,但是必须是字符串的集合,如果是数值类型的id,不好意思,请转成字符串

  2. PHP 之CURL请求封装GET、POST、PUT、DELETE

    /** * @Description: curl请求 * @Author: Yang * @param $url * @param null $data * @param string $method ...

  3. linux搭建mysql服务器及可视化工具

    环境: ubutnu 18.4 mysql 5.7 参考: 安装 https://www.cnblogs.com/opsprobe/p/9126864.html 配置用户权限 https://baij ...

  4. CAD动态绘制样条线(com接口)

    主要用到函数说明: _DMxDrawX::SendStringToExecuteFun 把命令当着函数执行,可以传参数.详细说明如下: 参数 说明 IDispatch* pParam 命令参数,IMx ...

  5. Django - 基于orm实现用户增删改查

    1.基于orm实现用户新增 user_info.html中,增加代码: views.py中,在原user_info函数中,增加判断代码: 备注:最后一句,可以通过return redirect 实现, ...

  6. How To:配置Openfiler磁盘

    目录 1.系统登陆 2.启用iSCSI Target服务 3.初始化卷组 4.映射LUN 5.查看状态 1.系统登陆 Openfiler系统安装完毕之后,使用提示的地址登陆:https://172.1 ...

  7. js-2018-11-01 关于break和continue语句

    1.label语句 语法:label: statement 加标签语句一般都要与for语句等循环语句配合使用. 2.break语句 立即退出循环,强制执行循环后面的语句. 3.continue语句 立 ...

  8. 阅读《JavaScript设计模式》第一章心得

    1.明白自己 明白了自己写的代码为什么难懂且臃肿,不方便阅读且效率低.最主要的是为什么整套流程下来只能我一个人写,因为这样的代码根本没有团队力,协同能力差.对js理解的不过透彻. 2.真正的学会对象与 ...

  9. LINQ简记(2):重要概念

    为了能让初学者更快速地掌握,在系列文章中,我尽可能地避开理论讲解,一则对于入门者来说,过多的理论叙述反而会降低大家学习编程的兴趣,二则,官方文档的资料很详细,我说了也是废话.因此,我会尽可能地多举些简 ...

  10. ACDream - Sum

    先上题目: Sum Time Limit: 6000/3000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others) SubmitSta ...