pymysql

  1. 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())
        
  2. 事物和锁(锁住的东西别的用户只能查不能改)

    • 1.begin;开启事物
    • 2.select * from employee where id = 1 for update;# 查询id值,for update 添加行级锁
      1. update emp set salary= 10000 where id= 1;# 完成更新
      1. commit; #提交事物
  3. 数据的备份

    • 表的备份与恢复

      • 备份某个数据库的某些表:
        • 终端执行:mysqldump -uroot -proot 数据库名 表名 > 保存备份文件的绝对路径
      • 备份一个库中所有的表
        • mysqldump -uroot -proot 数据库名 > 保存备份文件的绝对路径
      • 恢复:进入数据库 找到放要恢复表的库 执行 :source 备份表文件绝对路径
    • 库的备份与恢复

      • 备份一个数据库

        mysqldump -uroot -proot --database 数据库名  > 保存备份文件的绝对路径
        
      • 备份多个数据库

        mysqldump -uroot -proot --database 数据库名1 数据库名2 数据库n  > 保存备份文件的绝对路径
        
      • 移库 备份所有库

        ysqldump -uroot -proot --database -all > 保存备份文件的绝对路径
        
      • 恢复 :进入数据库,然后执行:source 备份库文件绝对路径

  4. MySQL的重启关闭启动

    • Mac
      • sudo /usr/local/mysql/suport-file/mysql.server start或者stop或者restart
    • windows
      • net stop(start,restart) mysql.server
原文地址:https://www.cnblogs.com/he-qing-qing/p/13592334.html