標籤: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 [email protected];刪除使用者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 wrapperConnection id: 2 --連結的id號Current database: test --當前的庫名Current user: [email protected] --登陸的使用者SSL: Not in use --是否使用了sslCurrent pager: stdoutUsing 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 ‘表名‘\Gmysql> 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使用者、庫、表的操作文法 關於使用者的文法