目录
数据库编程(二)
Mysql数据库
创建数据库表
在python程序中,可以使用execute()在数据库中创建一个新表。下面的实例代码演示了在pymysql数据库中创建新表student的过程>
创建表t_student>
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import pymysql
# 创建连接
con = pymysql.connect(host="", user="", password="", database="", port=)
# 创建游标对象
cur=con.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)
)
"""
try:
cur.execute(sql) # 执行创建表的sql
print("创建表成功")
except Exception as e:
print(e)
print("创建表失败")
finally:
con.close()
cur.close()
数据库插入操作
在Python程序中,可以使用SQL语句向数据库中插入新的数据信息>
向t_student表中插入一条数据信息>
import pymysql
# 创建连接
con = pymysql.connect(host="", user="", password="", database="", port=)
# 创建游标对象
cur = con.cursor()
# 编写插入数据的sql
sql ="insert into t_student(sname, age, score) values(%s, %s, %s)"
try:
cur.execute(sql,('小明', 18, 99)) # 执行sql
con.commit() # 提交事务
print("插入成功")
except Exception as e:
print(e)
con.rollback()
print("插入失败")
finally:
con.close()
向t_student表中插入多条数据信息>
import pymysql
# 创建连接
con = pymysql.connect(host="", user="t", password="", database="", port=)
# 创建游标对象
cur = con.cursor()
# 编写插入数据的sql
sql ="insert into t_student(sname, age, score) values(%s, %s, %s)"
try:
cur.executemany(sql, [("小琪", 17, 98), ("小春", 18, 97), ("小周", 19, 96)]) # 执行sql
con.commit() # 提交事务
print("插入成功")
except Exception as e:
print(e)
con.rollback()
print("插入失败")
finally:
con.close()
数据库查询操作
python查询Mysql使用fechone()方法获取单条数据,使用fetchall()方法获取多条数据>
fetchone():该方法获取下一个查询结果集,结果集是一个对象>
fetchall():接收全部的返回结果集>
rowcount:这是一个只读属性,并返回执行execu()方法后影响的行数
查询学生 所有信息>
import pymysql
# 创建连接
con=pymysql.connect(host="", database="", user="", password="", port=)
# 创建游标对象
cur=con.cursor()
# 编写查询所有数据的sql
sql="select * from t_student"
# 执行sql
try:
cur.execute(sql)
# 处理结果集
students=cur.fetchall()
for student in students:
sno=student[0]
sname=student[1]
age=student[2]
score=student[3]
print("sno:",sno,"sname:",sname,"age:",age,"score",score)
print("查询成功")
except Exception as e:
print(e)
con.rollback()
print("查询失败")
finally:
con.close()
查询单个 学生信息 >
import pymysql
# 创建连接
con=pymysql.connect(host="", database="", user="", password="", port=)
# 创建游标对象
cur=con.cursor()
# 编写查询所有数据的sql
sql="select * from t_student"
# 执行sql
try:
cur.execute(sql)
student=cur.fetchone()
sno=student[0]
sname=student[1]
age=student[2]
score=student[3]
print("sno:",sno,"sname:",sname,"age:",age,"score",score)
print("查询成功")
except Exception as e:
print(e)
con.rollback()
print("查询失败")
finally:
con.close()
数据库更新操作
在python程序中,可以使用update语句更新数据库中数据信息
修改数据库中的数据
import pymysql
# 创建连接
con=pymysql.connect(host="", user="", password="", database="", port=)
# 创建游标对象
cur=con.cursor()
# 编写修改数据的sql
sql="update t_student set sname=%s where sno=%s"
# 执行sql语句
try:
cur.execute(sql, ("司宿", 1))
con.commit()
print("修改成功 ")
except Exception as e:
print(e)
con.rollback()
print("修改失败")
finally:
con.close()
删除数据库中的数据
import pymysql
# 创建连接
con=pymysql.connect(host="", user="", password="", database="", port=)
# 创建游标对象
cur=con.cursor()
# 编写删除数据的sql
sql="delete from t_student where sname=%s"
# 执行sql语句
try:
cur.execute(sql, ('司宿'))
con.commit()
print("删除成功 ")
except Exception as e:
print(e)
con.rollback()
print("删除失败")
finally:
con.close()