利用Python访问MySQL数据库----实现增删改查操作

Python访问数据库步骤:

“”"
访问数据库步骤:

1.导入工具 pymysql
2.创建数据库连接 pymysql.connect()
3.创建游标对象 .cursor()
4.编写sql语句
5.执行sql语句
5.1如果是增删改查操作,执行cursor.execute(sql,(‘数据元组’,)),再提交commit()
5.2如果是读操作,执行cursor.execute(),之后使用fetchall()获取返回结果
6.关闭游标对象
7.关闭数据库连接
“”"
【本文所用工程文件已上传至项目文件,可免费下载查看。】

连接MySQL数据库

import pymysql
import datetime

db = pymysql.Connect(host='localhost',  # 主机名
                         port=3306, # 端口名
                         user='root', # 数据库账户
                         password='123456', # 数据库密码
                         db='dbtest',  # 执行数据库
                         charset='utf8')  # 字符集
print("数据库连接成功!")

插入数据(参数化)

def insert_data(name,email,age):
    try:
        cur=db.cursor()
        sql = 'insert into student(name,email,age) values (%s,%s,%s);'
        print("SQL语句为:",sql) # 打印sql语句
        cur.execute(sql,(name,email,age))
        db.commit()
        cur.close()
        print("数据插入成功!")
    except Exception as e:
        print("操作失败,失败信息为:", e)
        db.rollback() #回滚
    finally:
        db.close()
        
def main():
    name=input("请输入name>>:")
    email=input("请输入email>>:")
    age=input("请输入age>>:")
    insert_data(name,email,age)
    
if __name__ == '__main__':
    main()

运行结果

更改数据(参数化)

# 更改数据
def update_data(c_time,name):
    try:
        cur=db.cursor()
        sql='update student set create_time=%s where name=%s;' # 更改时间
        print("SQL语句为:",sql)
        cur.execute(sql,(c_time,name))
        db.commit()
        cur.close()
        print("更新数据成功!")
    except Exception as e:
        print("操作失败,失败信息为:" , e)
        db.rollback()
    finally:
        db.close()

def main():
    name=input("请输入name>>:")
    update_data(datetime.datetime.today(),name)  # 更改时间
    
if __name__ == '__main__':
    main()

运行结果

查询数据(参数化)

# 查询数据
def query_data(name):
    try:
        cur=db.cursor()
        sql='select * from student where name=%s;'
        print("SQL语句为:", sql)
        cur.execute(sql,(name,))
        result=cur.fetchall()
        for row in result:
            name = row[0]
            email = row[1]
            age = row[2]
            create_time=row[3]
            print('查询结果 Name: %s, Email:%s, Age: %s,create_time: %s' % (name, email, age,str(create_time)))
        cur.close()
        print("数据查询成功!")
    except Exception as e:
        print("操作失败,失败信息为:" , e)
    finally:
        db.close()

def main():
    name=input("请输入name>>:")
    query_data(name)
if __name__ == '__main__':
    main()

运行结果

删除数据(参数化)

# 删除数据
def delete_data(name):
    try:
        cur=db.cursor()
        sql='delete from student where name=%s;' # 更改时间
        print("SQL语句为:",sql)
        cur.execute(sql,(name,))
        db.commit()
        cur.close()
        print("数据删除成功!")
    except Exception as e:
        print("操作失败,失败信息为:" , e)
        db.rollback()
    finally:
        db.close()
        
def main():
    name=input("请输入name>>:")
    delete_data(name)
if __name__ == '__main__':
    main()

在这里插入图片描述

所用数据库

在这里插入图片描述

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值