MySQL基本指令-建立Database和Table
MySQL將指令分成三大項
DDL ( Data Definition Languages ) : 建立資料庫、Table和格式、索引等指令。常用的有CREATE、DROP、ALTER
DML ( Data Manipulation Languages ) : 用於新增、刪除、修改、搜索資料庫內的Data,並檢查資料的完整性。常用的有 INSERT、DELETE、UPDATE、SELECT
DCL ( Data Control Languages ) : 控制資料庫的存取權限。常用的有GRANT、REVOKE
指令符號解釋
[ ] : 代表可有可無,[ ] 內的指令可能是一次大量執行或是某個特殊功能
大寫英文 : MySQL內定的指令文字。(紫色粗體字)
小寫英文 : 由使用者自行定義的文字,如名稱等
DDL的指令
主要是操控DB和Table的指令
Database類
新增Database
CREATE DATABASE 資料庫名稱;
(指令最後面的 ; 符號代表這是指令的最末端,如果沒有輸入這個符號MySQL會認為指令還沒輸入完畢)
例子:
建立一個HappyCompany的Database
CREATE DATABASE HappyCompany;
顯示全部的Database
SHOW DATABASES;
root可以看到全部資料庫,其他使用者如果權限不足會看不到某些資料庫
使用(進入)Database
USE 資料庫名稱
(USE指令最後面不用加 ; 符號)
要進到某個Database內才能對內部的Table或資料執行修改或查詢等動作
例子:
進入HappyCompany的Database
USE HappyCompany
刪除Database
DROP DATABASE 資料庫名稱;
刪除Database會連帶刪掉內部的全部資料
例子:
刪除HappyCompany的Database
DROP DATABASE HappyCompany;
Table類
新增Table
CREATE TABLE [IF NOT EXISTS] Table名稱 ( filed_1 type_1 , filed_2 type_2,....);
進行任何Table的操作前,一定要先用USE指令進入DB
IF NOT EXISTS : 要建立的Table名稱如果不存在,才會建立Table,這是一種比較保險的做法,可以不輸入。
欄位類別 : 欄位類別有很多種,像是 int、varchar等
例子 :
建立Table,employee,並新增多個欄位
CREATE TABLE employee (name varchar(15), EmpNumber int(8), hire date);
顯示DB內的所有Table
SHOW TABLES;
顯示特定Table的格式
DESC Table名稱;
顯示較完整的Table格式
SHOW CREATE TABLE Table名稱 \G;
刪除Table
DROP TABLE Table名稱;
Table名稱修改
改名的錯誤檢察先檢查新的Table名稱是否有被使用再檢查舊的Table是否存在
改名的執行順序是由左向右,因此可以在一行指令內將兩個Table的名稱互換
如果兩個DB都是在相同的檔案系統(File system)可以使用此指令搬移Table
在名稱修改的過程中將會暫時無法存取資料
RENAME TABLE 舊Table名稱_1 TO 新Table名稱_1 [ , 舊Table名稱_2 TO 新Table名稱_2,...]
也可以用
ALTER TABLE 舊Table名稱 RENAME 新Table名稱;
例子:
將employee改成emp
RENAME TABLE employee TO emp;
例子-兩個Table名稱互換:
將employee和user兩個Table名稱互換
RENAME TABLE employee TO temp , user TO employee , temp TO user;
例子-將employee搬移到SadCom的DB:
RENAME TABLE HappyCompany.employee TO SadCom.employee;
新稱欄位
ALTER TABLE Table名稱 ADD 欄位名稱 欄位類別 [FIRST/AFTER 欄位名稱];
如不輸入[FIRST/AFTER 欄位名稱],預設是加到最後一個欄位
FIRST,將新增欄位加入到第一個欄位
AFTER,將欄位插入到指定欄位的後面
例子:
新增pay欄位並設定類別為int(20)
ALTER TABLE employee ADD pay int(20);
刪除欄未
ALTER TABLE Table名稱 DROP 欄位名稱;
修改欄位的格式
ALTER TABLE Table名稱 MODIFY 欄位名稱 欄位類別 [FIRST/AFTER 欄位名稱];
如不輸入[FIRST/AFTER 欄位名稱],預設不變動欄位順序
例子:
修改employee的name欄位,改成varchar(20)
ALTER TABLE employee MODIFY name varchar(20);
修改欄位並修改欄位名稱
ALTER TABLE Table名稱 CHANGE 舊欄位名稱 新欄位名稱 欄位類別 [FIRST/AFTER 欄位名稱];
如不輸入[FIRST/AFTER 欄位名稱],預設不變動欄位順序
modify和change功能類似,change多了修改欄位名稱的功能
如果新舊欄位名稱一樣其功能類似modify
例子:
修改name的名稱,改為username
ALTER TABLE employee CHANGE name username varchar(15);
DDL ( Data Definition Languages ) : 建立資料庫、Table和格式、索引等指令。常用的有CREATE、DROP、ALTER
DML ( Data Manipulation Languages ) : 用於新增、刪除、修改、搜索資料庫內的Data,並檢查資料的完整性。常用的有 INSERT、DELETE、UPDATE、SELECT
DCL ( Data Control Languages ) : 控制資料庫的存取權限。常用的有GRANT、REVOKE
指令符號解釋
[ ] : 代表可有可無,[ ] 內的指令可能是一次大量執行或是某個特殊功能
大寫英文 : MySQL內定的指令文字。(紫色粗體字)
小寫英文 : 由使用者自行定義的文字,如名稱等
DDL的指令
主要是操控DB和Table的指令
Database類
新增Database
CREATE DATABASE 資料庫名稱;
(指令最後面的 ; 符號代表這是指令的最末端,如果沒有輸入這個符號MySQL會認為指令還沒輸入完畢)
例子:
建立一個HappyCompany的Database
CREATE DATABASE HappyCompany;
顯示全部的Database
SHOW DATABASES;
root可以看到全部資料庫,其他使用者如果權限不足會看不到某些資料庫
使用(進入)Database
USE 資料庫名稱
(USE指令最後面不用加 ; 符號)
要進到某個Database內才能對內部的Table或資料執行修改或查詢等動作
例子:
進入HappyCompany的Database
USE HappyCompany
刪除Database
DROP DATABASE 資料庫名稱;
刪除Database會連帶刪掉內部的全部資料
例子:
刪除HappyCompany的Database
DROP DATABASE HappyCompany;
Table類
新增Table
CREATE TABLE [IF NOT EXISTS] Table名稱 ( filed_1 type_1 , filed_2 type_2,....);
進行任何Table的操作前,一定要先用USE指令進入DB
IF NOT EXISTS : 要建立的Table名稱如果不存在,才會建立Table,這是一種比較保險的做法,可以不輸入。
欄位類別 : 欄位類別有很多種,像是 int、varchar等
例子 :
建立Table,employee,並新增多個欄位
CREATE TABLE employee (name varchar(15), EmpNumber int(8), hire date);
顯示DB內的所有Table
SHOW TABLES;
顯示特定Table的格式
DESC Table名稱;
顯示較完整的Table格式
SHOW CREATE TABLE Table名稱 \G;
刪除Table
DROP TABLE Table名稱;
Table名稱修改
改名的錯誤檢察先檢查新的Table名稱是否有被使用再檢查舊的Table是否存在
改名的執行順序是由左向右,因此可以在一行指令內將兩個Table的名稱互換
如果兩個DB都是在相同的檔案系統(File system)可以使用此指令搬移Table
在名稱修改的過程中將會暫時無法存取資料
RENAME TABLE 舊Table名稱_1 TO 新Table名稱_1 [ , 舊Table名稱_2 TO 新Table名稱_2,...]
也可以用
ALTER TABLE 舊Table名稱 RENAME 新Table名稱;
例子:
將employee改成emp
RENAME TABLE employee TO emp;
例子-兩個Table名稱互換:
將employee和user兩個Table名稱互換
RENAME TABLE employee TO temp , user TO employee , temp TO user;
例子-將employee搬移到SadCom的DB:
RENAME TABLE HappyCompany.employee TO SadCom.employee;
新稱欄位
ALTER TABLE Table名稱 ADD 欄位名稱 欄位類別 [FIRST/AFTER 欄位名稱];
如不輸入[FIRST/AFTER 欄位名稱],預設是加到最後一個欄位
FIRST,將新增欄位加入到第一個欄位
AFTER,將欄位插入到指定欄位的後面
例子:
新增pay欄位並設定類別為int(20)
ALTER TABLE employee ADD pay int(20);
刪除欄未
ALTER TABLE Table名稱 DROP 欄位名稱;
修改欄位的格式
ALTER TABLE Table名稱 MODIFY 欄位名稱 欄位類別 [FIRST/AFTER 欄位名稱];
如不輸入[FIRST/AFTER 欄位名稱],預設不變動欄位順序
例子:
修改employee的name欄位,改成varchar(20)
ALTER TABLE employee MODIFY name varchar(20);
修改欄位並修改欄位名稱
ALTER TABLE Table名稱 CHANGE 舊欄位名稱 新欄位名稱 欄位類別 [FIRST/AFTER 欄位名稱];
如不輸入[FIRST/AFTER 欄位名稱],預設不變動欄位順序
modify和change功能類似,change多了修改欄位名稱的功能
如果新舊欄位名稱一樣其功能類似modify
例子:
修改name的名稱,改為username
ALTER TABLE employee CHANGE name username varchar(15);
留言
發佈留言