python 操作MySql数据库
2020-06-09 本文已影响0人
觉释
我的环境Python3.7 Mysql5,7
1、安装MySql
pip3 install PyMySQL
2、MySql 连接数据
import pymysql
db = pymysql.connect("127.0.0.1","root","root","db" ) # 打开数据库连接
cursor.execute("SELECT VERSION()") # 使用 execute() 方法执行 SQL 查询
data = cursor.fetchone() # 使用 fetchone() 方法获取单条数据
print ("Database version : %s " % data)
db.close() # 关闭数据库连接
更多参数
import pymysql
conn = pymysql.connect(
host='127.0.0.1', user='root', password="root",
database='db', port=3306, charset='utf-8',
)
cur = conn.cursor(cursor=pymysql.cursors.DictCursor)
3、插入数据
import pymysql
def insert_db(insert_sql):
"""插入"""
# 建立数据库连接
host="127.0.0.1",
port=3306,
user="root",
passwd="root",
db="db"
)
# 通过 cursor() 创建游标对象
cur = db.cursor()
try:
# 使用 execute() 执行sql
cur.execute(insert_sql)
# 提交事务
db.commit()
except Exception as e:
print("操作出现错误:{}".format(e))
# 回滚所有更改
db.rollback()
finally:
# 关闭游标
cur.close()
# 关闭数据库连接
db.close()
insert_sql = 'insert into user( username, password) values( "张飞", "500")'
insert_db(insert_sql)
4、查询操作
import pymysql
def select_db(select_sql):
"""查询"""
# 建立数据库连接
db = pymysql.connect(
host="127.0.0.1",
port=3306,
user="root",
passwd="root",
db="db"
)
# 通过 cursor() 创建游标对象,并让查询结果以字典格式输出
cur = db.cursor(cursor=pymysql.cursors.DictCursor)
# 使用 execute() 执行sql
cur.execute(select_sql)
# 使用 fetchall() 获取所有查询结果
data = cur.fetchall()
# 关闭游标
cur.close()
# 关闭数据库连接
db.close()
return data
select_sql = 'select * from user whereusername="小张"'
print(select_db(select_sql))
5、删除操作
import pymysql
def delete_db(delete_sql):
"""删除"""
# 建立数据库连接
db = pymysql.connect(
host="127.0.0.1",
port=3306,
user="root",
passwd="root",
db="db"
)
# 通过 cursor() 创建游标对象
cur = db.cursor()
try:
# 使用 execute() 执行sql
cur.execute(delete_sql)
# 提交事务
db.commit()
except Exception as e:
print("操作出现错误:{}".format(e))
# 回滚所有更改
db.rollback()
finally:
# 关闭游标
cur.close()
# 关闭数据库连接
db.close()
delete_sql = 'delete from user whereid = 1'
delete_db(delete_sql)
6、更新操作
import pymysql
def update_db(update_sql):
"""更新"""
# 建立数据库连接
db = pymysql.connect(
host="127.0.0.1",
port=3306,
user="root",
passwd="root",
db="db"
)
# 通过 cursor() 创建游标对象
cur = db.cursor()
try:
# 使用 execute() 执行sql
cur.execute(update_sql)
# 提交事务
db.commit()
except Exception as e:
print("操作出现错误:{}".format(e))
# 回滚所有更改
db.rollback()
finally:
# 关闭游标
cur.close()
# 关闭数据库连接
db.close()
update_sql = 'update user set username = "小例子" WHERE id = 1'
update_db(update_sql)