MYSQL 常用查詢sql
阿新 • • 發佈:2020-12-25
目的
個人筆記,便於後續的查詢。
一、記錄原因
工作中難免會遇到上述涉及到許可權的問題,這個時候的辦法最快捷的大概有兩個:1.麻煩公司的dba修改許可權;2.請示上級後自己修改許可權。
二、具體內容
1.檢視當前使用者的許可權,注賦權時候最好根據實際情況來缺什麼給什麼,方便問題的排查,賦權結束後最好重新登入:
show grants for test;--檢視現有的許可權 GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER ON dataA.test TO 'test'@'%';-- 賦予缺失的許可權 flush privileges;--最後執行
2.其他常用的運維sql
--查詢一個數據庫中表名字 select table_name from information_schema.tables where table_schema='aa'; --查詢表的建立時間 select create_time from information_schema.tables where table_schema='aa' and table_name in ('xx','yy'); -- 獲取包含欄位'zxl'的所有表 select table_name,column_name,data_type,column_type,column_comment from information_schema.columns where column_name='zxl' and table_schema='aa'; -- mysql 檢視某個資料庫中所有表的資料量 select table_name,table_rows from information_schema.tables where TABLE_SCHEMA = 'zxl_test' order by table_rows desc; -- mysql在終端執行sql並把結果寫入檔案的方法 mysql -h127.0.0.1 -P 3306 -u zxl -pzxl456 -N </home/zxl/sql/tmp/zxl.sql >/home/zxl/sql/tmp/zxl.txt -- 查詢索引 select CONCAT('create index ',INDEX_NAME,' on ',table_name,'(',GROUP_CONCAT(COLUMN_NAME),');') from information_schema.STATISTICS where table_name in ('cs_zxl') and TABLE_SCHEMA='aa' and INDEX_NAME<>'PRIMARY' group by table_name,index_name -- 根據已存在的表建立備份表 create table xstext as select * from cs_zxl -- 新增表字段 alter table table1 add transactor varchar(10) not Null; alter table table1 add id int unsigned not Null auto_increment primary key; -- 修改某個表的欄位型別及指定為空或非空 alter table 表名稱 change 舊欄位名稱 新欄位名稱 欄位型別 [是否允許非空]; alter table 表名稱 modify 欄位名稱 欄位型別 [是否允許非空]; alter table 表名稱 modify 欄位名稱 欄位型別 [是否允許非空]; -- 修改某個表的欄位名稱及指定為空或非空 alter table 表名稱 change 欄位原名稱 欄位新名稱 欄位型別 [是否允許非空] -- 如果要刪除某一欄位,可用命令: ALTER TABLE mytable DROP 欄位名; -- 重命名錶 alter table 舊名 rename 新名;
總結
記錄於此作為後續自己的回憶,也便於自己的查詢,後續有需要會繼續更新。。。