教程学习地点:http://www.w3school.com.cn/sql/
SQL是一种标准,一种技术方案,使得数据的存储,添加,查询等操作与使用者分离开,从而使用者不需要关注实现细节而可以广泛地在各种版本的RDBMS中使用(类似于封装).
RDBMS是指关系型数据库管理系统(relation data base managing system).RDBMS中的数据存储在被称为表(tables)的数据库对象中.表是相关的数据项的集合,它由列和行组成.
一个数据库通常包含一个或者多个表,每个表由一个名字标识,表包含带有数据的记录(行).
下面的例子是一个名为 "Persons" 的表:
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Adams | John | Oxford Street | London |
2 | Bush | George | Fifth Avenue | New York |
3 | Carter | Thomas | Changan Street | Beijing |
需要注意的是:SQL对大小写不敏感.
SQL可以分为两个部分,一是数据操作语言(DML),另一个是数据定义语言(DDL)
DML: 查询和更新工作构成了DML的主要部分
- SELECT --从数据库表中获取数据
- UPDATE --更新数据库表中的数据
- DELETE --从数据库表中删除数据
- INSERT INTO --向数据库表中插入数据
DLL: 数据定义语言(DDL)是我们有能力创建或删除表格.我们也可以定义索引(键),规定表之间的链接,以及施加表之间的约束.
- CREATE DATABASE --创建新数据库
- ALTER DATABASE --修改数据库
- CREATE TABLE --创建新数据表
- ALTER TABLE --修改数据表
- DROP TABLE --删除数据表
- CREATE INDEX --创建数据索引(键)
- DROP INDEX --删除数据索引(键)
SELECT 以及 SELECT *语句
SELECT语句用于从表中选取数据.结果被存储在一个结果表中(称为结果集).
- SELECT 列名称 FROM 表名称
- SELECT * FROM 表名称
- SELECT 列1,列2 FROM 表名称
DISTINCT
关键词DISTINCT用于返回唯一不同的值.
- SELECT DISTINCT 列名称 FROM 表名称
WHERE 子句
如需有条件地从表中选取数据,可将WHERE子句添加到SELECT语句.
- SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
运算符包含下列: = <> > < >= <= BETWEEN LIKE
示例: SELECT * FROM Persons WHERE City=‘BeiJing‘
注意:使用单引号来环绕文本值,如果是数值,不需要使用引号.
AND 和 OR 运算符
AND 和 OR 运算符用于基于一个以上的条件对记录进行过滤.
- SELECT * FROM Persons WHERE FirstName=‘Thomas‘ AND LastName=‘Carter‘
- SELECT * FROM Persons WHERE FirstName=‘Thomas‘ OR LastName=‘Carter‘
我们也可以把 AND 和 OR 结合起来(使用圆括号来组成复杂的表达式):
- SELECT * FROM Persons WHERE (FirstName=‘Thomas‘ OR FirstName=‘William‘) AND LastName=‘Carter‘
ORDER BY 语句
ORDER BY 语句用于根据指定的列对结果集进行排序.
ORDER BY 语句默认按升序对记录进行排序.
如果希望按照降序对记录进行排序,可以使用DESC 关键词.
- SELECT Company, OrderNumber FROM Orders ORDER BY Company
- SELECT Company, OrderNumber FROM Orders ORDER BY Company, OrderNumber
- SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC
- SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber DESC
INSERT INTO 语句
INSERT INTO语句用于向表中插入新的行.
INSERT INTO 表名称 VALUES (值1,值2,....)
INSERT INTO 表名称 (列1,列2,...) VALUES (值1,值2,...)
- INSERT INTO Persons VALUES (‘Gates‘, ‘Bill‘, ‘xuanwumen 10‘, ‘BeiJing‘)
- INSERT INTO Persons (LastName, Address) VALUES (‘Wilson‘, ‘Champs-Elysees‘)
UPDATE 语句
UPDATE 语句用于修改表中的数据.
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
- UPDATE Persons SET FirstName = ‘Fred‘ WHERE LastName = ‘Wilson‘
- UPDATE Persons SET Address = ‘ Zhongshan 23 ‘, City = ‘NanJing‘ WHERE LastName = ‘Wilson‘
DELETE 语句
DELETE 语句用于删除表中的行.
DELETE FROM 表名称 WHERE 列名称 = 值
- DELETE FROM Persons WHERE LastName = ‘Wilson‘
- DELETE FROM Persons
- DELETE * FROM Persons