第一章 資料與表- 關聯式資料庫管理系統(relational database management system , RDBMS)。
- 資料庫(database , DB):存有資料表與其他相關SQL結構的容器。
- 資料表(table) :由資料欄與資料列構成。
- 資料欄(column) : 儲存資料表理的一塊資,常以field表之。"垂直方向"
- 資料列(row) :一組能形容某項事務的欄位集合,常以record表之。"水平方向"
建立資料庫[command] [target];CREATE DATABASE yourDataBaseName;example:CREATE DATABASE my_friend_db;- SQL資料庫或資料表的名稱,不可出現空格,請以底線代替空格。
- 指令敘述以;號結尾。
- SQL本身不區分大小寫,但指令大寫是優良的設計慣例,某些資料庫要求關鍵字大寫。
使用資料庫USE yourDataBaseName;example:USE my_friend_db;
建立資料表CREATE TABLE yourTableName( columnNameN dataType , . . columnName(N+1) dataType );example:CREATE TABLE my_friend_list;
(
last_name VARCHAR(20),
first_name VARCHAR(20),
email VARCHAR(50),
birthday DATE,
profession VARCHAR(50)
);
- 若不想欄位接受null,則在DataType後面加上NOT NULL即可,例 last_name VARCHAR(20) NOT NULL。
- 若是想要有預設值 DEFAULT yourValue。
檢視資料表DESC yourTabelName;example:DESC my_friend_list;查詢結果資料表中加入資料INSERT INTO yourTableName( columnName1 dataType , columnName2 dataType, .....)VALUES( value1 , value2,......);example:INSERT INTO my_friend_list
(
last_name , first_name , email , birthday , profession
)
VALUES
(
'Tsai', 'Jeffrey',
'jeffrey@gmail.com, '1978-11-20', 'Programmers'
);
- 在VALUES中若是對應欄位的dataType是屬於字元、文字、日期都必需使用'單引號。
- 資料欄順序必須對應值得順序。
- INSERT INTO敘述可以不依Table理的欄位順序打入,但記得值順序需要對應欄。
- 可以省略資料欄名稱列表,但資料值必須全部填入,而且資料值順序必須與Table裡完全一樣。
資料格式(DataType)- CHAR或CHARACTER:字元,嚴謹須先設定好長度。
- VARCHAR:儲存文字,最大255字元,很有彈性,會配合資料長度調整大小。
- DEC或DECIMAL:小數。
- DATETIME或TIMESTAMP:紀錄日期與時刻。
- DATE:只記錄日期。
- INT或INTEGER:整數。
- BLOB:紀錄大量文字資料。
查詢資料表內容SELECT * FROM yourTableName;example:
SELECT * FROM my_friend_list;
*字號代表選擇每個欄位。
刪除資料表 DROP TABLE yourTableName; example:
DROP TABLE my_friend_list; 指令彙整:建立資料庫 CREATE DATABASE yourDataBaseName; 使用資料庫USE yourDataBaseName;建立資料表 CREATE TABLE yourTableName( columnName1 dataType , columnName2 dataType .......);檢視資料表DESC yourTabelName;
資料表中加入資料 INSERT INTO yourTableName( columnName1 dataType , columnName2 dataType, .....)VALUES( value1 , value2,......);查詢資料表內容 SELECT * FROM yourTableName;刪除資料表 DROP TABLE yourTableName;