阿里云RDS數據庫常用SQL語句分享,阿里云rds數據庫阿里云RDS數據庫常用SQL語句分享日常工作或學習過程中,會常用到某些SQL語句,又不太容易記憶的。建議大家多多整理記錄下這些常用的SQL,這樣后續用到會方便很多。我在工作及學習過程中也整理了下個人常用的SQL,現在借云棲社區這個平臺分享給大家。可能有些SQL你還......
日常工作或學習過程中,會常用到某些SQL語句,又不太容易記憶的。建議大家多多整理記錄下這些常用的SQL,這樣后續用到會方便很多。我在工作及學習過程中也整理了下個人常用的SQL,現在借云棲社區這個平臺分享給大家。可能有些SQL你還不常用,但還是希望有所幫助,說不定將來哪天有需求就能用到。
注:下文分享的SQL適用于MySQL 5.7 版本,低版本可能稍許不同。有些SQL可能執行需要較高權限。都在阿里云RDS數據庫中使用過,沒問題了。
查看實例參數 例如:
showvariableslike%innodb%;showglobalvariableslike%innodb%;查看實例狀態,例如:
showstatuslikeuptime%;showglobalstatuslikeconnection%;查看數據庫鏈接:
showprocesslist;showfullprocesslist;查詢某個表的結構:
showcreatetabletbname;查詢某個表的詳細字段信息:
showfullcolumnsfromtbname;查詢某個表的全部索引信息:
showindexfromtbname;查詢某個庫以cd開頭的表:
showtableslikecd%;查詢某個庫中的所有視圖:
showtablestatuswherecomment=view;查詢某個用戶的權限:
showgrantsfortestuser@%;這里先介紹下CONCAT函數:在MySQL中 CONCAT()函數用于將多個字符串連接成一個字符串,
利用此函數我們可以將原來一步無法得到的sql拼接出來,后面部分語句有用到該函數。
當拼接字符串中出現時 需使用轉義符
查看所有用戶名:
SELECTDISTINCTCONCAT(User:,user,@,host,;)ASQUERYFROMmysql.user;查看用戶詳細信息:
SELECTuser,host,authenticationstring,passwordexpired,passwordlifetime,passwordlastchanged,accountlockedFROMmysql.user;下面列舉SQL只是拼接出kill 鏈接的語句,若想執行 直接將結果復制執行即可。
殺掉空閑時間大于2000s的鏈接:
SELECTconcat(KILL,id,;)FROMinformationschema.PROCESSLISTWHERECommand=SleepANDTIME2000;殺掉處于某狀態的鏈接:
SELECTconcat(KILL,id,;)FROMinformationschema.PROCESSLISTWHERESTATELIKECreatingsortindex;殺掉某個用戶的鏈接:
SELECTconcat(KILL,id,;)FROMinformationschema.PROCESSLISTWHEREwhereuser=root;下面列舉SQL只是拼接出kill 鏈接的語句,若想執行 直接將結果復制執行即可。
殺掉空閑時間大于2000s的鏈接:
SELECTconcat(KILL,id,;)FROMinformationschema.PROCESSLISTWHERECommand=SleepANDTIME2000;殺掉處于某狀態的鏈接:
SELECTconcat(KILL,id,;)FROMinformationschema.PROCESSLISTWHERESTATELIKECreatingsortindex;殺掉某個用戶的鏈接:
SELECTconcat(KILL,id,;)FROMinformationschema.PROCESSLISTWHEREwhereuser=root;查看整個實例占用空間大小:
SELECTconcat(round(sum(datalength/1024/1024),2),MB)ASdatalengthMB,concat(round(sum(indexlength/1024/1024),2),MB)ASindexlengthMBFROMinformationschema.TABLES;查看各個庫占用大小:
SELECTTABLESCHEMA,concat(TRUNCATE(sum(datalength)/1024/1024,2),MB)ASdatasize,concat(TRUNCATE(sum(indexlength)/1024/1024,2),MB)ASindexsizeFROMinformationschema.TABLESGROUPBYTABLESCHEMA;查看單個庫占用空間大小:
SELECTconcat(round(sum(datalength/1024/1024),2),MB)ASdatalengthMB,concat(round(sum(indexlength/1024/1024),2),MB)ASindexlengthMBFROMinformationschema.TABLESWHEREtableschema=testdb;查看單個表占用空間大小:
SELECTconcat(round(sum(datalength/1024/1024),2),MB)ASdatalengthMB,concat(round(sum(indexlength/1024/1024),2),MB)ASindexlengthMBFROMinformationschema.TABLESWHEREtableschema=testdbANDtablename=tbname;查看某個庫下所有表的碎片情況:
SELECTt.TABLESCHEMA,t.TABLENAME,t.TABLEROWS,concat(round(t.DATALENGTH/1024/1024,2),M)ASsize,t.INDEXLENGTH,concat(round(t.DATAFREE/1024/1024,2),M)ASdatafreeFROMinformationschema.TABLEStWHEREt.TABLESCHEMA=testdbORDERBYdatafreeDESC;收縮表,減少碎片:
altertabletbnameengine=innodb;optimizetabletbname;查看某個庫下所有表的碎片情況:
SELECTt.TABLESCHEMA,t.TABLENAME,t.TABLEROWS,concat(round(t.DATALENGTH/1024/1024,2),M)ASsize,t.INDEXLENGTH,concat(round(t.DATAFREE/1024/1024,2),M)ASdatafreeFROMinformationschema.TABLEStWHEREt.TABLESCHEMA=testdbORDERBYdatafreeDESC;收縮表,減少碎片:
altertabletbnameengine=innodb;optimizetabletbname;特別聲明:以上文章內容僅代表作者本人觀點,不代表ESG跨境電商觀點或立場。如有關于作品內容、版權或其它問題請于作品發表后的30日內與ESG跨境電商聯系。
二維碼加載中...
使用微信掃一掃登錄
使用賬號密碼登錄
平臺顧問
微信掃一掃
馬上聯系在線顧問
小程序
ESG跨境小程序
手機入駐更便捷
返回頂部