在Python中调用SQL可以通过多种方式实现,以下是一些常见的方法:
使用数据库连接库
MySQL
import mysql.connector创建数据库连接cnx = mysql.connector.connect(user='username',password='password',host='localhost',database='mydatabase')创建游标对象cursor = cnx.cursor()执行SQL语句cursor.execute('SELECT * FROM mytable')获取查询结果for row in cursor:print(row)关闭数据库连接cursor.close()cnx.close()
SQLite
import sqlite3连接到数据库(如果不存在,将创建一个新的数据库文件)conn = sqlite3.connect('example.db')创建一个游标对象,用于执行SQL命令cursor = conn.cursor()执行SQL语句命令cursor.execute('CREATE TABLE IF NOT EXISTS test (id INTEGER PRIMARY KEY, name TEXT)')插入数据cursor.execute("INSERT INTO test (name) VALUES ('John Doe')")提交到数据库conn.commit()查询数据cursor.execute('SELECT * FROM test')获取查询结果for row in cursor:print(row)关闭连接cursor.close()conn.close()
使用第三方库
pymysql
import pymysql配置数据库参数进行连接my_cnt = pymysql.connect(host='localhost',port=3306,user='root',password='',database='test',charset='utf8')创建用于执行查询的新游标my_data = my_cnt.cursor()执行SQL查询语句my_data.execute('SELECT * FROM test.user')获取查询结果get_data = my_data.fetchall()打印查询结果for row in get_data:print(row)关闭数据库连接my_cnt.close()
SQLAlchemy
from sqlalchemy import create_enginefrom sqlalchemy.orm import sessionmaker创建数据库引擎engine = create_engine('mysql+pymysql://root:@localhost/test')创建会话Session = sessionmaker(bind=engine)session = Session()执行SQL查询result = session.execute('SELECT * FROM test.user')获取查询结果for row in result:print(row)关闭会话session.close()
执行.sql文件
import sqlite3连接到数据库(如果不存在,将创建一个新的数据库文件)conn = sqlite3.connect('example.db')创建一个游标对象,用于执行SQL命令cursor = conn.cursor()读取.sql文件并执行with open('example.sql', 'r') as file:sql_script = file.read()cursor.executescript(sql_script)提交到数据库conn.commit()关闭连接cursor.close()conn.close()
以上示例展示了如何在Python中连接到不同类型的数据库(如MySQL、SQLite、SQL Server),执行SQL查询,并处理查询结果。请根据你的具体需求选择合适的方法和库

