Rumah > Soal Jawab > teks badan
use information_schema;
select table_name,table_rows from tables
where TABLE_SCHEMA = 'test'
order by table_rows desc;
Di atas ialah pernyataan pertanyaan sedia ada, yang boleh mencari semua jadual dalam keseluruhan pangkalan data dan jumlah data dalam jadual.
Sekarang saya ingin memecahkannya:
Sebagai contoh, terdapat 1,000 jadual dalam pangkalan data ujian, dan saya hanya ingin menyemak berapa keping data yang ada dalam 200 daripadanya (dinyatakan) mengandungi tarikh yang ditentukan (ada ialah medan tarikh, jenisnya ialah teks sederhana) .
Bagaimana untuk menulis pertanyaan seperti ini?
-----------------Soalan yang diubah suai-------------------------
adalah saya ungkapan Tidak pasti, izinkan saya menerangkannya sekali lagi:
Seperti yang ditunjukkan dalam gambar di atas, saya mempunyai banyak jadual dalam pangkalan data ujian, dan setiap jadual mempunyai banyak data. Setiap jadual mempunyai medan "masa", jenisnya ialah teks sederhana, seperti 2017-5-9 16:44:24.
Saya ingin menanyakan berbilang jadual sekaligus untuk melihat bilangan keping data setiap jadual yang mengandungi "masa" yang ditentukan (2017-5-9).
过去多啦不再A梦2017-05-18 10:51:37
gunakan skema_maklumat;
pilih nama_jadual,baris_jadual daripada jadual
di mana TABLE_SCHEMA = 'ujian' dan TABLE_NAME dalam ('Spesifikasi 1','Spesifikasi 2',.......,'Spesifikasi 200') dan UPDATE_TIME = 'Spesifikasi Masa'
pesanan mengikut table_rows desc;
给我你的怀抱2017-05-18 10:51:37
Penulis bercakap tentang mencari jadual yang mengandungi medan tarikh jenis yang ditentukan, bukan? information_schema juga mempunyai jadual lajur, yang boleh digunakan untuk pertanyaan bersama
select a.table_name,a.table_rows from tables a join columns b on a.table_name=b.table_name and a.table_schema=b.table_schema
where a.TABLE_SCHEMA = 'test' and b.DATA_TYPE='mediumtext' and COLUMN_NAME='指定日期字段'
order by table_rows desc;