這是第一篇關於數據庫的,本着詳細的原則,基礎的還是不能放過,還是那句話,有問題,歡迎指出!
-------------------------------------------------------------自然的分割線-------------------------------------------------------------------
一,什么是數據庫(Database)
數據庫也是一種軟件,是按照數據結構來組織、存儲和管理數據的倉庫;類比存貨的倉庫, 其中數據結構可能是貨物的類型(食物,器材等),放貨物的容器(箱,包等),貨物的堆放方式(橫着堆,豎着堆)以及貨物之間的排列方式等等。假如在淘寶上買東西,你的個人信息,收貨地址,商品信息,訂單信息等都可以放在數據庫中。
二,什么是SQL
結構化查詢語言(Structured Query Language)簡稱SQL,是一種數據庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系數據庫系統;說白了就是可以編寫一串命令來操作數據庫的語言。
三,常用的數據庫
目前商品化的數據庫管理系統以關系型數據庫為主導產品,技術比較成熟,如微軟的Access(小型),SQL server(僅windows,中大型);免費開源的MySql(中小型),成熟穩定的Oracle(中大型),流行而又陌生的DB2(中大型)和開源的postgresql(中大型)。其他非關系型數據庫如MongoDB,Redis,Hbase等,可以自行了解下。
四,SQL的增刪查改
借鑒w3school,雖然不同的數據庫使用sql有着不同差異,但是都兼容標准,注:w3school說SQL 對大小寫不敏感!如SELECT 等效於 select
1,查詢 SELECT (測試中,適用於查詢表的所有信息)
執行后,結果被存儲在一個結果表中(稱為結果集)
SELECT 列名稱(或*) FROM 表名稱 ---------*代表全部列
2,插入 INSERT(測試中,適用於在表中插入新的行)
INSERT INTO 表名稱 VALUES (值1, 值2,....) ---------值與列相對應
也可以指定所要插入數據的列:
INSERT INTO 表名稱 (列1, 列2,...) VALUES (值1, 值2,....) ---------未包括列的值為空
3,修改 UPDATE(測試中,適用於修改表中的值,需要where條件)
UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值 ---------修改多列,列名稱=新值,列名稱=新值,...
4,刪除 DELETE(測試中,適用於刪除表中的某一行,可需要where條件)
DELETE FROM 表名稱 WHERE 列名稱 = 值 ----------不加where條件,刪除所有行數據
五,常用輔助查詢
1,DISTINCT 語句(測試中,適用於去除重復值,並返回列)
SELECT DISTINCT 列名稱 FROM 表名稱 ----------針對多列重復,列名稱,列名稱,...
2,WHERE 語句(測試中,適用於有條件選取語句)
SELECT 列名稱 FROM 表名稱 WHERE 列 運算符 值
部分運算操作符如下:
3,AND 和 OR 語句(測試中,適用於結合多個where條件)
AND 顯示多個條件都滿足的記錄,而OR 只要有一個條件滿足則顯示。
SELECT 列名稱 FROM 表名稱 WHERE 列 運算符 值 AND/OR 列 運算符 值 ---------可用圓括號來組成復雜的表達式
4,LIKE與通配符(測試中,適用於查找特定的某一值)
SELECT 列名稱 FROM 表名稱 WHERE 列 LIKE 值 -----------如查找姓氏為李的所有記錄,where name like '李%'
值可以使用一下通配符組成:
5,IN與BETWEEN操作符(測試中,in適用於設置多個值,between適用於值的區間)
SELECT 列名稱 FROM 表名稱 WHERE 列 IN (值1,值2,...) SELECT 列名稱 FROM 表名稱 WHERE 列 BETWEEN 值1 AND 值2 ---------這里值1值2可以使數字,文本,日期,不同的數據庫可能包含值1值2,也可能不包含
6,ORDER BY 語句(測試中,適用於對結果集進行排序)
SELECT 列名稱 FROM 表名稱 WHERE 列 運算符 值 ORDER BY 列名稱 (DESC/ASC) ---------多列排序,以逗號隔開,並以第一個為准,第一個有重復地再看第二個,以此類推