MySQL 實用 SQL 語句集合

2022-07-05 11:18:14 字數 1993 閱讀 3205

寫在前面的話

本文主要用於記錄工作中不經常使用但是偶爾用到又非常有用的 sql 語句,持續不斷不定期更新。

資料庫大小統計

1. 檢視 mysql 某個庫的所有表大小,記錄數,占用空間等。

select table_name,data_length,index_length,(data_length+index_length) as length,table_rows,concat(round((data_length+index_length)/

1024

/1024,3), '

mb') as total_size from information_schema.tables where table_schema='庫名

'order

by length desc;

結果如圖:

data_length:資料大小

index_length:索引大小

table_rows:記錄數

total_size:占用空間

2. 檢視某個庫中單個表:

select concat(round(sum(data_length/

1024

/1024),2),'

mb') as table_size from information_schema.tables where table_schema='庫名

'and table_name='表名

';

結果如圖:

3. 檢視單個資料庫整體大小:

select concat(round(sum(data_length/

1024

/1024),2),'

mb') as database_size from information_schema.tables where table_schema='庫名

';

結果如圖:

4. 統計資料庫總大小:

select concat(round(sum(data_length/

1024

/1024),2),'

mb') as data_size from information_schema.tables;

結果如圖:

超時時間設定

show global variables like '

%timeout

';

結果如圖:

紅色部分的超時時間為經常搞事情的,建議改大一點!

set global net_write_timeout=28800;

set global net_read_timeout=6000;

set global connect_timeout=6000;

set global long_query_time=100;

set global wait_timeout=600000;

set global interactive_timeout=600000;

當然,如果你想永久生效,需要寫到 my.cnf 配置中去。

實用SQL語句

1 將乙個表中的內容拷貝到另外乙個表中 insert intotestt1 a1 b1,c1 selecta,b cfromtest insert intotesttselect fromtest 前提是兩個表的結構完全相同 insert intonotebook id title content ...

實用sql語句

1。加許可權 grant alter,create,select,insert,update,delete,index on recommend.to growth 10.1.1.1 identified by growth flush privileges alter table feed cha...

SQL語句集合

記錄下平時寫的稍微複雜點的sql 說明 a b是一對多關係 乙個a有多個b 查詢a中已有b的且狀態不是11020403的a資料 select from a where id not in select id from b where cp status 11020403 group by id an...