python PyMySQL模块

本文介绍了如何使用Python的PyMySQL模块进行数据库的安装、连接、创建表、操作数据(包括插入、查询、更新和删除)、数据备份及恢复,以及事务和锁的使用。
摘要由CSDN通过智能技术生成

数据库的安装和连接

PyMySQL的安装

pip3 install PyMySQL

python连接数据库

import pymysql

db = pymysql.connect("数据库ip","用户","密码","数据库" ) # 打开数据库连接
cursor.execute("SELECT VERSION()")                    # 使用 execute() 方法执行 SQL 查询,cursor是游标,就是当前在表中所执行到的位置。就像光标一样,光标所在的位置就是下一次将要插入的位置
data = cursor.fetchone()                              # 使用 fetchone() 方法获取单条数据
print ("Database version : %s " % data)
cursor.close()                                        # 关闭游标
db.close()                                            # 关闭数据库连接

更多参数
import pymysql

conn = pymysql.connect(
        host='localhost', user='root', password="root",
        database='db', port=3306, charset='utf-8',
)

cur = conn.cursor(cursor=pymysql.cursors.DictCursor)  # {'user': 'kevin', 'password': '123456'}字典形式

创建表操作

import pymysql

db = pymysql.connect('127.0.0.1','root','123456','stu_info') # 打开数据库连接
cursor = db.cursor()   # 使用 cursor() 方法创建一个游标对象 cursor
cursor.execute('drop table if exists employee')   # 使用 execute() 方法执行 SQL,如果表存在则删除
sql = "create table employee(first_name varchar(20) not null, \  # 创建表
       last_name varchar(20), \
       age int, \
       sex varchar(1))"
cursor.execute(sql)
cursor.close()    # 关闭游标
db.close()       # 关闭数据库连接

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mVaxz4tK-1605166741005)(../../../Typora/Image/image-20201112144246969.png)]

操作数据

插入操作

import pymysql

db = pymysql.connect('127.0.0.1','root','123456','stu_info')
cursor = db.cursor()
# 使用预处理语句创建表
sql = """insert into employee(           
                first_name,last_name,age,sex)
                values ('Mac','Mohan',20,'M')"""
try:
    cursor.execute(sql)
    db.commit()    # 提交到数据库执行,若没有此操作的话插入数据只是在内存中执行,并不会再数据库中插入
except:
    db.rollback()  # 如果发生错误则回滚,即上面的插入数据操作不生效
cursor.close()
db.close()

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Kpso2sXk-1605166741009)(../../../Typora/Image/image-20201112145120331.png)]

查询操作

Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。

  • fetchone(): 该方法获取下一个查询结果集。结果集是一个对象
  • fetchall(): 接收全部的返回结果行.
  • rowcount: 这是一个只读属性,并返回执行execute()方法后影响的行数。
# mysql> alter table employee add income int not null; # 添加列
# mysql> update employee set income=8000; # 更新数据
# mysql> insert into employee values('Audi','A8',80,'M',20000); 插入数据
# mysql> insert into employee values('Landrover','lh',60,'M',10000);

import pymysql

db 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值