在Python中编写SQL语句,你可以使用以下几种方法:
1. 使用占位符和参数化查询:
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. 使用字符串拼接:
SQL语句,使用字符串拼接sql = "SELECT {}, {} FROM {}".format('name', 'age', 'employees')print(sql)
3. 使用ORM框架(如SQLAlchemy):

from sqlalchemy import create_engine, Column, Integer, Stringfrom sqlalchemy.ext.declarative import declarative_baseBase = 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语句:
def generate_select_query(table, columns=None, condition=None):query = "SELECT "if columns:query += ", ".join(columns)query += " FROM " + tableif condition:query += " WHERE " + conditionreturn query示例使用table_name = 'employees'selected_columns = ['name', 'age', 'salary']query = generate_select_query(table_name, selected_columns, 'age > 30')print(query)
请根据你的具体需求选择合适的方法。
