IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Python操作mysql -> 正文阅读

[大数据]Python操作mysql

使用mysql官方python驱动

mysql驱动官网下载
安然安装即可

注意

pycharm 创建项目勾选上从全局加载 inherit global site-packages

使用模块

import mysql.connector

创建数据库连接

    # connect(host,port,user,password,database)
    # host 数据库地址
    # port 数据库端口
    # user 用户名
    # password 密码
    # database 库名
    # autocommit 是否自动提交 默认False
    # autocommit 为False时,insert,update,delete等修改操作需要通过con.commit() 才能写入数据库
    config = {
        "host": "xxxx",
        "port": "3306",
        "user": "xxxx",
        "password": "xxxx",
        "database": "sun_riches_test",
        "autocommit": True
    }

    con = mysql.connector.connect(**config)

创建游标

# 数据库操作要在游标上进行
cursor = con.cursor()

执行sql语句

    # 调用游标的execute(sql,params) 执行sql语句 返回的结果存储在游标上
    # params参数填写代表使用预编译,可以防止sql注入&提升使用同一条语句(结构相同,参数不同)多次执行的速度
    # params不为空,要求sql中的参数需要使用占位符%s替代且个数同params中元素个数相同
    # 如:cursor.execute("select name,nickname from admin_users limit %s", (2,))
    # 等价于 cursor.execute("select name,nickname from admin_users limit 2")

    # 一次性执行多条语句可以使用 cursor.executemany(sql,params)
    # 如:cursor.executemany("update admin_users set name = %s where id = %s", [['陈浩南2', 14], ['张三丰2', 15]])

    cursor.execute("select name,nickname from admin_users limit 5")

    # cursor.fetchone() 获取一条返回结果 返回类型tuple
    # 如:('超级管理员', '')

    # cursor.fetchall() 获取所有返回结果 返回类型是list(tuple)
    # 如:[('超级管理员', ''), ('测试账号', 'test'), ('陈楠', 'THINKMAN'), ('李昕妍', 'Lijie520'), ('许钊', 'gavin')]
    result = cursor.fetchall()

关闭连接

con.close()

事务

    # 使用 start_transaction() 开启事务
    # commit() 提交事务
    # rollback() 回滚事务
    try:
        con.start_transaction()
        cursor.execute("update admin_users set name = 'zsf2' where id = 14")
        con.commit()
    except Exception as e:
        print(e)
        if "con" in dir():
            con.rollback()
    finally:
        if "con" in dir():
            con.close()

注意事项

cursor 中的结果要全部取尽才能进行下一个
cursor.execute()
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-04-07 22:46:53  更:2022-04-07 22:49:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 5:35:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码