SQL语句要点笔记(一)

SQL:

  • 结构化查询语言(Structural Query Language)

  • SQL要求文本值使用单引号 single quote(大多数数据库系统也支持双引号 double quotes),数字值不使用引号。

SELECT

DISTINCT

在表中,可能会包含重复的值,可以用这个关键字排除重复的值,比如,想找出一个Customers表中的所有用户的国家:

SELECT DISTINCT Country FROM Customers;

COUNT

有时,还会想找出符合条件的记录的数量,可以使用 COUNT 关键字:

SELECT COUNT(CustomerID) FROM Customers WHERE Country='Mexico;

WHERE

WHERE支持下列操作符(不限于所列几种):

BETWEEN: 处于某个范围中间的值 SELECT * FROM Customers WHERE CustomerID BETWEEN 3 AND 5

<>: 不等于(有些数据库也支持 !=

IN: 为列指定多个可能的值, SELECT * FROM Customers WHERE CustomerID IN (1, 3, 8)

AND OR NOT 操作符

以下两句等价:

SELECT * FROM Customers WHERE NOT Country='Mexico'

SELECT * FROM Customers WHERE Country<>'Mexico'

NOT 运算符只作用临近它的部分,如下面的语句表示所有不是德国的并且是美国的顾客(实际上是美国的肯定就不是德国的),NOT 并不能作用在 AND 及其后面的部分。

SELECT * FROM Customers WHERE NOT Country='Germany' AND Country='USA'

若想表示既不是德国的也不是美国的顾客,可以用下面两种方法:

SELECT * FROM Customers WHERE NOT (Country='Germany' OR Country='USA')

SELECT * FROM Customers WHERE NOT Country='Germany' AND NOT Country='USA'

ORDER BY

将符合条件的结果按某个Field的值排列,默认按升序排列 ASC,如果想按降序 ,加 DESC;

SELECT * FROM Customers ORDER BY Country DESC;

ORDER BY 支持按多个 Field 的值排列,第一个 Field 相同的将按照第二个 Field 排列。也即EXCEL的主关键字、次关键字

SELECT * FROM Customers ORDER BY Country, CustomerName;

还可以分别为这些 Field 指定排列顺序的方法 ASC|DESC:

SELECT * FROM Customers ORDER BY Country ASC, CustomerName DESC;

INSERT INTO

used to insert new records into a table

Usage:

INSERT INTO Customers (column1, column2, column3) VALUES (value1, value2, value3)

当要插入的数据包含表中的所有列的时候,可以不用指定列名:

INSERT INTO Customers VALUES ('Cardinal', 'Tom B. Erichsen', 'Skagen 21', 'Stavanger', '4006', 'Norway');

等价于:

INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country) VALUES ('Cardinal', 'Tom B. Erichsen', 'Skagen 21', 'Stavanger', '4006', 'Norway');

但是,当插入的数据并不包含所有的列时,必须指定列名

INSERT INTO Customers (CustomerName, City, Country) VALUES ('Cardinal', 'Stavanger', 'Norway');

而且值的顺序必须与指定列名顺序对应,未插入的列值为 NULL

NULL

如何在条件中判断是 NULL 或不是 NULL 呢?

不能使用 =, < or >, 要用 IS NULL and IS NOT NULL

SELECT * FROM Customers WHERE City IS NULL

SELECT * FROM Customers WHERE City IS NOT NULL

UPDATE

Usage:

UPDATE tablename SET column1=value1, column2=value2 WHERE condition;

注意:使用此语句一般要加 WHERE 条件,如果省略的话,这个表的所有 column1 值都将被改变

可以改变多个 column 的值,赋值部分以逗号隔开。

DELETE

Usage:

DELETE FROM tablename where condition

当想删除表中所有记录而不删除表的话就可以使用 DELETE 语句:

DELETE * FROM tablename

or

DELETE FROM tablename

你可能感兴趣的:(SQL语句要点笔记(一))