如何使用 SQLalchemy 获取列表中提供的键的所有行?
在本文中,我们将使用 SQLAlchemy 获取列表中提供的所有带有键的行。
使用的数据库:
注意:对于这篇文章,我们将从学生表中获取“ name ”、“ class ”和“ dob ”键。
安装:
安装 SQLAlchemy 的语法:
pip install sqlalchemy pymysql
注意: pymysql 是我们需要为这篇文章安装的依赖项
逐步实施
第1步 :
第一步包括导入模块并连接到数据库。您可以通过以下代码做到这一点:
Python3
from sqlalchemy import create_engine
user , password , host , database = 'root' , '123' , 'localhost' , 'geeksforgeeks'
engine = create_engine(url=f'mysql+pymysql://{user}:{password}@{host}/{database}?charset=utf8')
connection = engine.connect()
Python3
table_name = 'student'
keys = ['name','class','dob']
Python3
keys_joined = ",".join(keys)
query = f'SELECT {keys_joined} FROM {table_name}'
Python3
result = connection.execute(query)
for elem in result:
print(elem)
Python3
from sqlalchemy import create_engine
user , password , host , database = 'root' , '123' , 'localhost' , 'geeksforgeeks'
engine = create_engine(url=f'mysql+pymysql://{user}:{password}@{host}/{database}?charset=utf8')
connection = engine.connect()
table_name = 'student'
keys = ['name','class','dob']
keys_joined = ",".join(keys)
query = f'SELECT {keys_joined} FROM {table_name}'
result = connection.execute(query)
for elem in result:
print(elem)
第2步 :
在第二步中,我们将定义表名和它们各自变量中的所有键。
Python3
table_name = 'student'
keys = ['name','class','dob']
第 3 步:
现在,首先在 SQL 中获取特定键,您需要在查询中指定它们。
SQL 查询的语法是:
SELECT key1 , key2 , ..... keyN FROM table_name;
因此,我们将在Python中形成一个查询。首先,我们将使用Python的“ join ”方法来连接所有键(用逗号分隔),然后使用“ f-string ”我们将按照上述语法形成一个查询。
所以我们的Python代码将是:
Python3
keys_joined = ",".join(keys)
query = f'SELECT {keys_joined} FROM {table_name}'
第4步 :
现在,最后,我们将执行查询并使用 for 循环打印出获取结果中的所有元素。
Python3
result = connection.execute(query)
for elem in result:
print(elem)
例子:
在此示例中,我们将上述所有步骤组合成一个代码,然后使用列表中提供的键显示所有行。
Python3
from sqlalchemy import create_engine
user , password , host , database = 'root' , '123' , 'localhost' , 'geeksforgeeks'
engine = create_engine(url=f'mysql+pymysql://{user}:{password}@{host}/{database}?charset=utf8')
connection = engine.connect()
table_name = 'student'
keys = ['name','class','dob']
keys_joined = ",".join(keys)
query = f'SELECT {keys_joined} FROM {table_name}'
result = connection.execute(query)
for elem in result:
print(elem)
输出: