如何在Python函数中使用SQL数据库
发布时间:2023-07-02 02:47:47
在Python中使用SQL数据库,首先需要安装并导入相应的数据库驱动程序。常见的数据库驱动程序有SQLite、MySQL和PostgreSQL等。
1. 使用SQLite数据库
SQLite是一种没有服务器的数据库,数据以文件的形式存储在本地。首先需要导入sqlite3模块,并创建数据库连接。然后可以执行各种SQL语句来创建表、插入数据、查询数据等操作。
下面是一个使用SQLite数据库的示例:
import sqlite3
# 创建数据库连接
conn = sqlite3.connect('example.db')
# 创建数据表
conn.execute('''CREATE TABLE IF NOT EXISTS users
(id INT PRIMARY KEY NOT NULL,
name TEXT NOT NULL,
age INT NOT NULL);''')
# 插入数据
conn.execute("INSERT INTO users (id, name, age) VALUES (1, 'Alice', 25)")
conn.execute("INSERT INTO users (id, name, age) VALUES (2, 'Bob', 30)")
conn.execute("INSERT INTO users (id, name, age) VALUES (3, 'Charlie', 35)")
# 查询数据
cursor = conn.execute("SELECT * FROM users")
for row in cursor:
print(row)
# 关闭数据库连接
conn.close()
2. 使用MySQL数据库
使用MySQL数据库需要先安装MySQL驱动,常用的驱动有mysql-connector-python、pymysql等。安装完成后,可以使用相应的驱动进行数据库连接和操作。
下面是一个使用mysql-connector-python驱动连接MySQL数据库的示例:
import mysql.connector
# 创建数据库连接
conn = mysql.connector.connect(user='username', password='password',
host='127.0.0.1',
database='test')
# 创建数据表
cursor = conn.cursor()
cursor.execute('''CREATE TABLE IF NOT EXISTS users
(id INT PRIMARY KEY NOT NULL,
name TEXT NOT NULL,
age INT NOT NULL);''')
# 插入数据
cursor.execute("INSERT INTO users (id, name, age) VALUES (1, 'Alice', 25)")
cursor.execute("INSERT INTO users (id, name, age) VALUES (2, 'Bob', 30)")
cursor.execute("INSERT INTO users (id, name, age) VALUES (3, 'Charlie', 35)")
# 提交事务
conn.commit()
# 查询数据
cursor.execute("SELECT * FROM users")
for row in cursor.fetchall():
print(row)
# 关闭数据库连接
cursor.close()
conn.close()
3. 使用PostgreSQL数据库
使用PostgreSQL数据库需要安装psycopg2库,它是Python与PostgreSQL数据库交互的驱动程序。安装完成后,可以使用psycopg2进行数据库连接和相关操作。
下面是一个使用psycopg2驱动连接PostgreSQL数据库的示例:
import psycopg2
# 创建数据库连接
conn = psycopg2.connect(database="test", user="username", password="password", host="127.0.0.1", port="5432")
# 创建数据表
cursor = conn.cursor()
cursor.execute('''CREATE TABLE IF NOT EXISTS users
(id INT PRIMARY KEY NOT NULL,
name TEXT NOT NULL,
age INT NOT NULL);''')
# 插入数据
cursor.execute("INSERT INTO users (id, name, age) VALUES (1, 'Alice', 25)")
cursor.execute("INSERT INTO users (id, name, age) VALUES (2, 'Bob', 30)")
cursor.execute("INSERT INTO users (id, name, age) VALUES (3, 'Charlie', 35)")
# 提交事务
conn.commit()
# 查询数据
cursor.execute("SELECT * FROM users")
for row in cursor.fetchall():
print(row)
# 关闭数据库连接
cursor.close()
conn.close()
以上就是在Python函数中使用SQL数据库的简单示例,通过导入相应的数据库驱动程序,可以连接数据库并执行SQL语句完成各种数据库操作。
