先允许博主吐槽一下:python确实做什么比java简单的多,java操作数据库要下载对应的jar包,而且写的语句不仅又臭又长(相比python而言)而且难以理解。本文讲一下python 如何调用mysql数据库的:
正文
(一)在cmd窗口中敲 pip install pymysql,安装这个第三方库。
(二)直接码上(创增删改查)
1.创建表
import pymysql
# 打开数据库连接(ip,用户名,密码,数据库实例)
db = pymysql.connect("localhost", "root", "root", "mp")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
cursor.execute("Drop table if exists AA")
#使用预处理语句创建表
sql = """
create table AA(
id int primary key,
Income float,
sname varchar(10)
)
"""
cursor.execute(sql)
print("创建成功!!!")
cursor.close()
2.增加数据
import pymysql
# 打开数据库连接(ip,用户名,密码,数据库实例)
db = pymysql.connect("localhost", "root", "root", "mp")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# sql = """
# insert into aa values (2,1.1,"wdwd")
# """
sql = " insert into aa values (%s,%s, '%s' )" % (5,2.1,'oio')
try:
#执行sql
cursor.execute(sql)
#提交到数据库执行
db.commit()
print("操作成功!!!")
except:
#如果发生错误则回滚
db.rollback()
print("添加失败,已经回滚!")
#关闭数据库
cursor.close()
3.查询数据
import pymysql
# 打开数据库连接(ip,用户名,密码,数据库实例)
db = pymysql.connect("localhost", "root", "root", "mp")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
#SQl查询语句
sql = "select *from aa where id >= %s" % (3)
try:
#执行sql语句
cursor.execute(sql)
#获取所有记录列表
results = cursor.fetchall()
for row in results:
id = row[0]
Income = row[1]
sname = row[2]
print(" id=%s,Income=%s,sname=%s " % (id,Income,sname) )
except:
print("Error: unable to fetch data")
#关闭数据库链接
db.close()
4.修改数据
import pymysql
# 打开数据库连接(ip,用户名,密码,数据库实例)
db = pymysql.connect("localhost", "root", "root", "mp")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
#SQL更新语句
sql = "Update aa set id=99 where sname = '%s'" % ("oio")
try:
#执行SQL语句
cursor.execute(sql)
#提交到数据
db.commit()
print("修改成功!!!")
except:
#发生错误时回滚
db.rollback()
print("操作失败,且已经回滚了")
# 关闭数据库连接
db.close()
5.删除数据
import pymysql
# 打开数据库连接(ip,用户名,密码,数据库实例)
db = pymysql.connect("localhost", "root", "root", "mp")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
#SQL删除语句
sql = "delete from aa where id = %s " % (3)
try:
#执行SQL语句
cursor.execute(sql)
#提交到数据
db.commit()
print("删除成功!!!")
except:
#发生错误时回滚
db.rollback()
print("操作失败,且已经回滚了")
# 关闭数据库连接
db.close()