如何使用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)来简化数据库操作,提高效率。
