Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Lulus Parameter ke panda read_sql dengan Pertanyaan SQL?
Panda read_sql
dengan pertanyaan SQL berparameter
Fungsi pandas.read_sql
ialah alat yang berkuasa untuk mengambil data daripada pangkalan data. Apabila bekerja dengan enjin SQLAlchemy, menghantar parameter dengan berkesan kepada pertanyaan SQL anda adalah penting. Panduan ini menunjukkan dua pendekatan biasa: parameter kedudukan dan dinamakan.
Kaedah 1: Parameter Kedudukan
Kaedah ini menggunakan senarai atau tupel untuk membekalkan parameter kepada pertanyaan SQL anda. Pemegang tempat dalam pernyataan SQL (%s
) digantikan secara berurutan oleh elemen dalam senarai parameter.
Contoh:
<code class="language-python">import pandas as pd from datetime import datetime # ... (database connection setup using SQLAlchemy) ... query = ('SELECT "Timestamp", "Value" FROM "MyTable" ' 'WHERE "Timestamp" BETWEEN %s AND %s') params = [datetime(2014, 6, 24, 16, 0), datetime(2014, 6, 24, 17, 0)] df = pd.read_sql(query, db, params=params, index_col=['Timestamp'])</code>
Kaedah 2: Parameter Dinamakan
Parameter yang dinamakan menawarkan kebolehbacaan dan kebolehselenggaraan yang lebih baik. Walau bagaimanapun, sintaks yang disokong bergantung pada pemacu pangkalan data anda. Dengan SQLAlchemy dan psycopg2, sintaks %(name)s
diperlukan.
Contoh:
<code class="language-python">import pandas as pd from datetime import datetime # ... (database connection setup using SQLAlchemy) ... query = ('SELECT "Timestamp", "Value" FROM "MyTable" ' 'WHERE "Timestamp" BETWEEN %(dstart)s AND %(dfinish)s') params = {"dstart": datetime(2014, 6, 24, 16, 0), "dfinish": datetime(2014, 6, 24, 17, 0)} df = pd.read_sql(query, db, params=params, index_col=['Timestamp'])</code>
Nota Penting: Sentiasa semak dokumentasi pemacu pangkalan data anda untuk mengesahkan sintaks parameter yang betul. Menggunakan sintaks yang salah akan membawa kepada ralat pertanyaan. Ini memastikan pertanyaan berparameter anda dilaksanakan dengan betul dan selamat.
Atas ialah kandungan terperinci Bagaimana untuk Lulus Parameter ke panda read_sql dengan Pertanyaan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!