1. 程式人生 > 資料庫 >MYSQL 常用查詢sql

MYSQL 常用查詢sql


目的

個人筆記,便於後續的查詢。


一、記錄原因

在這裡插入圖片描述

工作中難免會遇到上述涉及到許可權的問題,這個時候的辦法最快捷的大概有兩個: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 新名; 

總結

記錄於此作為後續自己的回憶,也便於自己的查詢,後續有需要會繼續更新。。。