Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Wildcard dalam nama kolom untuk MySQL

Tidak, SQL tidak memberi Anda sintaks apa pun untuk melakukan pemilihan seperti itu.

Apa yang Anda bisa lakukan adalah meminta MySQL untuk daftar nama kolom pertama, lalu buat kueri SQL dari informasi tersebut.

SELECT column_name
FROM information_schema.columns
WHERE table_name = 'your_table'
    AND column_name LIKE 'word%'

mari Anda pilih nama kolom. Kemudian Anda dapat melakukannya, dengan Python:

"SELECT * FROM your_table WHERE " + ' '.join(['%s = 1' % name for name in columns])

Daripada menggunakan rangkaian string, saya akan merekomendasikan menggunakan SQLAlchemy alih-alih melakukan pembuatan SQL untuk Anda.

Namun, jika semua yang Anda lakukan adalah membatasi jumlah kolom, tidak perlu melakukan kueri dinamis seperti ini sama sekali. Kerja keras untuk database adalah memilih baris; tidak ada bedanya untuk mengirimi Anda 5 kolom dari 10, atau semuanya 10.

Dalam hal ini cukup gunakan "SELECT * FROM ..." dan gunakan Python untuk memilih kolom dari kumpulan hasil.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. QUARTER() Contoh – MySQL

  2. MySQL Daftar Semua Prosedur

  3. mysqldump dengan --where klausa tidak berfungsi

  4. Penjadwal Acara MySQL pada waktu tertentu setiap hari

  5. Impor Beberapa file dump .sql ke database mysql dari shell