在Python中编写SQL语句,你可以使用以下几种方法:
1. 使用占位符和参数化查询:
```python
import pymysql
连接数据库
conn = pymysql.connect(host='localhost', user='root', password='root', db='test', charset='utf8')
cursor = conn.cursor()
SQL语句,使用占位符
sql = "SELECT FLAG from TTRD_AUTH_USER where account = %s and account1 = %s"
data = ('example_account', 'example_account1')
cursor.execute(sql, data)
获取结果
results = cursor.fetchall()
关闭连接
cursor.close()
conn.close()
2. 使用字符串拼接:
```python
SQL语句,使用字符串拼接
sql = "SELECT {}, {} FROM {}".format('name', 'age', 'employees')
print(sql)
3. 使用ORM框架(如SQLAlchemy):
```python
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
age = Column(Integer)
创建表
engine = create_engine('sqlite:///example.db')
Base.metadata.create_all(engine)
插入数据
new_user = User(name='John Doe', age=30)
engine.execute(User.__table__.insert().values(new_user.__dict__))
4. 使用条件判断动态生成SQL语句:
```python
def generate_select_query(table, columns=None, condition=None):
query = "SELECT "
if columns:
query += ", ".join(columns)
query += " FROM " + table
if condition:
query += " WHERE " + condition
return query
示例使用
table_name = 'employees'
selected_columns = ['name', 'age', 'salary']
query = generate_select_query(table_name, selected_columns, 'age > 30')
print(query)
请根据你的具体需求选择合适的方法。