名稱 | 指令 | 說明 | 範例 |
設定編碼語系 set names |
set names 語系編碼代號; | 語系編碼代號:這個資料庫要使用的編碼,中文以 big5 或 utf8 為主。 |
例子(1): set names big5; 例子(2): set names utf8; |
建立資料庫 creat database |
create database 資料庫名稱; |
資料庫名稱:是指要建立的資料庫英文名稱。 |
例子(1): create database student; |
指定使用資料庫 use |
use 資料庫名稱; | 指定要使用哪一個資料庫 |
例子(1): use student; |
建立資料表 creat table |
create table 資料表名稱 (欄位名稱 資料型態, ...); |
資料表名稱:是指要建立的資料表英文名稱 欄位名稱:例如學生資料表格中的姓名,是一個欄位名稱 資料型態: char(n) 字元 一般是用來存放字串,刮號釐的 n 是只有幾個字元,字元最多是 255 個 例:char(30) 就是有三十個字的字串 一般用於姓名、電話、住址等欄位 int 數值 一般是用來存放需要計算的欄位 例如分數、金額、加總、日期等欄位 |
例子: create table user_base ( # 基本資料表 id char(10), # 身份證字號 username char(8), # 姓名 birthday int, # 初生年月日 score int # 成績 ); |
顯示資料表欄位架構 show columns form |
show columns from 要查詢的資料表; | 顯示某個資料表的欄位架構 | 例子(1): show columns from user_base; |
新增資料 insert into |
insert into 資料表明稱 [(欄位名稱, 欄位名稱, ...)] values (相對應的值, 相對應的值, ...); |
新增一筆資料到所指定的資料表格 [(欄位名稱、欄位名稱, ...)]:是指新增時,欄位的次序(可寫可不寫) values (相對應的值):只這比資料每個欄位相對應的值 字元型態 是以單引號前後包起來 注義:若內容有「單引號」、「反斜線」,前面要加一個反斜線 例:'許\成功\', 數值 例:92 |
例子(1): insert into user_base (id, username) values ('A123456789', '賴俊吉'); 例子(2): insert into user_base values ('A987654321', '許\成功\', 19530911, 78); |
查詢 select1 (查欄位) |
select 欄位名稱, 欄位名稱, ... from 資料表; |
查詢一個資料表 欄位名稱:要顯示的欄位 當 欄位名稱是 * 「星號」時,表示全部的欄位 資料表:要查詢的資料表 |
例子(1): select * from user_base; 例子(2): select id, username from user_base; |
查詢 select2 (加條件where) |
select 欄位名稱 from 資料表 where 條件; |
有條件的查詢 條件: 字原型態 = 等於:等號左右兩邊的值相等 <> 不等於:等號左右的兩邊不相等 like 相似:看是否 like 左邊的包含 like 右邊的 數值 = 等於:等號左右兩邊的值相等 |
例子(1): select username from user_base where username='賴俊吉'; 例子(2): select username from user_base where username='ax\'k?\'i="'; 例子(3): select username from user_base where username='許\成功\'; 例子(4): select username from user_base where username <> '賴俊吉'; 例子(5): select username from user_base where username like '賴%'; 例子(6): select username from user_base where username like '%吉'; 例子(7): select username from user_base where username like '%國%'; 例子(8): select name from class where score=100; <= 例子(9): select name from class where score <= 60; >= <> |
查詢 select3 (and, or) |
select 欄位名稱 from 資料表 where 條件1 關係式 條件2 ...; |
有多個條件的查詢 關係式: and 關係式左右兩邊的條件都為真 or 關係式左右兩邊的條件只要有一邊為真 |
例子(1): select name from class where score >= 60 and score <= 100; 例子(2): select username from user_base where username like '張%' and sex='男'; 例子(3): select username from user_base where address like '%北市%' or tel like '02 %'; |
查詢 select4 (升降冪) |
select 欄位名稱 from 資料表 [條件式] order by 要排序的欄位 [desc]; |
查詢時,以指定的欄位作排序 order by 要排序的欄位 顯示資料時,會依照指定的欄位排序,內定是升冪 order by 要排序的欄位 desc 顯示資料時,會依照指定欄位,以降冪排序 |
例子(1): select * from user_base order by username; 例子(2): select * from class order by score desc; |
查詢 select5 (最大,最小,平均,總和) |
select count(欄位名稱) from 資料表; select max(欄位名稱) from 資料表; select min(欄位名稱) from 資料表; select avg(欄位名稱) from 資料表; select sum(欄位名稱) from 資料表; |
count(欄位名稱) 計算一共有幾筆 max(欄位名稱) 找出指定欄位中,值最大的 min(欄位名稱) 找出指定欄位中,值最小的 avg(欄位名稱) 顯示指定欄位的平均質 sum(欄位名稱) 顯示指定欄位的加總值 |
例子(1): select count(*) from user_base; 例子(2): select count(*) from class where score >= 90 and score <= 100; 例子(3): select max(score) from class; 例子(4): select min(score) from class; 例子(5): select avg(score) from class; 例子(6): select sum(score) from class; |
查詢 select6 (去除相同值) |
select distinct 欄位名稱 from 資料表; | 會將 distinct 後面的欄位,內容相同的只顯示一次 |
例子(1): select distinct score from class; |
查詢 select7 (設定查詢筆數) |
select 欄位名稱 from 資料表 limit 從第幾筆開始, 一次秀幾筆; | 會依照 limit 所指定的開始筆數開始,秀出多筆 從第幾筆開始:通常是從第 0 筆開始 |
例子(1): select * from user_base order by score desc limit 0,10; |
修改 update | update 資料表 set 要修改的欄位 = 要修改的質 [條件式]; |
有條件的修改指定的欄位 注意:當修改之後,無法還原 資料表 指定要修改的資料表 要修改的欄位 指定是那個欄位需要修改,一次只能改一個欄位 條件式 以條件過濾,所要修改的資料 |
例子(1): update class set score=0; 例子(2): update class set score=100 where name='賴俊吉'; 例子(3): update user_base set birthday = birthday - 19110000 where birthday > 19110000; |
刪除 delete | delete from 資料表 [條件式]; |
刪除一筆或多筆資料 注意:資料一經刪除,無法救回 資料表 指定要刪除資料的資料表 |
例子(1): delete from user_base; 例子(2): delete from user_base where username='賴俊吉'; |
修改欄位結構 alter table | alter table 資料表 {add, drop, modify} 要處理的欄位; |
針對某個欄位,作新增、刪除、修改 add 新增一個欄位到資料表當中 drop 從資料表中刪除某個欄位 modify 修改資料表中的某個欄位 |
例子(1): alter table user_base add email charr(255); 例子(2): alter table user_base add sum int; 例子(3): alter table user_base drop fax; 例子(4): alter table user_base modify username char(20); |
刪除資料表 drop table | drop table 資料表名稱; | 刪除一個資料表 |
例子(1): drop table user_base; |
刪除資料庫 drop database | drop database 資料庫明稱; |
刪除一個資料庫 注意:當資料庫刪除時,在資料庫之下的資料表,也將同時被刪除 |
例子(1): drop database student; |