SQL (Structured Query Language),即結構化查詢語言。
SQL本身是一種訪問數據庫的ANSI標準,即是用來讓我們訪問和操作數據庫的。而SQL 語句,就是用於取回和更新數據庫中的數據的具體實現方式。其中,數據庫又分爲了多種的數據庫程序系統。當然,每種數據庫程序系統除了能和ANSI進行兼容外,每個數據庫還會有自己的一些私有擴展語句。
一般情況下,SQL 對大小寫不敏感!!!(這個是相對的,有些數據庫可以設置ci、cs)
SQL語句後的分號,可要可不要。但,如果想一次運行多條語句就需要分號。
SQL的註釋:
1.單行註釋:--
2.多行註釋:/*.....*/
SQL又分爲數據操作語言 (DML) 和 數據定義語言 (DDL)。
DML(Data Manipulation Language),主要就是操作具體的數據。包括SELECT、DELETE、UPDATE、INSERT INTO。
DDL(Data Definition Language),就是用來操作數據庫、表、索引。包括了對數據庫的操作:CREATE DATABASE、ALTER DATABASE;以及對錶的操作:CREATE TABLE、ALTER TABLE、DROP TABLE;和對索引的操作:CREATE INDEX、DROP INDEX。
- DML語句
1.SELECT
SELECT * FROM 表 --查詢表內的所有數據
SELECT 列 FROM 表 --查詢表內的某一個單獨的數據
SELECT LastName,FirstName FROM user
列出不同的值:distinct
SELECT DISTINCT name FROM user
條件查詢
SELECT 列名稱 FROM 表名稱 WHERE 列 運算符 值
操作符 | 描述 |
---|---|
= | 等於 |
<> 或者 != | 不等於 |
> | 大於 |
< | 小於 |
>= | 大於等於 |
<= | 小於等於 |
BETWEEN ... AND | 在某個範圍內 |
LIKE | 模糊查詢 |
在where語句中,值 這一項,是 文本則要加引號(一般單引號,雙引號需要看數據庫程序支持與否)。若是數字則直接寫值,不用加引號。
SELECT * FROM Persons WHERE FirstName='Bush' AND Year>1965
運算符AND OR
SELECT * FROM Persons WHERE (FirstName='Thomas' OR FirstName='William') AND LastName='Carter'
ORDER BY
默認使用 升序 排列:asc(ascend)。要想使用 降序 排列:desc(descend)。
SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC
2.INSERT INTO
用於向數據庫插入新的行。分爲兩種:插入一整行,插入部分列。
INSERT INTO 表名稱 VALUES (值1, 值2,....)
INSERT INTO Persons VALUES ('Gates', 'Bill', 'Xuanwumen 10', 'Beijing') --插入新的一行數據
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
INSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees') --只插入部分數據
3.UPDATE
修改數據。分爲兩種:修改單個和修改多個。
UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值
UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson' --修改單個數據
UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing' WHERE LastName = 'Wilson' --修改多個數據
4.DELETE
刪除數據。分爲刪除一行、刪除所有行。
DELETE FROM 表名稱 WHERE 列名稱 = 值 --刪除單獨的一行
DELETE FROM Person WHERE LastName = 'Wilson'
DELETE FROM table_name 或者 DELETE * FROM table_name --刪除所有的行,仍然保留表結構。
以上,即是SQL語句的初步總結。關於數據庫、表、索引的內容,將在一下篇進行詳解。