import pymysql
def opop1():
"""
创建一个表
:return:
"""
try:
db = pymysql.connect(host="localhost", user="root", password="root", database="lzy",charset="utf8")
#host 链接本机 user账户 password密码 database索要打开的库 charestUTF8
print("数据库链接成功!")
cursor = db.cursor()
#使用cursor()方法创建一个游标
cursor.execute("DROP TABLE IF EXISTS booksss")
#使用execute()方法执行SQL,如果表存在则删除
sql = """
CREATE TABLE booksss(
编号 int(8) NOT NULL,
书名 varchar (50) NOT NULL,
作者 varchar (50) NOT NULL,
价格 decimal(10,2) DEFAULT NULL,
出版日期 date DEFAULT NULL
)
"""
#使用预处理语句创建表
cursor.execute(sql)
#执行sql语句
db.close()
#关闭数据库
except pymysql.Error as e:
print("数据库链接失败:"+str(e))
def opop2():
"""
向表里插入信息
:return:
"""
try:
db = pymysql.connect(host="localhost", user="root", password="root", database="lzy",charset="utf8")
#host 链接本机 user账户 password密码 database索要打开的库 charestUTF8
print("数据库链接成功!")
cursor = db.cursor()
#使用cursor()方法创建一个游标
data = [("1","《红楼梦》","曹雪芹","810","1990-1-5"),
("2","《三国演义》","罗贯中","820","1990-6-5"),
("3","《西游记》","吴承恩","801","1990-5-5"),
("4","《水浒传》","施耐庵","803","1990-4-5"),
("5","《神雕侠侣》","金庸","840","1990-2-5")
]
try:
cursor.executemany("insert into booksss(编号,书名,作者,价格,出版日期)values (%s,%s,%s,%s,%s)",data)
#执行sql语句,插入多条数据
db.commit()
#提交数据
except :
db.rollback()
#发生错误时回滚
db.close()
#关闭数据库连接
except pymysql.Error as e:
print("数据库链接失败:"+str(e))
def opop3():
"""
查询数据
:return:
"""
db = pymysql.connect(host="localhost", user="root", password="root", database="lzy", charset="utf8")
# host 链接本机 user账户 password密码 database索要打开的库 charestUTF8
print("数据库链接成功!")
cursor = db.cursor()
# 使用cursor()方法创建一个游标
cursor.execute("select * from booksss;")
while 1:
res = cursor.fetchone()
if res is None:
# 表示已经取完结果集
break
print(res)
cursor.close()
db.commit()
db.close()
print('sql执行成功')
def opop4():
"""
删除数据
:return:
"""
db = pymysql.connect(host="localhost", user="root", password="root", database="lzy", charset="utf8")
# host 链接本机 user账户 password密码 database索要打开的库 charestUTF8
print("数据库链接成功!")
cursor = db.cursor()
# 删除前查询所有数据
cursor.execute("select * from booksss;")
print('删除前的数据为:')
for res in cursor.fetchall():
print(res)
print('*' * 40)
# 删除1条数据
sql = "delete from booksss where 作者 like '施耐庵';"
cursor.execute(sql)
# 删除后查询所有数据
cursor.execute("select * from booksss;")
print('删除后的数据为:')
for res in cursor.fetchall():
print(res)
cursor.close()
db.commit()
db.close()
print('sql执行成功')
def opop5():
"""
修改数据
:return:
"""
db = pymysql.connect(host="localhost", user="root", password="root", database="lzy", charset="utf8")
# host 链接本机 user账户 password密码 database索要打开的库 charestUTF8
print("数据库链接成功!")
cursor = db.cursor()
# 修改前查询所有数据
cursor.execute("select * from booksss;")
print('修改前的数据为:')
for res in cursor.fetchall():
print(res)
print('*' * 40)
# 更新表中第1条数据
cursor.execute("update booksss set 作者 = '李自扬' where 编号=3")
# 修改后查询所有数据
cursor.execute("select * from booksss;")
print('修改后的数据为:')
for res in cursor.fetchall():
print(res)
cursor.close()
db.commit()
db.close()
print('sql执行成功')
if __name__ == '__main__':
opop5()