2010年4月18日 星期日

深入淺出SQL閱讀整理一

第一章 資料與表
  • 關聯式資料庫管理系統(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;

沒有留言:

張貼留言