Python进阶学习_操作Mysql数据库增删改查

安装第三方模块pymysql

# 安装
pip3 install pymysql

# 导入
import pymysql

1.连接

# 创建连接
db = pymysql.connect(host='116.62.13.104', port=3306, user='root', passwd='123456',database='python', charset='utf8')
# 使用 cursor() 方法创建一个游标对象 cursor  
cursor = db.cursor()

2.查询所有数据

这是数据库中的数据
在这里插入图片描述

# 使用 execute()  方法执行 SQL 查询
cursor.execute("SELECT * FROM user")
# 使用 fetchall() 方法获取所有数据. 返回的是元组类型
data = cursor.fetchall()
print("所有数据:", data,type(data))
print("元组长度:",len(data))
# 获取元组中的第一个元素           
print(data[0])
# 遍历元素数据
for item in data:
    print(item)
# 关闭数据库连接  
db.close()

在这里插入图片描述

3.添加数据

def insert(user_id,user_name,user_age):
    # sql 的第一种格式
    # sql = "INSERT INTO user(`id`,`name`,`age`) VALUES ('%d', '%s', '%d')"%(user_id,user_name,user_age)
    # sql 的第二种格式
    # sql = "INSERT INTO user(`id`,`name`,`age`) VALUES ('{0}', '{1}', '{2}')".format (user_id, user_name, user_age)
    # sql 的第三种格式
    sql = f"INSERT INTO user(`id`,`name`,`age`) VALUES ('{user_id}', '{user_name}', '{user_age}')"

    try:
        # 执行sql语句
        print(sql)
        cursor.execute(sql)
        # 提交到数据库执行
        db.commit()
    except:
        print('数据插入失败!')
        # 如果发生错误则回滚
        db.rollback()
        traceback.print_exc()


if __name__ == '__main__':
    insert(5,'周星驰',52)
    show()
    # 关闭数据库连接
    db.close()

在这里插入图片描述

4.修改数据

def update(user_id,user_name,user_age):
    sql = f"UPDATE user SET `name` = '{user_name}' ,`age` = '{user_age}' WHERE `id` = '{user_id}' "
    try:
        # 执行sql语句
        print(sql)
        cursor.execute(sql)
        # 提交到数据库执行
        db.commit()
    except:
        print('数据插入失败!')
        # 如果发生错误则回滚
        db.rollback()
        traceback.print_exc()



if __name__ == '__main__':
    # insert(5,'周星驰',52)
    show()
    update(5,'周星星',53)
    show()
    # 关闭数据库连接
    db.close()

在这里插入图片描述

5.删除数据

def delete(user_id):
    sql = f"DELETE FROM user WHERE `id` = '{user_id}' "
    try:
        # 执行sql语句
        print(sql)
        cursor.execute(sql)
        # 提交到数据库执行
        db.commit()
    except:
        print('数据插入失败!')
        # 如果发生错误则回滚
        db.rollback()
        traceback.print_exc()


if __name__ == '__main__':
    # insert('哈哈哈',52)
    # show()
    # update(5,'周星星',53)
    show()
    # 关闭数据库连接
    delete(7)
    show()
    db.close()

在这里插入图片描述

完整代码

# author: LiuShihao
# data: 2020/12/3 1:42 下午
# youknow: 各位老铁,我的这套代码曾经有人出价三个亿我没有卖,如今拿出来和大家分享,不求别的,只求大家免费的小红心帮忙点一点,这里谢过了。
# desc: Python操作MySQL数据库增删改查
import pymysql
import traceback
# 连接数据库
# db = pymysql.connect("116.62.13.104", "root", "123456", "python")
db = pymysql.connect(host='116.62.13.104', port=3306, user='root', passwd='123456',database='python', charset='utf8')
cursor = db.cursor()
def show():
    cursor.execute("SELECT * FROM user")
    data = cursor.fetchall()
    for item in data:
        print(item)

def insert(user_name,user_age):
    # sql 的第一种格式
    # sql = "INSERT INTO user(`id`,`name`,`age`) VALUES ('%d', '%s', '%d')"%(user_id,user_name,user_age)
    # sql 的第二种格式
    # sql = "INSERT INTO user(`id`,`name`,`age`) VALUES ('{0}', '{1}', '{2}')".format (user_id, user_name, user_age)
    # sql 的第三种格式
    # sql = f"-- INSERT INTO user(`id`,`name`,`age`) VALUES ('{user_id}', '{user_name}', '{user_age}')"
    sql = f"INSERT INTO user(`name`,`age`) VALUES ( '{user_name}', '{user_age}')"
    try:
        # 执行sql语句
        print(sql)
        cursor.execute(sql)
        # 提交到数据库执行
        db.commit()
    except:
        print('数据插入失败!')
        # 如果发生错误则回滚
        db.rollback()
        traceback.print_exc()
def update(user_id,user_name,user_age):
    sql = f"UPDATE user SET `name` = '{user_name}' ,`age` = '{user_age}' WHERE `id` = '{user_id}' "
    try:
        # 执行sql语句
        print(sql)
        cursor.execute(sql)
        # 提交到数据库执行
        db.commit()
    except:
        print('数据插入失败!')
        # 如果发生错误则回滚
        db.rollback()
        traceback.print_exc()
def delete(user_id):
    sql = f"DELETE FROM user WHERE `id` = '{user_id}' "
    try:
        # 执行sql语句
        print(sql)
        cursor.execute(sql)
        # 提交到数据库执行
        db.commit()
    except:
        print('数据插入失败!')
        # 如果发生错误则回滚
        db.rollback()
        traceback.print_exc()


if __name__ == '__main__':
    # insert('哈哈哈',52)
    # show()
    # update(5,'周星星',53)
    show()
    # 关闭数据库连接
    delete(7)
    show()
    db.close()
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Liu_Shihao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值