python 3.6 +pyMysql 操作mysql数据库(实例讲解)

yizhihongxing

请看下面的完整攻略,分为四部分:

1. 环境准备

在使用 PyMySQL 前,需要先安装Python和PyMySQL模块。安装方法如下:

  1. 安装Python 3.6
  2. 在命令行窗口中执行命令 pip3 install PyMySQL,即可安装PyMySQL模块。

2. 连接MySQL数据库

连接MySQL数据库有两种方式,一种是使用 connect() 方法,一种是使用 Connection 对象。采用 connect() 方法的示例代码如下:

import pymysql

# 打开数据库连接
db = pymysql.connect(host="localhost",user="root",password="123456",database="testdb")

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

# 使用 execute() 方法执行 SQL 查询
cursor.execute("SELECT VERSION()")

# 使用 fetchone() 方法获取单条数据
data = cursor.fetchone()

print("Database version : %s " % data)

# 关闭数据库连接
db.close()

其中,db 是一个 Connection 对象,cursor()方法创建一个游标对象cursor,可以使用该对象执行SQL查询,execute()方法执行查询,fetchone()方法获取单条数据,close()方法关闭数据库连接。

3. 执行SQL语句

执行 SQL 语句即利用游标对象(cursor),通过 execute() 方法执行 SQL 语句。示例代码如下所示:

import pymysql

# 打开数据库连接
db = pymysql.connect(host="localhost",user="root",password="123456",database="testdb")

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

# SQL 查询语句
sql = "SELECT * FROM EMPLOYEE \
        WHERE INCOME > '%d'" % (1000)

try:
    # 执行SQL语句
    cursor.execute(sql)

    # 获取所有记录列表
    results = cursor.fetchall()
    for row in results:
        fname = row[0]
        lname = row[1]
        age = row[2]
        sex = row[3]
        income = row[4]
        # 打印结果
        print("fname=%s,lname=%s,age=%d,sex=%s,income=%d" % (fname, lname, age, sex, income))
except:
    print("Error: unable to fetch data")

# 关闭数据库连接
db.close()

以上代码执行的 SQL 语句为:SELECT * FROM EMPLOYEE WHERE INCOME > '%d' ,结果会输出所有符合条件的记录。

4. 实例演示

下面结合一个具体的案例来演示如何使用Python 3.6和PyMySQL操作MySQL数据库。

示例一

这个案例演示了如何使用 Python 3.6 和 PyMySQL 在 MySQL 数据库中创建表。

import pymysql

# 打开数据库连接
db = pymysql.connect(host='localhost',
                     user='root',
                     password='123456',
                     database='testdb')

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

# 创建数据表SQL语句
sql = """CREATE TABLE EMPLOYEE (
         FIRST_NAME  CHAR(20) NOT NULL,
         LAST_NAME  CHAR(20),
         AGE INT,  
         SEX CHAR(1),
         INCOME FLOAT )"""

# 执行SQL语句
cursor.execute(sql)

# 关闭数据库连接
db.close()

以上代码执行的 SQL 语句为:CREATE TABLE EMPLOYEE(FIRST_NAME CHAR(20) NOT NULL, LAST_NAME CHAR(20), AGE INT, SEX CHAR(1), INCOME FLOAT),该语句创建了一个名为 EMPLOYEE 的表。

示例二

这个案例演示了如何向 MySQL 数据库中插入数据。

import pymysql

# 打开数据库连接
db = pymysql.connect(host='localhost',
                     user='root',
                     password='123456',
                     database='testdb')

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

# SQL 插入语句
sql = """INSERT INTO EMPLOYEE(FIRST_NAME,
         LAST_NAME, AGE, SEX, INCOME)
         VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""

try:
    # 执行sql语句
    cursor.execute(sql)
    # 提交到数据库执行
    db.commit()
except:
    # 如果发生错误则回滚
    db.rollback()

# 关闭数据库连接
db.close()

以上代码执行的 SQL 语句为:INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) VALUES ('Mac', 'Mohan', 20, 'M', 2000),该语句向名为 EMPLOYEE 的表中插入了一条记录。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 3.6 +pyMysql 操作mysql数据库(实例讲解) - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • MySQL子查询操作实例详解

    MySQL子查询操作实例详解 什么是子查询? 子查询,顾名思义,就是在主查询语句中嵌套子查询语句,使得主查询语句通过子查询语句得到一个中间结果集,从而进行后续的联合处理。 子查询语句的语法格式 SELECT field1,field2,…fieldn FROM table_name WHERE fieldn expression_operator (SE…

    database 2023年5月22日
    00
  • MySQL进阶查询、聚合查询和联合查询

    MySQL进阶查询、聚合查询和联合查询是MySQL数据库中非常重要的一部分,其能够对大数据进行高效的查询、分析和处理。以下是MySQL进阶查询、聚合查询和联合查询的完整攻略: MySQL进阶查询 MySQL进阶查询包括多表查询、子查询、联合查询等。在进行多表查询时,需要使用到MySQL的JOIN关键字,下面是一个示例: 示例1:多表查询 我们有两个表stud…

    database 2023年5月22日
    00
  • 使用Docker容器部署MongoDB并支持远程访问及遇到的坑

    使用Docker容器部署MongoDB并支持远程访问的攻略如下: 1. 准备工作 在开始部署MongoDB之前,我们需要先检查是否已经安装了Docker环境。如果没有安装Docker环境,请先安装Docker及Docker Compose,并确保它们都已正确安装。 2. 下载MongoDB镜像 Docker Hub官方提供了MongoDB的官方镜像,我们可以…

    database 2023年5月22日
    00
  • Oracle 11g数据库使用expdp每周进行数据备份并上传到备份服务器

    下面我将为你介绍如何使用expdp进行每周数据备份并上传至备份服务器的完整攻略。 准备工作 先创建一个备份文件夹 确保数据库处于归档模式状态 确保你有足够的可用磁盘空间 数据库备份 进入sqlplus命令行,并使用管理员身份登录到Oracle 11g数据库中。 sql sqlplus / as sysdba 设置ORACLE_SID环境变量,以及指定备份文件…

    database 2023年5月22日
    00
  • SQL 删除不想要的字符

    当我们在操作数据库时,可能会出现需要删除某些不需要的字符或者数据的情况。下面详细讲解SQL删除不想要的字符的完整攻略。具体方法如下: 1.使用SUBSTRING函数删除一个字符 SUBSTRING函数是SQL用于截取字符串的函数之一,我们可以使用它来删除我们不需要的字符。具体方法如下: UPDATE table_name SET column_name = …

    database 2023年3月27日
    00
  • mySQL建表及练习题(上)

          create table student( sno varchar(20)not null primary key, sname varchar(20)not null, ssex varchar(20)not null, sbirthday datetime null, class varchar(20)null ); insert into …

    MySQL 2023年4月13日
    00
  • SQL字符串处理函数大全

    SQL字符串处理函数大全 SQL字符串处理函数可以对字符串进行分割、合并、替换等操作,方便我们进行数据处理。本篇攻略将详细介绍SQL字符串处理函数的使用方法。 1. CONCAT函数 CONCAT函数可以将多个字符串连接起来,形成一个新的字符串。使用方法如下: CONCAT(string1, string2, …) 例如,将“hello”和“world”…

    database 2023年5月21日
    00
  • Oracle判断指定列是否全部为数字的sql语句

    要判断Oracle数据库中某个表中的指定列是否全部为数字,可以依靠正则表达式和Oracle内置函数来完成。下面是具体的攻略: 使用正则表达式判断是否为数字 在Oracle中,可以使用REGEXP_LIKE函数和正则表达式^[0-9]+$来判断指定列是否全部为数字。其中,^表示匹配的起始位置,$表示匹配的结束位置,[0-9]表示匹配数字,+表示数字可以出现一个…

    database 2023年5月21日
    00
合作推广
合作推广
分享本页
返回顶部