欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SQL基础入门教程

程序员文章站 2022-07-05 22:48:04
SQL 是用于访问和处理数据库的标准的计算机语言,可以使用 SQL 访问和处理数据系统中的数据,这类数据库包括:Oracle, Sybase, SQL Server, DB2, A...

SQL 是用于访问和处理数据库的标准的计算机语言,可以使用 SQL 访问和处理数据系统中的数据,这类数据库包括:Oracle, Sybase, SQL Server, DB2, Access 等等。

重要事项:SQL对大小写不敏感

SQL 语句后面的分号?有的数据库需要有的数据库不需要。

SQL DML 和 DDL

可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。

SQL (结构化查询语言)是用于执行查询的语法。但是 SQL 语言也包含用于更新、插入和删除记录的语法。

查询和更新指令构成了 SQL 的 DML 部分:

SELECT - 从数据库表中获取数据

UPDATE - 更新数据库表中的数据

DELETE - 从数据库表中删除数据

INSERT INTO - 向数据库表中插入数据

SQL 的数据定义语言 (DDL) 部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。

SQL 中最重要的 DDL 语句:

CREATE DATABASE - 创建新数据库

ALTER DATABASE - 修改数据库

CREATE TABLE - 创建新表

ALTER TABLE - 变更(改变)数据库表

DROP TABLE - 删除表

CREATE INDEX - 创建索引(搜索键)

DROP INDEX - 删除索引

SQL SELECT 语句

SELECT 列名称 或 (*) FROM 表名称

SQL SELECT DISTINCT 语句

SELECT DISTINCT 列名称 FROM 表名称(仅仅列出不同(distinct)的值)

SQL WHERE 子句

SELECT 列名称 FROM 表名称 WHERE 列 运算符 值(WHERE 子句用于规定选择的标准)

SQL基础入门教程

SQL AND & OR 运算符

AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来,显示符合条件的记录。

SQL ORDER BY 子句

ORDER BY 语句用于根据指定的列对结果集进行排序,ORDER BY 语句默认按照升序对记录进行排序。如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。

SQL INSERT INTO 语句

INSERT INTO 表名称 VALUES (值1, 值2,….) 或者 INSERT INTO table_name (列1, 列2,…) VALUES (值1, 值2,….)

(INSERT INTO 语句用于向表格中插入新的行)

SQL UPDATE 语句

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

SQL DELETE 语句

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

SQL TOP 子句

SELECT TOP number|percent column_name(s)

FROM table_name

(TOP 子句用于规定要返回的记录的数目,对于拥有数千条记录的大型表来说,TOP 子句是非常有用的。

注释:并非所有的数据库系统都支持 TOP 子句)

SQL LIKE 操作符

SELECT column_name(s)

FROM table_name

WHERE column_name LIKE pattern

(LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式)

SQL 通配符

SQL基础入门教程

SQL IN 操作符

SELECT column_name(s)

FROM table_name

WHERE column_name IN (value1,value2,…)

(IN 操作符允许我们在 WHERE 子句中规定多个值)

SQL BETWEEN 操作符

SELECT column_name(s)

FROM table_name

WHERE column_name

BETWEEN value1 AND value2

(操作符 BETWEEN … AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期)

SQL Alias(别名)

SQL基础入门教程

SQL JOIN VS SQL INNER JOIN

SELECT column_name(s)

FROM table_name1

INNER JOIN table_name2

ON table_name1.column_name=table_name2.column_name

在表中存在至少一个匹配时,INNER JOIN 关键字返回行。(注释:INNER JOIN 与 JOIN 是相同的)

SQL LEFT JOIN

SELECT column_name(s)

FROM table_name1

LEFT JOIN table_name2

ON table_name1.column_name=table_name2.column_name

(LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行)

SQL RIGHT JOIN

RIGHT JOIN 关键字会右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行

SQL FULL JOIN

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

SQL UNION 和 UNION ALL 操作符

UNION 操作符用于合并两个或多个 SELECT 语句的结果集,UNION 命令只会选取不同的值,UNION ALL 命令会列出所有的值。

SQL SELECT INTO

SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中,SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档。

SQL 约束 (Constraints)

SQL基础入门教程

SQL 拥有很多可用于计数和计算的内建函数

在 SQL 中,基本的函数类型和种类有若干种。函数的基本类型是:Aggregate 函数和Scalar 函数

合计函数(Aggregate functions)的操作面向一系列的值,并返回一个单一的值。

注释:如果在 SELECT 语句的项目列表中的众多其它表达式中使用 SELECT 语句,则这个 SELECT 必须使用 GROUP BY 语句!

SQL基础入门教程

SQL HAVING

在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用

SQL基础入门教程

SQL MID() 函数

SELECT MID(column_name,start[,length]) FROM table_name(MID 函数用于从文本字段中提取字符)