注意:SQL对大小写不敏感

1、SQL语法

SQL DML 和 DDL


可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。

SQL (结构化查询语言)是用于执行查询的语法。但是 SQL 语言也包含用于更新、插入和删除记录的语法。

查询和更新指令构成了 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

2、SQL select:

SELECT 列名称 FROM 表名称 

或者 SELECT * FROM 表名称

(*)是选取所有列的快捷方式


获取两个列,使用 :


SELECT LastName,FirstName FROM Persons


3、SQL SELECT DISTINCT 语句


在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。

关键词 DISTINCT 用于返回唯一不同的值。

SELECT DISTINCT列名称 FROM 表名称

4、SQL WHERE 子句

SELECT 列名称 FROM 表名称 WHERE 列 运算符 值



<>不等于   BETWEEN在某个范围内    LIKE 搜索某种模式



单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用引号。

比如 SELECT * FROM Persons WHEREFirstName='Bush'(WHERE year>1965)

5、SQL AND & OR 运算符


AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。

如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。

如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。

也可以把 AND 和 OR 结合起来(使用圆括号来组成复杂的表达式),此时可显示多条。

6、SQL ORDER BY 子句


根据指定的列队结果集进行排序,默认按照升序对记录进行排序,如果希望使用降序,可以DESC关键字。


SELECT Company, OrderNumber FROM Orders ORDER BY Company 顺序显示


SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC 逆序显示


SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC 公司逆序,号码顺序显示(前 一个一样,就按后一个排序)



7、SQL INSERT INTO 语句


向表格中插入新的行:


INSERT INTO 表名称 VALUES (值1, 值2,....)


举例:


INSERT INTO Persons VALUES ('Gates', 'Bill', 'Xuanwumen 10', 'Beijing')




也阔以指定所要插入数据的列:


INSERT INTO 表名称 (列1, 列2,...)


举例:


INSERT INTO Persons (LastName, Address)




8、SQL UPDATE 语句


用于修改表中的数据


UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值


举例:更新一行中的一个列


UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson' 


9、SQL DELETE 语句



用于删除表中的行。



DELETE FROM 表名称 WHERE 列名称 = 值



删除某行:



DELETE FROM Person WHERE LastName = 'Wilson' 



删除所有行:



DELETE * FROM table_name