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

如何使用Python进行数据库连接和操作

发布时间:2023-12-25 19:07:08

在Python中,可以使用多种库来进行数据库连接和操作,例如sqlite3、MySQL、PostgreSQL等。下面以sqlite3和MySQL库为例,介绍如何使用Python进行数据库连接和操作。

1. 使用sqlite3库进行数据库连接和操作:

Sqlite3是Python标准库中自带的一个轻量级的数据库库,不需要额外安装。

a. 首先,需要导入sqlite3库:

   import sqlite3
   

b. 连接数据库:

   conn = sqlite3.connect('test.db')  # 连接到test.db数据库,如果不存在则会创建
   

c. 创建游标对象:

   cursor = conn.cursor()  # 创建一个游标对象
   

d. 创建表:

   cursor.execute('''CREATE TABLE IF NOT EXISTS COMPANY
                     (ID INT PRIMARY KEY     NOT NULL,
                     NAME           TEXT    NOT NULL,
                     AGE            INT     NOT NULL,
                     ADDRESS        CHAR(50),
                     SALARY         REAL);''')  # 创建名为COMPANY的表
   

e. 插入数据:

   cursor.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
                   VALUES (1, 'Paul', 32, 'California', 20000.00)")
   conn.commit()  # 提交事务
   

f. 查询数据:

   cursor.execute("SELECT id, name, address, salary from COMPANY")
   rows = cursor.fetchall()  # 获取所有查询结果
   for row in rows:
       print("ID = ", row[0])
       print("NAME = ", row[1])
       print("ADDRESS = ", row[2])
       print("SALARY = ", row[3])
   

g. 关闭数据库连接:

   conn.close()
   

2. 使用MySQL库进行数据库连接和操作:

连接MySQL数据库需要使用pymysql库,可以通过pip进行安装。

a. 首先,需要导入pymysql库:

   import pymysql
   

b. 连接数据库:

   conn = pymysql.connect(host='localhost', port=3306, user='root', password='password', db='test')  # 连接到本地的MySQL数据库
   

c. 创建游标对象:

   cursor = conn.cursor()  # 创建一个游标对象
   

d. 创建表:

   sql = '''CREATE TABLE IF NOT EXISTS EMPLOYEE (
            ID INT PRIMARY KEY     NOT NULL,
            NAME           CHAR(20) NOT NULL,
            AGE            INT      NOT NULL,
            ADDRESS        CHAR(50),
            SALARY         FLOAT);'''  # 创建名为EMPLOYEE的表
   cursor.execute(sql)
   

e. 插入数据:

   sql = "INSERT INTO EMPLOYEE (ID, NAME, AGE, ADDRESS, SALARY) VALUES (1, 'Paul', 32, 'California', 20000)"
   cursor.execute(sql)
   conn.commit()  # 提交事务
   

f. 查询数据:

   sql = "SELECT * FROM EMPLOYEE"
   cursor.execute(sql)
   rows = cursor.fetchall()  # 获取所有查询结果
   for row in rows:
       print("ID = ", row[0])
       print("NAME = ", row[1])
       print("AGE = ", row[2])
       print("ADDRESS = ", row[3])
       print("SALARY = ", row[4])
   

g. 关闭数据库连接:

   conn.close()
   

以上是使用Python进行数据库连接和操作的一些简单示例。实际使用中,可以根据具体需求进行更复杂的数据操作,例如更新数据、删除数据等。同时,还可以使用ORM库(如SQLAlchemy)来简化数据库操作,提高效率。