MySQL用戶、庫、表的操作語法 關於用戶的語法
阿新 • • 發佈:2018-05-21
MySQL數據庫MySQL用戶、庫、表的操作語法
關於用戶的語法
查看當前系統裏的用戶: select user,host from mysql.user; 查看當前登陸的用戶 select user(); 創建用戶 語法:create user ‘用戶‘@‘主機‘ identified by ‘密碼‘; 示例:create user ‘anuo‘@‘localhost‘ identified by ‘123‘ 創建用戶並授權 grant 權限 on 庫.表 to ‘用戶名‘@‘主機域‘ identified by ‘用戶密碼‘ 示例:grant all on *.* to ‘anuo‘@‘localhost‘ identified by ‘123‘; 查看某用戶的權限 show grants for ‘用戶‘@‘主機‘\G 示例:show grants for ‘anuo‘@‘10.0.0.0/24‘\G 回收權限 revoke 權限 on 庫.表 from 用戶名@主機; 示例:revoke insert on *.* from anuo@localhost; 刪除用戶 drop user ‘用戶名‘@‘主機‘ 示例:drop user ‘anuo‘@‘10.0.0.0/24‘;
庫操作語法
查看數據庫–查看全部 mysql> show databases; 查看你相關的幫助 mysql> ? show databases; 創建一個數據庫 語法:create database 庫名; mysql> create database haha; 創建數據庫時定義字符編碼 語法:create database 庫名 charser 字符編碼; mysql> create database haha charset utf8 ; 查詢數據庫定義信息 語法:show create database 庫名; mysql> show create database haha; 存在的數據庫修改字符編碼 語法:alter database 庫名 charser 字符編碼 mysql> alter database haha charset gbk; 標準修改系統 ALTER DATABASE [庫名] CHARACTER SET 字符集名 COLLATE 校對規則; ALTER DATABASE haha CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; 查看支持的字符集和校對規則. 1、mysql> show character set; 2、mysql> show collation; 查看當前數據庫的狀態: mysql> status; -------------- mysql Ver 14.14 Distrib 5.6.25, for Linux (x86_64) using EditLine wrapper Connection id: 2 --鏈接的id號 Current database: test --當前的庫名 Current user: root@localhost --登陸的用戶 SSL: Not in use --是否使用了ssl Current pager: stdout Using outfile: ‘‘ Using delimiter: ; --會話的終結符 Server version: 5.6.25-log Source distribution --MySQL的版本號 Protocol version: 10 --協議版本 Connection: Localhost via UNIX socket --使用的鏈接類型,是通過socket文件進行鏈接 Server characterset: utf8 --服務器使用的字符集 Db characterset: utf8 --當前數據庫使用的字符集 Client characterset: utf8 --當前客戶端使用的字符集 Conn. characterset: utf8 --當前鏈接使用的字符集 UNIX socket: /data/3306/mysql.sock --socket文件路徑 Uptime: 12 min 10 sec --數據庫的運行時長 Threads: 1 Questions: 22 Slow queries: 0 Opens: 71 Flush tables: 1 Open tables: 64 Queries per second avg: 0.030 刪除數據庫 語法:drop database 庫名 mysql> drop database haha; 切庫 mysql> use haha;
表操作的語法
查看庫裏面的表 (註意:選進入庫才能看庫裏的表) mysql> show tables; 查看庫裏所有表狀態信息 mysql> show table status\G 查看單個表的狀態 語法:show table status like ‘表名‘\G mysql> show table status like ‘xixi‘\G 創建表 語法:create table 表名(結構); mysql> create table xixi(id int); 查看表 mysql> show tables; 刪除表 語法:drop table 表名; mysql> drop table xixi; 創建更多的表結構; 語法:create table 表名(字段1,字段2,……) --註意每字段要用逗號隔開 mysql> create table hehe(id int,name char(20),sex char(4)); 字段的定義:字段名、數據類型、約束 常用的數據類型 int --整型數值 char --定長字符 varchar --變長字符 date --日期 time --時間 year(2|4) --年份 常用的約束: null --表示該字段可以為空(不設置默認為此類型) not null --表示該字段為非空 aoto_increment --自增長,適用於數值型 定義主鍵 primary key(字段1,字段2,……) --(一個表只能有一個主鍵,一個主鍵可以包含多個字段) alter table xixi add primary.key(id) --把xixi表下的id字段設置為主鍵 創建表規格時就定義主鍵 1、create table xixi(id int(4) primary key,name chat(11)); --定義了單一主鍵 2、create table xixi(id int(4),name char(11),primary key(id,name)); --定義聯合主鍵 unique key(字段1,字段2,……) --定義唯一鍵,一個表中可以有多給唯一鍵 創建索引 index index_name(字段) alter table xixi add index index_name(name) --把xixi表下的name字段創建普通索引 創建表時就定義索引: create table xixi(id int(4),name char(11),primary key(id),index index_name(name)); 查看索引 show index from xixi; --表示查看xixi表中的索引 查看表中的部分索引 show index from xixi where key_name like ‘ind‘; --查看xixi表中以ind開頭的索引 註意:下面這種語法格式也是可以的,更能看清楚定義時的語句 推存此用法。 mysql> create table anuo -> ( -> id int(4), -> name char(11), -> primary key(id), -> index index_name(name) -> ); Query OK, 0 rows affected (0.27 sec) 創建新表時復制另外一個舊表的結構 語法:create table 新表名 like 舊表名; 示例:create table anuo like xixi; 查看建表語句 1、mysql> show create table hehe; 2、mysql> show create table hehe\G 修改表名字 1、語法:rename table 表名 to 新表名; mysql> rename table hehe to wahaha; 2、語法:alter table 表名 rename to 新表名; mysql> alter table wahaha rename to xixi; 查看表結構 mysql> desc xixi; 修改表結構 mysql> alter table xixi add char(40) NOT NULL; mysql> desc people; after在指定字段後面添加 語法:alter table 表名 add 新字段 after 指定的字段 示例:alter table xixi add age int(4) after name; first在指定字段前面添加(默認添加在最前面) alter table xixi add id1 int first ,add shouji char(11) after name ; 刪除表字段: mysql> alter table xixi drop sex; 修改表字段的定義 mysql> alter table xixi modify name char(20); 修改列名: mysql> alter table xixi change name a_name char(30) ; 創建表時指定多個選項如:存儲引擎、自增長、字符集 示例: mysql> create table xixi -> ( -> id int primary key auto_increment, -> name char(11) not null, -> index index_name(name) -> ) -> engine=InnoDB auto_increment=2 default charset=utf8; --指定了InnoDB存儲引擎 ,id字段設置了自增長從2開始 ,默認的字符集是utf8
MySQL用戶、庫、表的操作語法 關於用戶的語法