Python入坑与埋坑

Python 操作 MySQL 数据库

2020-03-31  本文已影响0人  键盘上的演绎者

首先你要操作数据库,那么您的电脑必须已经安装了数据库了。
如果您还没有安装数据库,别着急,笔者以前的文章已经教大家怎么安装了。往前去找文章安装,然后再回来此篇文章。

笔者所用环境工具:python3解释器、PyCharm编辑器、MySQL数据库、Navicat premium数据库管理工具。

先看一下操作数据库的流程图:


流程图

流程图解读:
检查是否创建Connection对象(数据库连接对象)用于打开数据库连接,创建Cursor对象(游标对象)用于执行查询和获取结果;然后执行SQL语句对数据库进行增删改查等操作并提交事务,此过程如果出现异常则使用回滚技术使数据库恢复到执行SQL语句之前的状态;最后依次销毁Cursor对象和Connection对象,以避免多计算机内存过多的占用和浪费。

接下来直接上代码

第一步:创建user表

#!/usr/local/bin/env python3
# -*- coding: UTF-8 -*-

import pymysql

# 数据库连接
conn = pymysql.connect(host='localhost', user='root', password='123456',database='learn', charset='utf8')

# 获取操作游标
cursor = conn.cursor()

# SQL创建表语句
create_sql="""create table if not exists `user` (
             `user_id` int(11) not null AUTO_INCREMENT,
             `nick_name` varchar(255) not null default 'autor' comment '姓名',
             `avatar` varchar(255) default null comment '头像',
             `sex` int(1) not null default 1 comment '性别',
             `age` int(11) not null default 0 comment '年龄',
             PRIMARY KEY (`user_id`)
           ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1"""

cursor.execute(create_sql)

cursor.close()

conn.close()

运行完上面代码,用Navicat premium打开数据库你会发现多了user表,如图:


user表创建完成

第二步:添加操作
向user表插入1条数据

# SQL插入语句
insert_sql = """insert into user(nick_name, avatar, sex, age)
                         values ('张三', 'avatar_url', 1, 25)"""
# 异常处理
try:
    # 执行SQL语句
    cursor.execute(insert_sql)
    # 提交事务到数据库执行
    # 事务是访问和更新数据库的一个程序执行单元
    conn.commit()
except:
    # 如果发生错误则执行回滚操作
    conn.rollback()

运行结果如下:


插入数据成功

这里为了后面操作体验效果,笔者向数据库插入5条数据


5条数据

第三步:删除操作
向user表删除年龄大于30的数据

delete_sql = 'delete from user where age > 30'
try:
    cursor.execute(delete_sql)
    conn.commit()
except:
    conn.rollback()

运行成功,数据库第5条数据被删掉了。

第四步:更新操作
向user表更新user_id为1的用户名字为:更新名字

update_sql = 'update user set nick_name = "修改名字" where user_id = 1'
try:
    cursor.execute(update_sql)
    conn.commit()
except:
    conn.rollback()

第五步:查找操作

select_sql = "select * from user"
try:
    cursor.execute(select_sql)
    #获取所有的记录列表
    results = cursor.fetchall()
    for row in results:
        print(row)
except:
    print('select except')

运行结果看编辑器控制台:


查找操作

至此,Python 操作 MySQL 数据库的基本增删改查基本完成。

如果文章对你有用,麻烦关注一下或者点点手指喜欢一下
您的支持是笔者最大的动力...
如果有什么问题欢迎留言...

上一篇下一篇

猜你喜欢

热点阅读