Parameter dalam Pertanyaan read_sql Pandas dengan SQLAlchemy
Apabila bekerja dengan enjin SQLAlchemy untuk menyambung ke pangkalan data, parameter boleh dihantar dalam Pertanyaan SQL menggunakan kaedah read_sql Pandas. Terdapat dua pendekatan utama untuk mencapai matlamat ini, seperti yang digariskan di bawah.
Menggunakan Senarai atau Tuple
Kaedah ini melibatkan mencipta senarai atau tupel yang mengandungi nilai yang akan diluluskan kepada pertanyaan. Pemegang tempat untuk nilai-nilai ini dalam pernyataan SQL hendaklah tanda tanya (?). Contohnya:
<code class="python">df = psql.read_sql(('select "Timestamp", "Value" from "MyTable" ' 'where "Timestamp" BETWEEN %s AND %s'), db,params=[datetime(2014,6,24,16,0),datetime(2014,6,24,17,0)], index_col=['Timestamp'])</code>
Menggunakan Kamus
Sebagai alternatif, kamus boleh digunakan untuk menghantar parameter dengan menyatakan nama parameter dan nilai sepadannya. Walau bagaimanapun, sintaks khusus yang digunakan untuk ruang letak parameter mungkin berbeza-beza bergantung pada pemacu pangkalan data. Dalam kes psycopg2, sintaks pilihan ialah menggunakan format %(name)s.
<code class="python">df = psql.read_sql(('select "Timestamp", "Value" from "MyTable" ' 'where "Timestamp" BETWEEN %(dstart)s AND %(dfinish)s'), db,params={"dstart":datetime(2014,6,24,16,0),"dfinish":datetime(2014,6,24,17,0)}, index_col=['Timestamp'])</code>
Adalah penting untuk ambil perhatian bahawa sintaks parameter yang disokong akan berbeza-beza berdasarkan pemacu pangkalan data yang digunakan. Oleh itu, adalah disyorkan untuk merujuk dokumentasi untuk pemandu khusus untuk memastikan penggunaan yang betul.
Atas ialah kandungan terperinci Bagaimanakah saya boleh menghantar parameter kepada pertanyaan SQL menggunakan kaedah read_sql Pandas dengan SQLAlchemy?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!