欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python MySQL增删改查

程序员文章站 2022-05-30 12:29:03
...

安装第三方包

使用前需安装第三包,安装命令如下,或者下载离线包安装:下载地址https://pypi.org/project/PyMySQL/#files

pip install PyMySQL

创建数据库

我看到很多人都有些增删改查等,但很少有人写怎么创建数据库的,如下就是创建、删除数据的

def ceartDatabase():
    db = pymysql.connect(host='localhost',user='root', password='root', port=3306, charset='utf8')
    cursor = db.cursor()
    # 检查数据库py_test,如果存在则删除
    cursor.execute("drop database if exists py_test")
    # 创建数据库py_test
    cursor.execute("create database py_test")
    # 关闭游标链接
    cursor.close()
    # 关闭数据库服务器连接,释放内存
    db.close()
    print('已创建数据库py_test')

创建MySQL表


def ceartTable(cursor):
    sql = '''CREATE TABLE IF NOT EXISTS fy_test(
        id INT PRIMARY KEY AUTO_INCREMENT,
        name VARCHAR(45) NOT NULL,
        age VARCHAR(45) NULL
        )'''
    cursor.execute(sql)
    print('已创建表fy_test')

增删改查

commit()方法,在对数据进行 增 删 改 的时候使用,。

# 增加数据
def insertData(db, cursor):
    sql = '''INSERT INTO fy_test(name, age) VALUES 
    ('张三1', '17'),
    ('李四', '42'),
    ('李四1', '28'),
    ('李四2', '21'),
    ('李四3', '24'),
    ('张三2', '52');'''
    try:
        # 执行sql语句
        cursor.execute(sql)
        # 提交更新
        db.commit()
        print('成功添加数据')
        print("第一次插入数据的ID是 ",cursor.lastrowid)
    except:
        # 发生错误时回滚
        db.rollback()

# 删除数据
def deleteRecord(db,cursor, table, key, value):
    #sql = 'delete from ' + table + 'where ' + kry + '=' + value
    sql = 'delete from {} where {}="{}"'.format(table, key, value)
    cursor.execute(sql)
    db.commit()
    print('成功删除%d条数据' %cursor.rowcount)

# 修改数据
def updateRecord(db, cursor, table, key1, value1, key2, value2):
    sql = 'update {} set {}="{}" where {}="{}"'.format(table, key1, value1, key2, value2)
    cursor.execute(sql)
    db.commit()
    print('成功修改%d条数据!' %cursor.rowcount)

# 查找数据
def findRecord(cursor, table):
    sql = 'select * from {}'.format(table)
    num = cursor.execute(sql)
    result = cursor.fetchall()
    print('查找到%d条数据!' %num)
    for row in result:
        print(row[0], row[1], row[2])
    return result

如下是主函数

if __name__ == '__main__':
    
    # 创建数据库
    ceartDatabase() 
    
    db = pymysql.connect(
        host='localhost',
        user='root', 
        password='root', 
        db='py_test', 
        port=3306,
        charset='utf8')
    
    cursor = db.cursor()
    
    # 创建表
    ceartTable(cursor) 
    # 增加
    insertData(db, cursor) 
    # 删除
    deleteRecord(db,cursor, 'fy_test', 'name', '张三2')
    # 修改
    updateRecord(db, cursor, 'fy_test', 'name', '王麻子', 'name', '张三1')
    # 查询
    findRecord(cursor, 'fy_test')
    
    # 关闭游标链接
    cursor.close()
    # 关闭数据库服务器连接,释放内存
    db.close()

本文只介绍了基本的增删改查,跟多的用法及实例待以后分享给大家。

转载于:https://www.jianshu.com/p/ba08dae75bc9