############python实现数据表的增删改查。这里使用的是MySQL数据库
import pymysql
# 建立数据库连接
conn = pymysql.Connect(
host='localhost',
port=3306,
user='root',
##数据库用户名
passwd='123456',
##密码
db='my_person',
##连接到的数据库名称
charset='utf8'
)
# 获取游标
cursor = conn.cursor()
# print(conn)
# print(cursor)
while True:
print("对数据库的操作:1、查询数据库;2、插入操作;3、修改操作;4、删除操作。输入‘q’结束操作。")
num =
input("输入操作:")
if num=='1':
# 1、从数据库中查询
# sql="INSERT INTO
login(user_name,pass_word)"
sql = "SELECT *FROM test"
# cursor执行sql语句
cursor.execute(sql)
# 打印执行结果的条数
print("查询到的数据总数:")
print(cursor.rowcount)
# 使用fetch方法进行遍历结果
总共有三条数据
# rs=cursor.fetchone()#将第一条结果放入rs中
# re=cursor.fetchmany(3)#将多个结果放入re中
rr = cursor.fetchall() #
将所有的结果放入rr中
# 对结果进行处理
for row in rr:
print("ID是:=%s, 姓名是:=%s, 密码是:=%s,名字:=%s" % row)
#
print(re)#输出两条数据,因为fetch()方法是建立在上一次fetch()方法基础上的
elif num =='2':
zh = input("输入修改username:")
mm = input("输入修改password:")
mz = input("输入修改name:")
# 2数据库中插入数据
sql_insert = "INSERT INTO
test(username,password,name)
values('"+zh+"','"+mm+"','"+mz+"')"
# 执行语句
cursor.execute(sql_insert)
# 事务提交,否则数据库得不到更新
conn.commit()
print(cursor.rowcount)
elif num=='3':
xn =input("修改的ID:")
xm =input("修改信息:")
# /3、修改数据库中的内容
sql_update = "UPDATE test SET username='"+xm+"'
WHERE id="+xn+""
cursor.execute(sql_update)
conn.commit()
elif num=='4':
sn = input("删除ID编号:")
# 4、删除数据库中的内容,并利用try catch语句进行事务回滚
try:
sql_delete
= "DELETE FROM test WHERE id="+sn+""
cursor.execute(sql_delete)
conn.commit()
except Exception as e:
print(e)
#
事务回滚,即出现错误后,不会继续执行,而是回到程序未执行的状态,原先执行的也不算了
conn.rollback()
elif num=='q':
break
# 数据库连接和游标的关闭
conn.close()
cursor.close()
加载中,请稍候......