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