加载中…
个人资料
追逐梦想de男孩
追逐梦想de男孩
  • 博客等级:
  • 博客积分:0
  • 博客访问:2,262
  • 关注人气:0
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

python实现对数据库的增删改查

(2018-03-31 15:24:56)
标签:

python

分类: python
############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()

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有