python调用pymysql库操作MySQL数据库
1.新建数据库和表
import pymysql
#创建MySQL8.0数据库与表
#创建连接
conn=pymysql.connect(host="localhost",user='root',password='root',database='py_test',port=3306)
# print(conn)
#创建游标对象
cursor=conn.cursor()
#创建sql语句
sql='''create table t_student(
sno int primary key auto_increment,
sname varchar(30) not null,
age int(2),
score float(3,1)
)'''
#执行sql
try:
cursor.execute(sql)
print("创建表成功!")
except BaseException as e:
print(e)
finally:
conn.close()
2.插入数据操作:
import pymysql
#插入数据操作
#创建连接
conn=pymysql.connect(host='localhost',user='root',password='root',database='py_test',port=3306)
#创建游标对象
cursor=conn.cursor()
#创建SQL语句
sql='''insert into t_student(sname,age,score) values(%s,%s,%s)'''
#执行sql语句
try:
#插入一条数据
# cursor.execute(sql, ('小米',11,99.8))
#插入多条数据
args=[('小米',11,99.8),('小明',13,90.5)]
cursor.executemany(sql,args)
#事务提交
conn.commit()
print("插入数据成功")
except BaseException as e:
print(e)
#事务回滚
conn.rollback()
finally:
conn.close()
3.查询数据操作:
import pymysql
#查询数据操作
# 创建连接
conn = pymysql.connect(host='localhost', user='root', password='root', database='py_test', port=3306)
# 创建游标对象
cursor = conn.cursor()
# 创建SQL语句
sql = '''select * from t_student'''
# 执行sql语句
try:
cursor.execute(sql)
#查询一条语句
# student_one=cursor.fetchone(sql)
# print(student_one)
#查询多条数据
student_all=cursor.fetchall()
for student in student_all:
print(student)
print("查询数据成功")
except BaseException as e:
print(e)
finally:
conn.close()
4.更新数据操作:
import pymysql
#更改数据操作
# 创建连接
conn = pymysql.connect(host='localhost', user='root', password='root', database='py_test', port=3306)
# 创建游标对象
cursor = conn.cursor()
# 创建SQL语句
sql = '''update t_student set sname=%s where sno=%s'''
# 执行sql语句
try:
cursor.execute(sql,('Jaskon',1))
conn.commit()
print("更改数据成功")
except BaseException as e:
print(e)
conn.rollback()
finally:
conn.close()
5.删除数据操作:
import pymysql
#删除数据操作
# 创建连接
conn = pymysql.connect(host='localhost', user='root', password='root', database='py_test', port=3306)
# 创建游标对象
cursor = conn.cursor()
# 创建SQL语句
sql = '''delete from t_student where sno=%s'''
# 执行sql语句
try:
cursor.execute(sql,(1,))
conn.commit()
print("删除数据成功")
except BaseException as e:
print(e)
conn.rollback()
finally:
conn.close()
心得:
其实python操作数据库的操作非常简单,基本都是非常少的代码,而且pymysql库操作MySQL的语法与python3自带的sqlite3库操作sqlite数据库非常相似,如果之前学过sqlite操作的同学相信一看就知道该怎么写了。最后本次只是记录一下学习过程。