這些東西純屬個人經驗,由於資歷尚淺,可能會做一些冗餘操作,歡迎指正。
1.有時候需要你去統計以下庫裏多張表的總記錄數。恰好這些表的名稱都比較類似(比如都以tb_開頭),這個時候我們可以先把所需要的表的查詢SQL全部連起來,然後再去查詢。
SELECT CONCAT(
'select "',
TABLE_name,
'", carid,alarmcontent from ',
TABLE_SCHEMA,
'.',
TABLE_name,
' union all'
) FROM information_schema.tables
WHERE TABLE_SCHEMA='coach' AND TABLE_NAME LIKE 'tb_201709%' ;
比如這個月有30天,我們最終可以得到30張表的union all查詢語句,所需字段可以自定義。要查所有字段就可以用‘*’。
然後將得到的結果複製出來放到查詢窗口,直接運行就可以得到這個月所有表的總記錄了。
2.查詢數據庫的大小,有時候可能需要查詢數據庫中的所有數據所佔的存儲容量,這時候就可以用下面的語句直接查詢:
SELECT CONCAT(ROUND(SUM(data_length/1024/1024),2),'M') AS DATA FROM information_schema.tables
暫時就是這樣了。