-
pymysql
-
Pymysql 操作MySQL数据库
-
连接:
import pymysql conn = pymysql.connect(host='127.0.0.1',user='root',password='root',db='day40')
-
获取游标
cur = conn.cursor()
-
执行SQL(增删改查)
sql = '......' cur.execute(sql)
-
获取结果
cur.fetchone() cur.fetchmany(num) cur.fetchall()
-
如果涉及到修改:需要提交
conn.commit()
-
关闭游标:cur.close()
-
关闭库:conn.close()
-
-
SQL注入
-
传参数,注意SQL注入的问题,参数通过execute方法来传
import pymysql user = input('username:') pwd = input('password:') conn = pymysql.connect(host='127.0.0.1', user='root', password='root', db='day40') cur = conn.cursor() sql = 'select * from userinfo where username = %s and password = %s' cur.execute(sql, (user, pwd)) print(cur.fetchone())
-
-
-
事物和锁(锁住的东西别的用户只能查不能改)
- 1.begin;开启事物
- 2.select * from employee where id = 1 for update;# 查询id值,for update 添加行级锁
-
- update emp set salary= 10000 where id= 1;# 完成更新
-
- commit; #提交事物
-
数据的备份
-
表的备份与恢复
- 备份某个数据库的某些表:
- 终端执行:mysqldump -uroot -proot 数据库名 表名 > 保存备份文件的绝对路径
- 备份一个库中所有的表
- mysqldump -uroot -proot 数据库名 > 保存备份文件的绝对路径
- 恢复:进入数据库 找到放要恢复表的库 执行 :source 备份表文件绝对路径
- 备份某个数据库的某些表:
-
库的备份与恢复
-
备份一个数据库
mysqldump -uroot -proot --database 数据库名 > 保存备份文件的绝对路径
-
备份多个数据库
mysqldump -uroot -proot --database 数据库名1 数据库名2 数据库n > 保存备份文件的绝对路径
-
移库 备份所有库
ysqldump -uroot -proot --database -all > 保存备份文件的绝对路径
-
恢复 :进入数据库,然后执行:source 备份库文件绝对路径
-
-
-
MySQL的重启关闭启动
- Mac
- sudo /usr/local/mysql/suport-file/mysql.server start或者stop或者restart
- windows
- net stop(start,restart) mysql.server
- Mac