資料庫類型: 層次資料庫(Hierarchical Database, HDB) 數據通過層次結構(樹形結構)的方式表示出來。 關係型資料庫(Relational Database, RDB) 使用專門的SQL(Structured Query Language,結構化查詢語言)語言對數據信息操作。 ...
資料庫類型:
- 層次資料庫(Hierarchical Database, HDB)
數據通過層次結構(樹形結構)的方式表示出來。
- 關係型資料庫(Relational Database, RDB)
使用專門的SQL(Structured Query Language,結構化查詢語言)語言對數據信息操作。
- 面向對象資料庫(Object Oriented Database, OODB)
把數據以及數據的操作集合起來以對象為單位進行管理。
- XML資料庫(XML Database, XMLDB)
可以對XML形式的大量數據進行高速處理。
- 鍵值存儲系統(key-Value Store, KVS) 如redis
單純用來保存查詢所使用的主鍵和值得組合的資料庫。
SQL語句及種類
- DDL (Data Definition Language)數據定義語言:
CREATE : 創建資料庫和表對象
DROP: 刪除資料庫和表對象
ALTER: 修改資料庫和表對象得結構
- DML(Data Manipulation Language資料庫操作語言)占90%
SELECT
INSERT
UPDATE
DELETE
- DCL(Data Control Language資料庫控制語言)
COMMIT:確認對資料庫中的數據進行的變更。
ROLLBACK:取消對資料庫中的數據進行的變更。
GRANT:賦予用戶操作許可權。
REVOKE:取消用戶的操作許可權。
SQL基本書寫規則
SQL語句以分號(;)結尾。
SQL不區分關鍵字的大小寫。
書寫規則:
- 關鍵字大寫
- 表名的首個字大寫
- 其餘(列名等)小寫
字元串和日期常數需要使用單引號(') 括起來。數字常數無需加註單引號(直接書寫數字即可)。
單詞之間需要使用半形空格或者換行進行分隔。
表的創建
資料庫的創建:CREATE DATABASE <資料庫名稱>;
表的創建:
CREATE TABLE<表名>
(<列名1> <數據類型> <該列所需約束>,
<列名2> <數據類型> <該列所需約束>,
...
<該表的約束1>,<該表的約束1>,...)
CREATE TABLE Shohin (shohin_id CHAR(4) NOT NULL, shohin_mei VARCHAR(100) NOT NULL, shohin_bunrui VARCHAR(32) NOT NULL, hanbai_tanka INTEGER , shiire_tanka INTEGER , torokubi DATE , PRIMARY KEY (shohin_id));
資料庫名稱、表名和列名等可以使用以下三種字元:半形英文字母、半形數字、下劃線(_)。
名稱必須以半形英文字母作為開頭。
數據類型的指定:INTEGER、CHAR(定長字元串)、VARCHAR(可變長字元串)、DATE
約束:NOT NULL、 NULL、 PRIMARY KEY。
表的刪除和更新
刪除表:DROP TABLE <表名>;
添加列:ALTER TABLE <表名> ADD COLUMN <列的定義>;
刪除列:ALTER TABLE <表名> DROP COLUMN <列名>;
插入數據:
START TRANSACTION; INSERT INTO Shohin VALUES ('0001', 'T恤' ,'衣服', 1000, 500, '2009-09-20'); INSERT INTO Shohin VALUES ('0002', '打孔器', '辦公用品', 500, 320, '2009-09-11'); INSERT INTO Shohin VALUES ('0003', '運動T恤', '衣服', 4000, 2800, NULL); INSERT INTO Shohin VALUES ('0004', '菜刀', '廚房用具', 3000, 2800, '2009-09-20'); INSERT INTO Shohin VALUES ('0005', '高壓鍋', '廚房用具', 6800, 5000, '2009-01-15'); INSERT INTO Shohin VALUES ('0006', '叉子', '廚房用具', 500, NULL, '2009-09-20'); INSERT INTO Shohin VALUES ('0007', '擦菜板', '廚房用具', 880, 790, '2008-04-28'); INSERT INTO Shohin VALUES ('0008', '圓珠筆', '辦公用品', 100, NULL, '2009-11-11'); COMMIT;