Python 3 – MySQL数据库访问

Python 3 – MySQL数据库访问

简介

MySQL是一种流行的关系型数据库管理系统,而Python 3是一个功能强大的编程语言,它具有可以简化MySQL数据库访问的一些内置模块和扩展包。

在本文中,我们将演示如何使用Python 3实现MySQL数据库的连接、数据查询、数据更新、数据插入和数据删除等操作。

安装MySQL数据库

在开始之前,我们需要先安装MySQL数据库。对于Windows用户,可以直接前往MySQL官方网站(https://dev.mysql.com/downloads/windows/installer/)下载安装程序。对于Linux用户,则可以通过如下命令进行安装:

sudo apt-get update
sudo apt-get install mysql-server

在安装完成后,我们需要建立一个数据库,可以通过如下命令进行创建:

mysql -u root -p
create database testdb;

连接MySQL数据库

在Python 3中,我们可以使用PyMySQL模块来连接MySQL数据库。可以通过以下方式安装PyMySQL模块:

pip3 install pymysql

接下来,我们可以使用下面的代码来连接数据库:

import pymysql

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

# 使用cursor()方法获取操作游标 
cursor = db.cursor()

# 执行SQL语句
cursor.execute("SELECT VERSION()")

# 获取一条数据
data = cursor.fetchone()

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

# 关闭游标和数据库连接
cursor.close()
db.close()

上述代码中,我们使用pymysql库的connect()方法来连接数据库。其中,参数”localhost”代表数据库所在的主机ip地址,”root”代表登录数据库时的用户名,”password”代表登录数据库时的密码,”testdb”代表将要连接的数据库名称。

接下来,我们使用cursor()方法获取操作游标,并使用execute()方法来执行SQL语句。最后,我们使用fetchone()方法获取第一条数据,并输出结果。

数据查询

在Python 3中,我们可以使用SELECT语句来查询数据库中的数据。具体方式如下:

import pymysql

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

# 使用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")

# 关闭游标和数据库连接
cursor.close()
db.close()

上述代码中,我们使用SELECT语句查询出了所有收入大于1000的员工信息,并使用fetchall()方法获取所有记录列表。接下来,我们使用for循环来遍历每一条记录,并输出结果。

数据更新

在Python 3中,我们可以使用UPDATE语句来更新数据库中的数据。下面是一个示例代码:

import pymysql

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

# 使用cursor()方法获取操作游标 
cursor = db.cursor()

# SQL 更新语句
sql = "UPDATE EMPLOYEE SET AGE = AGE + 1 \
                          WHERE SEX = '%c'" % ('M')
try:
   # 执行SQL语句
   cursor.execute(sql)
   # 提交到数据库执行
   db.commit()
except:
   # 发生错误时回滚
   db.rollback()

# 关闭游标和数据库连接
cursor.close()
db.close()

上述代码中,我们使用UPDATE语句来将所有男性员工的年龄增加1。接下来,我们使用execute()方法执行SQL语句,并在执行成功后使用commit()方法提交更改。

数据插入

在Python 3中,我们可以使用INSERT语句向数据库中插入新的数据。下面是一个示例代码:

import pymysql

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

# 使用cursor()方法获取操作游标 
cursor = db.cursor()

# SQL 插入语句
sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \
       LAST_NAME, AGE, SEX, INCOME) \
       VALUES ('%s', '%s', '%d', '%c', '%d' )" % \
       ('John', 'Doe', 25, 'M', 2000)
try:
   # 执行SQL语句
   cursor.execute(sql)
   # 提交到数据库执行
   db.commit()
except:
   # 发生错误时回滚
   db.rollback()

# 关闭游标和数据库连接
cursor.close()
db.close()

上述代码中,我们使用INSERT语句向EMPLOYEE表中插入一条新记录。接下来,我们使用execute()方法执行SQL语句,并在执行成功后使用commit()方法提交更改。

数据删除

在Python 3中,我们可以使用DELETE语句来从数据库中删除数据。下面是一个示例代码:

import pymysql

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

# 使用cursor()方法获取操作游标 
cursor = db.cursor()

# SQL 删除语句
sql = "DELETE FROM EMPLOYEE WHERE AGE > '%d'" % (30)
try:
   # 执行SQL语句
   cursor.execute(sql)
   # 提交修改
   db.commit()
except:
   # 发生错误时回滚
   db.rollback()

# 关闭游标和数据库连接
cursor.close()
db.close()

上述代码中,我们使用DELETE语句从EMPLOYEE表中删除年龄大于30的员工记录。接下来,我们使用execute()方法执行SQL语句,并在执行成功后使用commit()方法提交更改。

结论

在本文中,我们学习了如何使用Python 3来访问MySQL数据库。我们了解了如何连接数据库、数据查询、数据更新、数据插入和数据删除等常见操作。使用Python 3,我们可以方便地处理大量的数据,从而实现更多的功能。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程