pymysql

pymysql python3在线安装:

sudo pip3 install pymysql

pymysql使用流程:

1、建立数据库连接对象(db=pymysql.connect(“root”.
2、创建游标对象cur(操作数据库的对象)
3、游标对象:cur.execute(“insert into sheng …;”)
4、提交到数据库执行 :db.commit()
5、关闭游标对象cur.close()
6、关闭数据库连接对象db.close()

代码1:

import pymysql

db = pymysql.connect(host="localhost",
             user="root",password="123456",
             database="db4",charset="utf8")
#获取到的查询结果 存放在游标对象里
cursor = db.cursor()

try:
    # 1.在sheng表中插入1条记录
    sql_insert = 'insert into sheng(s_name) values("湖北省");'
    cursor.execute(sql_insert)
    # 2.在sheng表中删除id为8的记录
    sql_delete = 'delete from sheng where id=8;'
    cursor.execute(sql_delete)
    # 3.在sheng表中把id为1的记录的省名改为 浙江省
    sql_update = 'update sheng set s_name="浙江省" where id=1;'
    cursor.execute(sql_update)
    # 都执行成功再提交
    db.commit()
    print("ok")
except Exception as e:
#出现报错 事务回滚
    db.rollback()
    print("Failed",e)


data1 = cursor.fetchone()
print(data1)
cursor.close()
db.close()

代码2:

from pymysql import connect

class MysqlHelp:
    def __init__(self,database,host="localhost",
                 user="root",password="123456",
                 charset="utf8",port=3306):
        self.database = database
        self.host = host
        self.user = user 
        self.password = password
        self.charset = charset
        self.port = port

    # 连接数据方法
    def open(self):
        # 创建conn
        self.conn = connect(host=self.host,
                user=self.user,password=self.password,
                database=self.database,
                charset=self.charset,
                port=self.port)
        # 创建游标cur
        self.cur = self.conn.cursor()

    # 关闭
    def close(self):
        self.cur.close()
        self.conn.close()

    # 执行SQL语句
    def workOn(self,sql,L=[]):
        self.open()
        try:
            self.cur.execute(sql,L)
            self.conn.commit()
            print("ok")
        except Exception as e:
            self.conn.rollback()
            print("Failed",e)
        self.close()

    # getAll查询方法
    def getAll(self,sql,L=[]):
        self.open()
        self.cur.execute(sql,L)
        # print("ok")
        result = self.cur.fetchall()
        
        self.close()
        return result

if __name__ == "__main__":
    # 测试
    mysql = MysqlHelp("db4")
    # sql_insert = "insert into sheng(s_name) values('河北省');"
    # mysql.workOn(sql_insert)
    sql_select = "select * from sheng;"
    result = mysql.getAll(sql_select)
    print(result)

mysql数据库的数据备份和数据恢复:

1、数据备份(mysqldump,在Linux终端操作)
1、命令格式
mysqldump -u用户名 -p 源库名 > ***.sql
2、源库名的表示方式
–all-databases 备份所有库
库名 备份1个库
-B 库1 库2 库3 备份多个库
库名 表1 表2 表3 备份多张表
eg:
1、备份所有库,放到mydata目录下 :All.sql
mysqldump -uroot -p --all-databases > All.sql
2、备份db4库中的 sheng、city、xian三张表,db4scx.sql
mysqldump -uroot -p db4 sheng city xian > db4scx.sql
3、备份MOSHOU和db4两个库,md.sql
mysqldump -uroot -p -B db4 MOSHOU > md.sql
2、数据恢复
1、命令格式(Linux终端)
mysql -u用户名 -p 目标库名 < ***.sql
2、从所有库备份All.sql中恢复某一个库
mysql -u用户名 -p --one-database 库名 < All.sql
mysql -uroot -p --one-database db4 < All.sql
3、eg:
1、在db4.sheng添加一条记录
insert into sheng values(null,300000,“黑龙江”);
2、在db4库,新建一张表t888
create table t888(id int);
3、从 db4.sql 恢复db4库
mysql -uroot -p db4 < db4.sql
注意 :
1、恢复库时,如果恢复到原库会将表中数据覆盖,新增表不会删除
2、恢复库时,如果库不存在,则必须先创建空库

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值