美文网首页Python入坑与埋坑
Python 操作 MySQL 数据库

Python 操作 MySQL 数据库

作者: 键盘上的演绎者 | 来源:发表于2020-03-31 16:33 被阅读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 数据库的基本增删改查基本完成。

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

    相关文章

      网友评论

        本文标题:Python 操作 MySQL 数据库

        本文链接:https://www.haomeiwen.com/subject/mdgwuhtx.html