Python数据库编程:操作MySQL数据库

Python是一种强大的编程语言,可以方便地操作各种数据库,其中MySQL数据库是应用广泛的一种,本文将介绍Python数据库编程中MySQL数据库的操作方法。在学习之前,请确保您已经安装了Python和MySQL数据库,并且在Python环境中安装了MySQLdb模块。


连接数据库

在使用Python操作MySQL数据库之前,需要先连接数据库。下面是连接MySQL数据库的代码:

import MySQLdb

# 打开数据库连接
db = MySQLdb.connect("localhost","testuser","test123","TESTDB")

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

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

在代码中,首先导入MySQLdb模块,然后使用connect()方法连接MySQL数据库。connect()方法需要传递4个参数,分别是MySQL服务器地址、用户名、密码和要连接的数据库名。连接成功后,可以使用cursor()方法获取操作游标,同时通过close()方法关闭数据库连接。


创建表

在MySQL数据库中,需要先创建表才能插入数据。下面是创建表的代码示例:

# 使用execute()方法执行SQL语句创建表
sql = """CREATE TABLE EMPLOYEE (
   FIRST_NAME  CHAR(20) NOT NULL,
   LAST_NAME  CHAR(20),
   AGE INT,
   SEX CHAR(1),
   INCOME FLOAT )"""
cursor.execute(sql)

在代码中,使用execute()方法执行SQL语句,创建一个名为EMPLOYEE的表,包含5个字段:FIRST_NAME、LAST_NAME、AGE、SEX和INCOME。其中,CHAR和INT是数据类型,NOT NULL表示该字段不能为空,FLOAT表示浮点数类型。


插入数据

在创建表后,可以使用execute()方法插入数据。下面是插入数据的代码示例:

# 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()

在代码中,首先定义SQL插入语句,然后使用execute()方法执行SQL语句,将数据插入到EMPLOYEE表中。在插入数据后,需要使用commit()方法提交到数据库执行,如果发生错误可以使用rollback()方法回滚。


查询数据

在插入数据后,可以使用execute()方法查询数据。下面是查询数据的代码示例:

# SQL 查询语句
sql = """SELECT * FROM EMPLOYEE
         WHERE INCOME > %s"""
data = (1000,)
try:
    # 执行SQL语句
    cursor.execute(sql, data)
    # 获取所有记录列表
    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")

在代码中,首先定义SQL查询语句,使用execute()方法查询INCOME大于1000的记录,并通过fetchall()方法获取所有记录列表。然后遍历所有记录,将每个字段的值赋值给相应的变量,并打印结果。


更新数据

在查询数据后,可以使用execute()方法更新数据。下面是更新数据的代码示例:

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

在代码中,首先定义SQL更新语句,使用execute()方法更新SEX字段为M的记录的AGE字段加1。更新数据后,需要使用commit()方法提交到数据库执行。


删除数据

在更新数据后,可以使用execute()方法删除数据。下面是删除数据的代码示例:

# SQL 删除语句
sql = """DELETE FROM EMPLOYEE WHERE AGE > %s"""
data = (25,)
try:
    # 执行SQL语句
    cursor.execute(sql, data)
    # 提交到数据库执行
    db.commit()
except:
    # 发生错误时回滚
    db.rollback()

在代码中,首先定义SQL删除语句,使用execute()方法删除AGE大于25的记录。删除数据后,需要使用commit()方法提交到数据库执行。


本文介绍了Python数据库编程中MySQL数据库的操作方法,包括连接数据库、创建表、插入数据、查询数据、更新数据、删除数据等,同时提供详细的代码案例和参数解析。希望本文对初学者有所帮助。

猿教程
请先登录后发表评论
  • 最新评论
  • 总共0条评论