SQL语句快速查询
| SQL语句 | 语法 | 说明 |
| AND / OR | SELECT column_name(s) FROM table_name WHERE condition AND|OR condition |
AND & OR 运算符用于基于一个以上的条件对记录进行过滤
|
| ALTER TABLE | ALTER TABLE table_name ADD column_name datatype ALTER TABLE table_name DROP COLUMN column_name |
|
| AS (alias) | SELECT column_name AS column_alias FROM table_name SELECT column_name FROM table_name AS table_alias |
创建别名是为了让列名称的可读性更强。
在下面的情况下,使用别名很有用:
|
| BETWEEN | SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2 |
BETWEEN 操作符选取介于两个值范围内的值。这些值可以是数值、文本或者日期。 不在范围内的用 NOT BETWEEN。 在不同的数据库中,BETWEEN 操作符会产生不同的结果! |
| CREATE DATABASE | CREATE DATABASE database_name | |
| CREATE TABLE | CREATE TABLE table_name ( column_name1 data_type, column_name2 data_type, column_name2 data_type, ... ) |
|
| CREATE INDEX | CREATE INDEX index_name ON table_name (column_name) CREATE UNIQUE INDEX index_name ON table_name (column_name) |
|
| CREATE VIEW | CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition |
|
| DELETE | DELETE FROM table_name WHERE some_column=some_value DELETE FROM table_name (Note: Deletes the entire table!!) DELETE * FROM table_name (Note: Deletes the entire table!!) |
DELETE 语句用于删除表中的行。 WHERE 子句规定哪些记录需要删除。省略了 WHERE 子句,所有的记录都将被删除! 在不删除表的情况下,删除表中所有的行。这意味着表结构、属性、索引将保持不变 |
| DROP DATABASE | DROP DATABASE database_name | |
| DROP INDEX | DROP INDEX table_name.index_name (SQL Server) DROP INDEX index_name ON table_name (MS Access) DROP INDEX index_name (DB2/Oracle) ALTER TABLE table_name DROP INDEX index_name (MySQL) |
|
| DROP TABLE | DROP TABLE table_name | |
| GROUP BY | SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name |
|
| HAVING | SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name HAVING aggregate_function(column_name) operator value |
INSERT INTO 语句用于向表中插入新记录。 |
| IN | SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2,..) |
IN 操作符允许在 WHERE 子句中规定多个值 |
| INSERT INTO | INSERT INTO table_name VALUES (value1, value2, value3,....) INSERT INTO table_name (column1, column2, column3,...) VALUES (value1, value2, value3,....) |
INSERT INTO 语句用于向表中插入新记录。 |
| INNER JOIN | SELECT column_name(s) FROM table_name1 INNER JOIN table_name2 ON table_name1.column_name=table_name2.column_name |
从多个表中返回满足 JOIN 条件的所有行。 表中存在至少一个匹配时返回行。如果表中的行在另一个表中没有匹配,则不会列出这些行。 |
| LEFT JOIN | SELECT column_name(s) FROM table_name1 LEFT JOIN table_name2 ON table_name1.column_name=table_name2.column_name |
|
| RIGHT JOIN | SELECT column_name(s) FROM table_name1 RIGHT JOIN table_name2 ON table_name1.column_name=table_name2.column_name |
|
| FULL JOIN | SELECT column_name(s) FROM table_name1 FULL JOIN table_name2 ON table_name1.column_name=table_name2.column_name |
|
| LIKE | SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern |
LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。 通过使用 NOT 关键字,选取不匹配模式的记录。 |
| ORDER BY | SELECT column_name(s) FROM table_name ORDER BY column_name [ASC|DESC] |
ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序。 ORDER BY 关键字默认按照升序(ASC)对记录进行排序。降序使用 DESC 关键字。 ORDER BY 多列的时候,先按照第一个column_name排序,再按照第二个column name排序 |
| SELECT |
SELECT column_name(s) FROM table_name |
SELECT 语句用于从数据库中选取数据。 结果被存储在一个结果表中,称为结果集 |
| SELECT * |
SELECT * FROM table_name |
|
| SELECT DISTINCT | SELECT DISTINCT column_name(s) FROM table_name |
SELECT DISTINCT 语句用于返回唯一不同的值。 |
| SELECT INTO | SELECT * INTO new_table_name [IN externaldatabase] FROM old_table_name SELECT column_name(s) INTO new_table_name [IN externaldatabase] FROM old_table_name |
|
| SELECT TOP | SELECT TOP number|percent column_name(s) FROM table_name |
SELECT TOP 子句用于规定要返回的记录的数目。 SELECT TOP 子句对于拥有数千条记录的大型表来说,是非常有用的。 并非所有的数据库系统都支持 SELECT TOP 语句。 MySQL 支持 LIMIT 语句来选取指定的条数数据, Oracle 可以使用 ROWNUM 来选取。 在 Microsoft SQL Server 中还可以使用百分比作为参数。 |
| TRUNCATE TABLE | TRUNCATE TABLE table_name | |
| UNION | SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2 |
|
| UNION ALL | SELECT column_name(s) FROM table_name1 UNION ALL SELECT column_name(s) FROM table_name2 |
|
| UPDATE |
UPDATE table_name SET column1=value, column2=value,... |
UPDATE 语句用于更新表中已存在的记录。 WHERE 子句规定哪些记录需要更新。省略了 WHERE 子句,所有的记录都将被更新! 执行没有 WHERE 子句的 UPDATE 要慎重,再慎重。 |
| WHERE | SELECT column_name(s) FROM table_name WHERE column_name operator value |
WHERE 子句用于提取那些满足指定标准的记录。 |
SQL 是用于访问和处理数据库的标准的计算机语言。
SQL 是什么?
- SQL,指结构化查询语言,全称是 Structured Query Language。
- SQL 让您可以访问和处理数据库。
- SQL 是一种 ANSI(American National Standards Institute 美国国家标准化组织)标准的计算机语言。
SQL 能做什么?
- SQL 面向数据库执行查询
- SQL 可从数据库取回数据
- SQL 可在数据库中插入新的记录
- SQL 可更新数据库中的数据
- SQL 可从数据库删除记录
- SQL 可创建新数据库
- SQL 可在数据库中创建新表
- SQL 可在数据库中创建存储过程
- SQL 可在数据库中创建视图
- SQL 可以设置表、存储过程和视图的权限
虽然 SQL 是一门 ANSI(American National Standards Institute 美国国家标准化组织)标准的计算机语言,但是仍然存在着多种不同版本的 SQL 语言。
然而,为了与 ANSI 标准相兼容,它们必须以相似的方式共同地来支持一些主要的命令(比如 SELECT、UPDATE、DELETE、INSERT、WHERE 等等)。
注释:除了 SQL 标准之外,大部分 SQL 数据库程序都拥有它们自己的专有扩展!
RDBMS
RDBMS 指关系型数据库管理系统,全称 Relational Database Management System。
RDBMS 是 SQL 的基础,同样也是所有现代数据库系统的基础,比如 MS SQL Server、IBM DB2、Oracle、MySQL 以及 Microsoft Access。
RDBMS 中的数据存储在被称为表的数据库对象中。
表是相关的数据项的集合,它由列和行组成。
数据库表
一个数据库通常包含一个或多个表。每个表由一个名字标识,表包含带有数据的记录(行)。
SQL 对大小写不敏感:SELECT 与 select 是相同的。
一些最重要的 SQL 命令
- SELECT - 从数据库中提取数据
- UPDATE - 更新数据库中的数据
- DELETE - 从数据库中删除数据
- INSERT INTO - 向数据库中插入新数据
- CREATE DATABASE - 创建新数据库
- ALTER DATABASE - 修改数据库
- CREATE TABLE - 创建新表
- ALTER TABLE - 变更(改变)数据库表
- DROP TABLE - 删除表
- CREATE INDEX - 创建索引(搜索键)
- DROP INDEX - 删除索引
SELECT 语句用于从数据库中选取数据。
SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。
在上个实例中 'CN' 文本字段使用了单引号。
如果是数值字段,请不要使用引号。
AND & OR 运算符用于基于一个以上的条件对记录进行过滤。

浙公网安备 33010602011771号