SQL

初识SQL

Posted by Adobe on July 20, 2016 | - view

SQL 教程
这是一个学习网站,里面简单利落介绍了SQL的基本语法,适合零基础入门,增强对于SQL语法的认识。以下内容是我所做的摘抄。
我个人第一感受,SQL,很友好,简洁明了,正如我现在的断句一样,以英语那一套断句理解它,说不定有奇效。

补充: SQL Teaching - The easiest tutorial to learn SQL
下午刷了一遍里面的题目,很简单,纯属复习一下早上的知识。 sqlteaching

要创建发布数据库中数据的网站,您需要以下要素:

  • RDBMS 数据库程序(比如 MS Access, SQL Server, MySQL)
  • 服务器端脚本语言(比如 PHP 或 ASP)
  • SQL
  • HTML / CSS

SQL 对大小写不敏感!

SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。 查询和更新指令构成了 SQL 的 DML 部分
SQL 的数据定义语言 (DDL) 部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。 DML

DDL

基础教程

SQL SELECT 语法

SELECT 列名称 FROM 表名称
SELECT * FROM 表名称

SQL SELECT DISTINCT 语句

返回唯一值
SELECT DISTINCT 列名称 FROM 表名称

WHERE 子句

用于归于选择的标准
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值

AND 和 OR 运算符

AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。

ORDER语句

用于排序,默认升序(ASC),加入关键词DESC,降序

INSERT INTO 语句

INSERT INTO 表名称 VALUES (值1, 值2,….) #插入一行记录
INSERT INTO table_name (列1, 列2,…) VALUES (值1, 值2,….) #插入某一列

Update 语句

Update 语句用于修改表中的数据。
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

DELETE 语句

用于删除表中的行
DELETE FROM 表名称 WHERE 列名称 = 值

高级教程

TOP 子句

用于规定要返回的记录的数目。
SELECT TOP number|percent column_name(s) FROM table_name

LIKE 操作符

用于在 WHERE 子句中搜索列中的指定模式。
SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern

SQL 通配符

% 替代一个或多个字符
_ 仅替代一个字符
[charlist] 字符列中的任何单一字符
[!charlist] [^charlist] 不在字符列中的任何单一字符

IN 操作符

在 WHERE 子句中规定多个值。 SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,…)

BETWEEN 操作符

选取介于两个值之间的数据范围
SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2

SQL Alias

为列名称和表名称指定别名(Alias) AS

SQL join

用于根据两个或多个表中的列之间的关系,从这些表中查询数据。

SQL INNER JOIN 关键字

在表中存在至少一个匹配时,INNER JOIN 关键字返回行。
SELECT column_name(s)
FROM table_name1
INNER JOIN table_name2
ON table_name1.column_name=table_name2.column_name
INNER JOIN 与 JOIN 是相同的。

SQL LEFT JOIN 关键字

从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。简单理解,以左表的列名为主

SQL RIGHT JOIN 关键字

右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行。

SQL FULL JOIN 关键字

只要其中某个表存在匹配,FULL JOIN 关键字就会返回行。全部列出

SQL UNION 操作符

用于合并两个或多个 SELECT 语句的结果集。数据结构得一致。只列出不同的结果。

SQL SELECT INTO 语句

从一个表中选取数据,然后把数据插入另一个表中。常用于创建表的备份复件。 SELECT column_name(s)
INTO new_table_name [IN externaldatabase]
FROM old_tablename

CREATE DATABASE 语句

用于创建数据库
CREATE DATABASE database_name

CREATE TABLE 语句

用于创建表 CREATE TABLE 表名称
(
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
….
)
shujuleixing

SQL 约束

约束用于限制加入表的数据的类型。

SQL NOT NULL 约束

NOT NULL 约束强制列不接受 NULL 值。
NOT NULL 约束强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新记录或者更新记录。

SQL UNIQUE 约束

UNIQUE 约束唯一标识数据库表中的每条记录。
UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。

SQL PRIMARY KEY 约束

PRIMARY KEY 约束唯一标识数据库表中的每条记录。

SQL FOREIGN KEY 约束

一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。

SQL CHECK 约束

CHECK 约束用于限制列中的值的范围。

SQL DEFAULT 约束

DEFAULT 约束用于向列中插入默认值。
如果没有规定其他的值,那么会将默认值添加到所有的新记录。

SQL CREATE INDEX 语句

CREATE INDEX 语句用于在表中创建索引。
在不读取整个表的情况下,索引使数据库应用程序可以更快地查找数据。
CREATE INDEX index_name
ON table_name (column_name)

DROP 语句

DROP INDEX

删除表格中的索引

DROP TABLE

删除表(表的结构、属性以及索引也会被删除)

DROP DATABASE

删除数据库

TRUNCATE TABLE

仅仅需要除去表内的数据,但并不删除表本身

ALTER TABLE 语句

用于在已有的表中添加、修改或删除列。
ALTER TABLE table_name
ADD column_name datatype
ALTER TABLE table_name
DROP COLUMN column_name
ALTER TABLE table_name
ALTER COLUMN column_name datatype

AUTO INCREMENT 字段

会在新记录插入表中时生成一个唯一的数字。

CREATE VIEW 语句

在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表。
CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition

NULL 值

NULL 值是遗漏的未知数据。
默认地,表的列可以存放 NULL 值。
IS NULL 和 IS NOT NULL 操作符。

SQL函数

SELECT function(列) FROM 表

AVG 函数

SELECT AVG(column_name) FROM table_name

SQL COUNT() 函数

返回匹配指定条件的行数

SQL FIRST() 函数

返回指定的字段中第一个记录的值。

SQL LAST() 函数

返回指定的字段中最后一个记录的值。

SQL MAX() 函数

MAX 函数返回一列中的最大值。

SQL MIN() 函数

返回一列中的最小值

SQL SUM() 函数

返回数值列的总数(总额)

SQL GROUP BY 语句

GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name

SQL HAVING 子句

在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。
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

SQL UCASE() 函数

UCASE 函数把字段的值转换为大写。

SQL LCASE() 函数

LCASE 函数把字段的值转换为小写。

SQL MID() 函数

MID 函数用于从文本字段中提取字符。

SELECT MID(column_name,start[,length]) FROM table_name

SQL LEN() 函数

返回文本字段中值的长度。

SQL ROUND() 函数

用于把数值字段舍入为指定的小数位数。

SELECT ROUND(column_name,decimals) FROM table_name

SQL NOW() 函数

NOW 函数返回当前的日期和时间。

SQL FORMAT() 函数

用于对字段的显示进行格式化。
SELECT FORMAT(column_name,format) FROM table_name

SQL语句快速参考

SQL语句