mySql數據庫一些非常規查詢,工作中可能會用到,備份一下以便即用即拿

這些東西純屬個人經驗,由於資歷尚淺,可能會做一些冗餘操作,歡迎指正。

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 
暫時就是這樣了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章