Python3操作MySQL数据库
程序员文章站
2023-09-28 21:58:05
在Python3中操作MySQL数据库 在Python3中使用mysql数据库需要安装pymysql库 操作MySQL 导包 第一步:打开数据库连接 第二步:创建游标 第三步:操作数据库 1、创建表 2、查询数据 1. Python查询Mysql使用 fetchone() 方法获取单条数据, 使用f ......
在python3中操作mysql数据库
在python3中使用mysql数据库需要安装pymysql库
pip install pymysql
操作mysql
导包
import pymysql
第一步:打开数据库连接
db = pymysql.connect(host="数据库地址", user="用户名", password="密码", port="端口", database="数据库名", charset='utf8')
第二步:创建游标
cursor = db.cursor()
第三步:操作数据库
1、创建表
# 如果数据表已经存在使用execute()方法删除表。 cursor.execute("drop table if exists employee") # 创建数据表sql语句 sql = """create table employee ( first_name char(20) not null, last_name char(20), age int, sex char(1), income float )""" cursor.execute(sql)
2、查询数据
- python查询mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。
- fetchone(): 该收全部的返回结果行.
- rowcount: 这是方法获取下一个查询结果集。结果集是一个对象
- fetchall():接一个只读属性,并返回执行execute()方法后影响的行数。
# sql 查询语句 sql = "select * from employee where income > {}".format(1000) try: # 执行sql语句 cursor.execute(sql) # 获取所有记录列表 results = cursor.fetchall() for row in results: fname = row[0] lname = row[1] age = row[2] sex = row[3] income = row[4] # 打印结果 print("fname={},lname={},age={},sex={},income={}".format(fname, lname, age, sex, income)) except: print("error: unable to fecth data")
3、添加数据
# sql 插入语句 sql = """insert into employee(first_name, last_name, age, sex, income) values ('mac', 'mohan', 20, 'm', 2000)""" try: cursor.execute(sql) # 提交到数据库执行 db.commit() except: # 发生错误时回滚 db.rollback()
4、修改数据
# sql 更新语句 sql = "update employee set age = age + 1 where sex = '{}'".format('m') try: cursor.execute(sql) # 提交到数据库执行 db.commit() except: # 发生错误时回滚 db.rollback()
5、删除数据
# sql 刪除语句 sql = "delete from employee where age > {}".format(20) try: cursor.execute(sql) # 提交到数据库执行 db.commit() except: # 发生错误时回滚 db.rollback()
第四步:关闭游标,数据库连接
cursor.close() db.close()