在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)
请根据你的具体需求选择合适的方法。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/38555.html