摘自菜鸟教程
1.SQL SELECT
SELECT语句用于从数据库中选取数据。结果被存储在一个结果表中,称为结果集。
SELECT column_name, column_name FROM table_name;
SELECT * FROM table_name;
其中* 表示从表中选取所有列。
2.SQL SELECT DISTINCT
SELECT DISTINCT 语句用于返回唯一不同的值。
在表中,一个列可能会包含多个重复值,有时需要返回不同的值。
DISTINCT关键词用于返回唯一不同的值。
SELECT DISTINCT column_name, column_name FROM table_name;
3.SQL WHERE
WHERE子句用于过滤记录。用于提取那些满足指定条件的记录。
SELECT column_name, column_name FROM table_name WHERE column_name operator value;
实例:从 "Websites" 表中选取国家为 "CN" 的所有网站:
SELECT * FROM Websites WHERE country='CN';
4.SQL AND & OR运算符
AND&OR运算符用于基于一个以上的条件对记录进行过滤。
如果第一个条件和第二个条件都成立,则AND运算符显示一条记录;
如果第一个条件和第二个条件中只要有一个成立,则OR运算符显示一条记录。
AND运算符实例
从 "Websites" 表中选取国家为 "CN" 且alexa排名大于 "50" 的所有网站:
SELECT * FROM Websites WHERE country='CN' AND alexa>50;
OR运算符实例
从 "Websites" 表中选取国家为 "USA" 或者 "CN" 的所有客户:
SELECT * FROM Websites WHERE country='USA' OR country='CN';
结合AND&OR
从 "Websites" 表中选取 alexa 排名大于 "15" 且国家为 "CN" 或 "USA" 的所有网站:
SELECT * FROM Websites WHERE alexa >15 AND (country='CN' OR country='USA');
5. SQL ORDER BY 关键字
ORDER BY关键字用于对结果集按照一个列或者多个列进行排序;默认按照升序对记录进行排序。需要按照降序对记录进行排序可以使用DESC关键字。
SELECT column_name, column_name FROM table_name ORDER BY column_name, column_name ASC|DESC
ORDER BY 实例:从 "Websites" 表中选取所有网站,并按照 "alexa" 列排序:
SELECT * FROM Websites ORDER BY alexa;
ORDER BY DESC 实例:从 "Websites" 表中选取所有网站,并按照 "alexa" 列降序排序:
SELECT * FROM Websites ORDER BY alexa DESC;
ORDER BY 多列实例: 从 "Websites" 表中选取所有网站,并按照 "country" 和 "alexa" 列排序:
SELECT * FROM Websites ORDER BY country, alexa;
6. SQL INSERT INTO
INSERT INTO 用于向表中插入新纪录。
第一种形式无需指定要插入数据的列名,只需提供被插入的值即可。
INSERT INTO table_name VALUES (value1, value2, value3,...);
第二种形式需要指定列名及被插入的值。
INSERT INTO table_name (column1, column2,column3,...) VALUES (value1, value2, value3,...);
INSERT INTO 实例:向 "Websites" 表中插入一个新行:
INSERT INTO Websites (name, url, alexa, country) VALUES ('百度', 'http://www.baidu.com/','4','CN');
在指定的列插入数据:将插入一个新行,但是只在 "name"、"url" 和 "country" 列插入数据(id 字段会自动更新):
INSERT INTO Websites (name, url, country) VALUES ('stackoverflow', 'http://stackoverflow.com','IND');
7.SQL UPDATE
UPDATE语句用于更新表中已存在的记录。如果省略了WHERE语句,则会将整个表中的数据全更新。
UPDATE table_name SET column1=value1, column2=value2,... WHERE some_column=some_value;
把 "菜鸟教程" 的 alexa 排名更新为 5000,country 改为 USA。
UPDATE Websites SET alexa='5000', country='USA' WHERE name='菜鸟教程';
8.SQL DELETE
DELETE语句用于删除表中的行。
DELETE FROM table_name WHERE some_column=some_value;
SQL DELETE 实例:从 "Websites" 表中删除网站名为 "Facebook" 且国家为 USA 的网站:
DELETE FROM Websites WHERE name='Facebook' AND country='USA';
删除所有数据:在不删表的情况下,删除表中所有的行,这意味着表结构、属性、索引将保持不变。
DELETE * FROM table_name;
DELETE FROM table_name;