MySQL第42天------子查询、mysql用户管理、pymysql模块
一、子查询
定义:将一个查询的结果作为下一次查询的条件或原数据,又称为内查询
用途:当你的需求一次查询无法得到你想要的结果的时候,但子查询能做的事情,多表查询也能做
二、mysql用户管理
原因:MySQL是一个tcp服务器,用于操作服务器上的文件数据,接受用户端发送的指令,接收指令时需要考虑安全问题
用于用户管理的表:优先级排序 user>db>tables_priv>columns_priv
创建用户的语句:create user 用户名@"主机地址" identified by "密码";这里的主机地址只是指客户端地址,不是指服务端地址
授权语句:grant [权限的名称 select insert...|all] on 数据库.表名 to 用户名@主机地址;所有权限用*.*
转移权限:在授权的最后加上with grant option 转移权限时,如果用户不存在,则直接创建
删除权限:revoke 权限名称 on 数据库.表名 from 用户名@"主机名";
刷新权限:flush privileges;
删除用户:drop user 用户名@"主机地址"
三、pymysql
使用步骤:核心类 Connect链接用 和Cursor读写用
1.与数据库建立链接
2.获取游标对象(用于发送和接受数据)
3.用游标执行sql语句
4.使用fetch方法来获取执行的结果
5.关闭链接,先关游标,再关链接
游标常用方法:1.创建游标 conn.cursor(指定查询结果的数据类型)
2.excute 执行sql
3.fetchone(当sql只有一条记录时) many(sql有多条并且需要指定条数)
4.scroll用于修改游标的当前位置