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()

pymysql 参数化查询 python 查询数据库_python

更改数据(参数化)

# 更改数据
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()

pymysql 参数化查询 python 查询数据库_sql_02

查询数据(参数化)

# 查询数据
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()

pymysql 参数化查询 python 查询数据库_sql_03

删除数据(参数化)

# 删除数据
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()

pymysql 参数化查询 python 查询数据库_数据库_04

所用数据库

pymysql 参数化查询 python 查询数据库_python_05