这篇文章是http://www.w3school.com.cn/sql/sql_select.asp上“”SQL基础教程“”部分的学习笔记。
1.SQL简介
(1)定义
SQL 是用于访问和处理数据库的标准的计算机语言。SQL 使我们有能力访问数据库,是一种 ANSI 的标准计算机语言。
(2)SQL能做什么
-SQL 面向数据库执行查询
-SQL 可从数据库取回数据
-SQL 可在数据库中插入新的记录
-SQL 可更新数据库中的数据
-SQL 可从数据库删除记录
-SQL 可创建新数据库
-SQL 可在数据库中创建新表
-SQL 可在数据库中创建存储过程
-SQL 可在数据库中创建视图
-SQL 可以设置表、存储过程和视图的权限
2.SQL语法
(1)数据表
一个数据库通常包含一个或多个表。每个表由一个名字标识。表包含带有数据的记录(行)。下面的例子是一个名为 “Persons” 的表,表包含三条记录(每一条对应一个人)和五个列(Id、姓、名、地址和城市)。
在数据库上执行的大部分工作都由 SQL 语句完成。例如,从表中选取 LastName 列的数据的代码如下:
SELECT LastName FROM Persons
(2)分号表示
分号是在数据库系统中分隔每条 SQL 语句的标准方法,这样就可以在对服务器的相同请求中执行一条以上的语句。某些数据库软件要求必须使用分号。
(3)数据操作语言 (DML) 和 数据定义语言 (DDL)
可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。
查询和更新指令构成了 SQL 的数据操作语言 (DML) 部分:
SELECT - 从数据库表中获取数据
UPDATE - 更新数据库表中的数据
DELETE - 从数据库表中删除数据
INSERT INTO - 向数据库表中插入数据
**SQL 的数据定义语言 (DDL) 部分使我们有能力创建或删除表格。**我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。
SQL 中最重要的 DDL 语句:
CREATE DATABASE - 创建新数据库
ALTER DATABASE - 修改数据库
CREATE TABLE - 创建新表
ALTER TABLE - 变更(改变)数据库表
DROP TABLE - 删除表
CREATE INDEX - 创建索引(搜索键)
DROP INDEX - 删除索引
3.SQL语句
(1)SELECT
从名为 “Persons” 的数据库表,获取名为 “LastName” 和 “FirstName” 的列的内容
SELECT LastName,FirstName FROM Persons
从 “Persons” 表中选取所有的列,使用符号 * 取代列的名称
SELECT * FROM Persons
(2)DISTINCT
从 “Orders”列表中选取"Company" 列中所有的值,我们需要使用 SELECT 语句
SELECT Company FROM Orders
如需从 Company" 列中仅选取唯一不同的值,我们需要使用 SELECT DISTINCT
SELECT DISTINCT Company FROM Orders##把重复的忽略了
(3)WHERE 子句
将 WHERE 子句添加到 SELECT 语句,有条件地从表中选取数据
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
常用的操作符如下所示。
举例:选取居住在城市 “Beijing” 中的人,我们需要向 SELECT 语句添加 WHERE 子句
SELECT * FROM Persons WHERE City='Beijing'
#注:文本要用引号
WHERE中还可以使用AND和OR,来同时设置多个条件,很简单不举例了。
(4)ORDER BY
ORDER BY 语句用于根据指定的列对结果集进行排序。默认按照升序对记录进行排序。如果希望按照降序对记录进行排序,可以使用 DESC 关键字。
下面是几个例子。
select name,surfacearea from country order by surfacearea
select name,surfacearea from country order by surfacearea DESC
select name,region,surfacearea from country order by region,surfacearea DESC
输出结果分别如下所示。
(5)INSERT INTO
#用于向表格中插入新的行。
INSERT INTO 表名称 VALUES (值1, 值2,....)
#在指定的列中插入数据
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
(6)UPDATE
Update 语句用于修改表中的数据
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
一个例子。
#我们为 lastname 是 "Wilson" 的人添加 firstname:Fred
UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson'
#修改地址(address),并添加城市名称(city)
UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing'
WHERE LastName = 'Wilson'
结果分别如下
(7)DELETE
DELETE语句可用于删除表中的某一行
DELETE FROM 表名称 WHERE 行名称 = 值
一个简单的例子。
DELETE FROM Person WHERE LastName = 'Wilson'
原数据:
也可以在不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整的
DELETE FROM table_name
DELETE * FROM table_name