欢迎访问宙启技术站
智能推送

数据库:Python如何连接和操作数据库?

发布时间:2023-06-19 20:26:50

Python作为一种高级编程语言,具有许多优秀特性,尤其是其丰富的库、模块及开发工具,这让Python成为了一种非常适合用于数据科学和数据分析的编程语言。而对于数据处理过程中最基础也最重要的工具之一——数据库,Python同样提供了很多方便的库和模块来操作数据库。本文将介绍Python连接和操作数据库的主要方法。

一、Python连接数据库的模块

Python连接数据库,需要先安装相应的数据库适配器模块,一般安装好自己常用的数据库适配器模块即可,常用的Python数据库适配器包括:

1. MySQL:mysql-python、PyMySQL

2. PostgreSQL:psycopg2、pg8000

3. SQLite:sqlite3

4. Oracle:cx_Oracle

此外,还有许多其他的数据库适配器模块可以选择使用。下面以MySQL为例,介绍如何连接和操作数据库。

二、Python连接MySQL

在Python通过MySQL连接数据库之前,需要先安装MySQLdb或PyMySQL库,这里以PyMySQL库为例演示。首先,需要通过pip或conda安装PyMySQL库,打开命令行窗口,输入以下命令:

pip install PyMySQL # pip方式安装

conda install pymysql # conda方式安装

连接数据库,需要连接主机、用户名和密码以及指定数据库名,主要的代码如下:

import pymysql

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

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

其中,“host”指定MySQL服务器名称或IP地址,端口默认为3306;“user”是MySQL用户名,“password”是MySQL用户密码,“database”指定要连接的具体数据库。

三、Python操作MySQL

连接MySQL后,就可以对MySQL进行增删改查等操作。下面介绍一些基本的MySQL操作方法。

①. 创建MySQL表

# 创建数据表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.commit()

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

②. 插入MySQL数据

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

③. 查询MySQL数据

# SQL 查询语句
sql = "SELECT * FROM EMPLOYEE \
       WHERE INCOME > %s" % (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=%f" % \
              (fname, lname, age, sex, income ))
except:
    print("Error: unable to fetch data")

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

④. 更新MySQL数据

# SQL 更新语句
sql = "UPDATE EMPLOYEE SET AGE = AGE + 1 WHERE SEX = '%c'" % ('M')

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

    # 提交到数据库执行
    db.commit()
except:
    # 发生错误时回滚
    db.rollback()

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

⑤. 删除MySQL数据

# SQL 删除语句
sql = "DELETE FROM EMPLOYEE WHERE AGE > '%d'" % (20)

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

    # 提交修改
    db.commit()
except:
    # 发生错误时回滚
    db.rollback()

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

综上,Python连接和操作MySQL数据库的过程主要有几个重要步骤。首先需要安装MySQLdb或PyMySQL,然后连接数据库,连接成功后就可以进行MySQL操作,包括创建表、查询表、插入数据、更新数据和删除数据。Python有许多方便的库和模块来操作数据库,开发者可以根据自己的需求选择适合的库和模块。