第七篇:Python3连接MySQL

连接数据库

注意事项

在进行本文以下内容之前需要注意:

你有一个MySQL数据库,并且已经启动。

你有可以连接该数据库的用户名和密码

你有一个有权限操作的database

基本使用

# 导入pymysql模块

import pymysql

# 连接database

conn = pymysql.connect(host=“你的数据库地址”, user=“用户名”,password=“密码”,database=“数据库名”,charset=“utf8”)

# 得到一个可以执行SQL语句的光标对象

cursor = conn.cursor()

# 定义要执行的SQL语句

sql = """

CREATE TABLE USER1 (

id INT auto_increment PRIMARY KEY ,

name CHAR(10) NOT NULL UNIQUE,

age TINYINT NOT NULL

)ENGINE=innodb DEFAULT CHARSET=utf8;

"""

# 执行SQL语句

cursor.execute(sql)

# 关闭光标对象

cursor.close()

# 关闭数据库连接

conn.close()

增删改查操作

# 导入pymysql模块

import pymysql

# 连接database

conn = pymysql.connect(host=“你的数据库地址”, user=“用户名”,password=“密码”,database=“数据库名”,charset=“utf8”)

# 得到一个可以执行SQL语句的光标对象

cursor = conn.cursor()

sql = "INSERT INTO USER1(name, age) VALUES (%s, %s);"

username = "Alex"

age = 18

# 执行SQL语句

cursor.execute(sql, [username, age])

# 提交事务

conn.commit()

cursor.close()

conn.close()

插入数据失败回滚

# 导入pymysql模块

import pymysql

# 连接database

conn = pymysql.connect(host=“你的数据库地址”, user=“用户名”,password=“密码”,database=“数据库名”,charset=“utf8”)

# 得到一个可以执行SQL语句的光标对象

cursor = conn.cursor()

sql = "INSERT INTO USER1(name, age) VALUES (%s, %s);"

username = "Alex"

age = 18

try:

# 执行SQL语句

cursor.execute(sql, [username, age]) // 要是有错误,缺少东西的话就会报错,就会走下面的回滚

# 提交事务

conn.commit()

except Exception as e:

# 有异常,回滚事务

conn.rollback()

cursor.close()

conn.close()

获取插入数据的ID(关联操作时会用到)

# 导入pymysql模块

import pymysql

# 连接database

conn = pymysql.connect(host=“你的数据库地址”, user=“用户名”,password=“密码”,database=“数据库名”,charset=“utf8”)

# 得到一个可以执行SQL语句的光标对象

cursor = conn.cursor()

sql = "INSERT INTO USER1(name, age) VALUES (%s, %s);"

username = "Alex"

age = 18

try:

# 执行SQL语句

cursor.execute(sql, [username, age])

# 提交事务

conn.commit()

# 提交之后,获取刚插入的数据的ID

last_id = cursor.lastrowid

except Exception as e:

# 有异常,回滚事务

conn.rollback()

cursor.close()

conn.close()

批量执行

# 导入pymysql模块

import pymysql

# 连接database

conn = pymysql.connect(host=“你的数据库地址”, user=“用户名”,password=“密码”,database=“数据库名”,charset=“utf8”)

# 得到一个可以执行SQL语句的光标对象

cursor = conn.cursor()

sql = "INSERT INTO USER1(name, age) VALUES (%s, %s);"

data = [("Alex", 18), ("Egon", 20), ("Yuan", 21)]

try:

# 批量执行多条插入SQL语句

cursor.executemany(sql, data)

# 提交事务

conn.commit()

except Exception as e:

# 有异常,回滚事务

conn.rollback()

cursor.close()

conn.close()

# 导入pymysql模块

import pymysql

# 连接database

conn = pymysql.connect(host=“你的数据库地址”, user=“用户名”,password=“密码”,database=“数据库名”,charset=“utf8”)

# 得到一个可以执行SQL语句的光标对象

cursor = conn.cursor()

sql = "DELETE FROM USER1 WHERE id=%s;"

try:

cursor.execute(sql, [4])

# 提交事务

conn.commit()

except Exception as e:

# 有异常,回滚事务

conn.rollback()

cursor.close()

conn.close()

# 导入pymysql模块

import pymysql

# 连接database

conn = pymysql.connect(host=“你的数据库地址”, user=“用户名”,password=“密码”,database=“数据库名”,charset=“utf8”)

# 得到一个可以执行SQL语句的光标对象

cursor = conn.cursor()

# 修改数据的SQL语句

sql = "UPDATE USER1 SET age=%s WHERE name=%s;"

username = "Alex"

age = 80

try:

# 执行SQL语句

cursor.execute(sql, [age, username])

# 提交事务

conn.commit()

except Exception as e:

# 有异常,回滚事务

conn.rollback()

cursor.close()

conn.close()

查询单条数据

# 导入pymysql模块

import pymysql

# 连接database

conn = pymysql.connect(host=“你的数据库地址”, user=“用户名”,password=“密码”,database=“数据库名”,charset=“utf8”)

# 得到一个可以执行SQL语句的光标对象

cursor = conn.cursor()

# 查询数据的SQL语句

sql = "SELECT id,name,age from USER1 WHERE id=1;"

# 执行SQL语句

cursor.execute(sql)

# 获取单条查询数据

ret = cursor.fetchone()

cursor.close()

conn.close()

# 打印下查询结果

print(ret)

查询多条数据

# 导入pymysql模块

import pymysql

# 连接database

conn = pymysql.connect(host=“你的数据库地址”, user=“用户名”,password=“密码”,database=“数据库名”,charset=“utf8”)

# 得到一个可以执行SQL语句的光标对象

cursor = conn.cursor()

# 查询数据的SQL语句

sql = "SELECT id,name,age from USER1;"

# 执行SQL语句

cursor.execute(sql)

# 获取多条查询数据

ret = cursor.fetchall()

cursor.close()

conn.close()

# 打印下查询结果

print(ret)

进阶用法

# 可以获取指定数量的数据

cursor.fetchmany(3) // 获取了3个

# 光标按绝对位置移动1

cursor.scroll(1, mode="absolute") // 定位在1 从2 开始

# 光标按照相对位置(当前位置)移动1

cursor.scroll(1, mode="relative") // 定位在1 从5 开始

python3连接mysql_第七篇:Python3连接MySQL相关推荐

  1. e语言怎么连接mysql_大佬们E语言连接MYSQL输出中文乱码怎么破

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 .版本 2 .支持库 mysql .支持库 iext .程序集 窗口程序集_启动窗口 .子程序 _按钮1_被单击 数据库连接句柄 = 连接MySql (& ...

  2. MySQL学习笔记(B站网课:MySQL_基础+高级篇- 数据库 -sql -mysql教程_mysql视频_mysql入门_尚硅谷)已完结

    目录 一.为什么要学习数据库 二.数据库的相关概念 三.数据库存储数据的特点 四.初始MySQL MySQL产品的介绍和安装 MySQL服务的启动和停止 MySQL服务的登录和退出 MySQL的常见命 ...

  3. wps vba连接mysql_第12篇 WPS数据库编程.pdf

    软件编程体系简介 � 目前在应用开发领域中, 主要分成两大编程体系,一种是 基于浏览器的B/S(Brower/Server)结构,另一种是C/S( Client/Server)结构. 第 章 数据库编 ...

  4. eclipse 用jsp文件连接mysql_用本地navicat去连接阿里云ECS中的mysql

    1)远程安装mysql及驱动(python3) sudo apt-get install mysql-server mysql-client 中途会让你输入两次root用户密码 2)安装完检查,mys ...

  5. eclipse连接mysql_专题一、flask构建mysql数据库正确姿势

    每周壹总结,一起共同充电第121篇 应用程序最核心的就是数据,每天我们写程序其实也是在处理数据的过程,那么很有必要系统性的讲讲和梳理python的flask框架是如何进行数据交互操作的. 趁这3天假期 ...

  6. 测试php是否连接mysql_如何测试php是否连接mysql成功

    在nginx的html下,创建一个测试的.php文件,往里面写入内容并用浏览器访问相应页面,输入数据库用户和密码提示 OK-数据库连接成功表示php连接数据库成功. localhost 127.0.0 ...

  7. mssql 远程无法连接mysql_在本地 怎么远程连接MSSQL数据库

    hp连接mssql数据库有几个注意事项,尤其mssql的多个版本.32位.64位都有区别. 首先,php.ini文件中;extension=php_pdo_mssql.dll ;extension=p ...

  8. asp 连接mysql_如何在ASP中连接MySQL数据库

    ASP和MySQL连接目前有两种办法:一个是使用组件,比较有名是MySQLX,可惜要99美元.二就是使用MyODBC 来连接,下面我们就来看看第二种方式. 试验的平台: MySQL 4.0 For R ...

  9. 电脑无法连接mysql_本地电脑无法连接到MySQL

    问题描述: ERROR 1130 (HY000): Host 'localhost' is not allowed to connect to this MySQL server 首先网上的问题大部分 ...

最新文章

  1. UIImageView动画
  2. 手动写sonar 插件
  3. 生成jsp验证码的代码详解(servlet版)
  4. 【转】mybatis 自增主键配置
  5. Linux BASH多进程并行处理的方法实现
  6. GET POST 传值与接收案例
  7. 列出Server上5张最大的表
  8. OpenVAS安装说明
  9. 两个实用型教学网站:菜鸟教程与W3School,估计是国内做得做好的了
  10. 中兴JAVA编程题_最新中兴Java语言笔试真题及答案
  11. 在文档中怎么画横线实线_怎样在一个word文档中添加一根实线,用作分开不同
  12. 每日写题分享--包含min函数的栈/双栈实现
  13. 扫盲:云计算、大数据和人工智能
  14. execvp函数详解_如何在C / C ++中使用execvp()函数
  15. MiniUI Api 方法
  16. 利用Canvas绘制雷达图
  17. LVS+Keepalived 实现高可用负载均衡
  18. VLC-你不知道的那些功能-播客
  19. 瑞金医院计算机中心副主任朱立峰:从数字化医院到认知医疗
  20. ps和kill命令的参数及含义

热门文章

  1. Linux(RHEL7.0)下安装nginx-1.10.2
  2. Android调用浏览器打开网址遇到的问题
  3. vijos 1030 重叠的方框
  4. 容斥原理学习(Hdu 4135,Hdu 1796)
  5. 聊聊php定时计划任务
  6. arduino串口监视器显示nan_使用Arduino开发板制作摩尔斯电码生成器
  7. python的设计哲学_Python 的设计哲学
  8. 全面理解Javascript闭包和闭包的几种写法及用途
  9. poi解析excel读取日期为数字的问题
  10. oracle查看字典结构体,Oracle数据字典的实操