在Python中查询SQL语句,你可以使用不同的数据库连接库,例如`sqlite3`、`MySQLdb`、`pymysql`或`sqlalchemy`等。以下是使用不同库进行SQL查询的示例:
使用sqlite3库
```python
import sqlite3
连接到SQLite数据库(如果不存在,将创建一个新的数据库文件)
conn = sqlite3.connect('example.db')
创建一个游标对象,用于执行SQL命令
cursor = conn.cursor()
执行查询
cursor.execute("SELECT * FROM testtable WHERE name='张三'")
获取查询结果
results = cursor.fetchall()
for row in results:
print(row)
关闭连接
conn.close()
使用MySQLdb库
```python
import MySQLdb
创建数据库连接
conn = MySQLdb.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='test', charset='utf8')
创建一个游标对象,用于执行SQL命令
cursor = conn.cursor()
执行查询
cursor.execute("SELECT * FROM testtable WHERE name='张三'")
获取查询结果
results = cursor.fetchall()
for row in results:
print(row)
关闭连接
conn.close()
使用pymysql库
```python
import pymysql
创建数据库连接
conn = pymysql.connect(host='127.0.0.1', port=3306, user='testuser', passwd='testpassword', db='test_db', charset='utf8')
创建一个游标对象,用于执行SQL命令
cursor = conn.cursor()
执行查询
cursor.execute("SELECT * FROM test_db.test_csv_2")
获取查询结果
results = cursor.fetchall()
for row in results:
print(row)
关闭连接
conn.close()
使用SQLAlchemy库
```python
from sqlalchemy import create_engine
创建数据库连接
engine = create_engine('mysql+pymysql://testuser:testpassword@localhost:3306/test_db', encoding='utf8')
with engine.connect() as con:
执行查询
sql = "SELECT * FROM test_db.test_csv_2"
tables = con.execute(sql).fetchall()
打印查询结果
for i in tables:
print(list(i))
请根据你的数据库类型和需求选择合适的库和连接方式。如果你需要更复杂的查询,如内连接,可以使用SQLAlchemy的查询API来构建更复杂的查询语句。