在做机房收费系统时,因为要查询和处理数据库中的数据,所以用到了大量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:
转载于:https://blog.51cto.com/dingxiaowei/1366815