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,...
WHERE some_column=some_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 语句用于从数据库中选取数据。

SELECT column_name,column_name FROM table_name;
SELECT * FROM table_name;
 
SELECT DISTINCT 语句用于返回唯一不同的值。
SELECT DISTINCT column_name,column_name FROM table_name;
WHERE 子句用于过滤记录。

SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。

在上个实例中 'CN' 文本字段使用了单引号。

如果是数值字段,请不要使用引号。

AND & OR 运算符用于基于一个以上的条件对记录进行过滤。

posted on 2018-06-28 22:47  qmkkx  阅读(133)  评论(0)    收藏  举报