Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menggunakan Parameter dengan Pertanyaan SQL dalam Pandas?
Panda membenarkan menghantar parameter apabila melaksanakan pertanyaan SQL, menggunakan fungsi read_sql()
.
Parameter boleh dihantar sebagai senarai, tuple atau kamus. Walau bagaimanapun, sintaks yang disokong bergantung pada pemacu pangkalan data yang digunakan.
Kaedah ini melibatkan penggunaan %s
pemegang tempat atau tanda soal ?
dalam pertanyaan SQL. Parameter dihantar sebagai senarai atau tupel, dalam susunan yang sama seperti yang muncul dalam pertanyaan.
<code class="language-python">params = [datetime(2014, 6, 24, 16, 0), datetime(2014, 6, 24, 17, 0)] df = psql.read_sql('select "Timestamp", "Value" from "MyTable" where "Timestamp" BETWEEN %s AND %s', db, params, index_col=['Timestamp'])</code>
Apabila menggunakan parameter kamus, pasangan nilai kunci dalam kamus sepadan dengan nama parameter dalam pertanyaan SQL. Nama parameter dalam pertanyaan harus menggunakan sintaks %(name)s
.
<code class="language-python">params = {"dstart": datetime(2014, 6, 24, 16, 0), "dfinish": datetime(2014, 6, 24, 17, 0)} df = psql.read_sql('select "Timestamp", "Value" from "MyTable" where "Timestamp" BETWEEN %(dstart)s AND %(dfinish)s', db, params, index_col=['Timestamp'])</code>
Sintaks yang disyorkan untuk menghantar parameter menggunakan pertanyaan SQL dalam Pandas ialah menggunakan parameter bernama (dikt) atau parameter kedudukan (senarai atau tuple), bergantung pada sintaks yang disokong oleh pemacu pangkalan data.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Parameter dengan Pertanyaan SQL dalam Pandas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!