在做机房收费系统时,因为要查询和处理数据库中的数据,所以用到了大量SQL语句。SQL(Structured Query Language)指结构化查询语言,是用于访问和处理数据库的标准的计算机语言。
SQL的作用有很多,包括从数据库中获取数据,插入、更新数据库中的数据,删除数据库记录,创建、修改新数据库,在数据库中创建、删除表等。
本来打算就写几个简单的我常用的语句的介绍,但是写着写着就不会写了,看到了这个快速参考用的表,就想将他加以整理,这样也很清晰。这些资料都是原有的,我只是加以整理、整合。一些简单的介绍,只是希望在使用SQL语句时能想到有这么个语句。
注:常用的黑体显示。这里的常用和不常用,是我根据自己是否用过决定的。
列名(s) 符合条件的所有列
语句 |
语法 |
作用/解释 |
|
辅助语句 不能单独使用,可以和SELECT语句组合使用。更好的查询数据库数据。 |
|||
AND / OR |
SELECT 列名(s) FROM 表名WHERE 条件 |
And,同True才True;Or:同False才False。 |
|
AS (alias for column) |
SELECT 列名 AS 列的别名 |
为列名称指定别名。 |
|
AS (alias for table) |
SELECT 列名FROM 表名AS 表的别名 |
为表名称指定别名。 |
|
BETWEEN |
SELECT 列名(s)FROM 表名WHERE 列名 |
BETWEEN 操作符在 WHERE 子句中使用,作用是选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。 |
|
GROUP BY(注1) |
SELECT 列名, 合计函数(列名) FROM 表名 WHERE 列名 操作符 值 GROUP BY 列名 |
用于结合合计函数(如SUM),根据一个或多个列对结果集进行分组。 |
|
HAVING |
SELECT 列名1,合计函数(列名2)FROM 表名 GROUP BY 列名1 HAVING SUM(列名2) 条件 值 |
在 SQL 中增加 HAVING 子句,可与合计函数一起使用。 |
|
IN |
SELECT 列名(s)FROM 表名WHERE 列名IN (值1,值2,..) |
IN 操作符允许我们在 WHERE 子句中规定多个值。 和And相似。 |
|
LIKE(注2) NOTLIKE |
SELECT 列名(s) FROM 表名WHERE 列名LIKE 指定模式 |
LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。 |
|
ORDER BY |
SELECT 列名(s) |
用于根据指定的列对结果集进行排序。 默认按照升序对记录进行排序。降序对记录进行排序,可以使用 DESC 关键字。 |
|
WHERE |
SELECT 列名(s)FROM 表名WHERE 条件 |
如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句。 |
|
查询语句 Select |
|||
SELECT |
SELECT 列名(s) |
根据列名,获取表中一列或多列。 |
|
SELECT * |
SELECT * FROM 表名 |
获取表中所有列 |
|
SELECT DISTINCT |
SELECT DISTINCT 列名(s) FROM 表名 |
用于返回唯一不同的值。 在表中,可能会包含重复值。Distinct可以只列出不同值。相同值合并。 |
|
SELECT INTO |
SELECT * INTO 新表名 or SELECT 列名(s) |
SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中。 SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档。 |
|
创建 Create 创建新数据库、新索引、新表、唯一的索引、新视图 |
|||
CREATE DATABASE |
CREATE DATABASE 数据库名 |
创建数据库 |
|
CREATE INDEX (注3) |
CREATE INDEX 索引名 |
在表中创建索引。 |
|
CREATE TABLE |
CREATE TABLE 表名 |
创建表 |
|
CREATE UNIQUE INDEX |
CREATE UNIQUE INDEX 索引名ON 表名(列名) |
在表上创建一个唯一的索引。唯一的索引意味着两个行不能拥有相同的索引值。 Note:列名,规定需要索引的列。 |
|
CREATE VIEW |
CREATE VIEW 视图名AS |
创建视图 |
|
增加记录 |
|||
ALTER TABLE (add column) |
ALTER TABLE 表名 |
改变表,通过增加列 |
|
INSERT INTO |
INSERT INTO 表名 or INSERT INTO 表名 |
插入新记录 |
|
删除 Delete /Drop(撤销) |
|||
ALTER TABLE (drop column) |
ALTER TABLE 表名 |
改变表,通过删除列 |
|
DELETE FROM |
DELETE(*) FROM 表名 or DELETE FROM 表名称 WHERE 列名称 = 值 |
删除所有的行,但不删除表 或 语句用于删除表中的某行 |
|
DROP DATABASE |
DROP DATABASE 数据库名 |
删除数据库 |
|
DROP INDEX |
DROP INDEX 表名.索引名 |
删除表格中的索引 |
|
DROP TABLE |
DROP TABLE 表名 |
删除表(表的结构、属性以及索引也会被删除) |
|
TRUNCATE TABLE |
TRUNCATE TABLE 表名 |
仅删除表中的数据(不删除表的结构、属性以及索引) |
|
修改 Update |
|||
UPDATE |
UPDATE 表名称 SET 列名称=新值,列名称=新值… WHERE 列名称 = 某值 |
修改表中的数据。 |
注1.
SQL操作符(运算符)
下面的运算符可在 WHERE 子句中使用:
操作符 |
描述 |
= |
等于 |
<> |
不等于 |
> |
大于 |
< |
小于 |
>= |
大于等于 |
<= |
小于等于 |
BETWEEN |
在某个范围内 |
LIKE |
搜索某种模式 |
注2.
SQL通配符
在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。SQL 通配符必须与 LIKE 运算符一起使用。
通配符 |
描述 |
% |
替代一个或多个字符 |
_ |
仅替代一个字符 |
[charlist] |
字符列中的任何单一字符 |
[^charlist] or [!charlist] |
不在字符列中的任何单一字符 |
注3:
本文转自蓬莱仙羽51CTO博客,原文链接:http://blog.51cto.com/dingxiaowei/1366815,如需转载请自行联系原作者