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