龙空技术网

海航云知道之一文读懂SQL

海航云 128

前言:

如今兄弟们对“aspsql”大概比较关注,看官们都需要学习一些“aspsql”的相关资讯。那么小编也在网摘上网罗了一些对于“aspsql””的相关资讯,希望同学们能喜欢,大家一起来学习一下吧!

很多程序员视 SQL 为洪水猛兽,它是一种为数不多的声明性语言,它的运行方式完全不同于我们所熟知的命令行语言、面向对象的程序语言。今天海航云就为各位同行分享一下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创建一个显示数据库中数据的网站,需要:

RDBMS 数据库程序(比如 MS Access、SQL Server、MySQL)

使用服务器端脚本语言,比如 PHP 或 ASP

使用 SQL 来获取您想要的数据

使用 HTML / CSS

一些最重要的 SQL 命令

SELECT - 从数据库中提取数据

UPDATE - 更新数据库中的数据

DELETE - 从数据库中删除数据

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

CREATE DATABASE - 创建新数据库

ALTER DATABASE - 修改数据库

CREATE TABLE - 创建新表

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

DROP TABLE - 删除表

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

DROP INDEX - 删除索引

关于 SQL 语句的执行顺序,三点请注意

1、 FROM 才是 SQL 语句执行的第一步,并非 SELECT 。数据库在执行 SQL 语句的第一步是将数据从硬盘加载到数据缓冲区中,以便对这些数据进行操作。

2、 SELECT 是在大部分语句执行了之后才执行的,严格的说是在 FROM 和 GROUP BY 之后执行的。理解这一点是非常重要的,这就是你不能在 WHERE 中使用在 SELECT 中设定别名的字段作为判断条件的原因。

如果你想重用别名z,你有两个选择。要么就重新写一遍 z 所代表的表达式:

或者求助于衍生表、通用数据表达式或者视图,以避免别名重用。请看下文中的例子。

3、 无论在语法上还是在执行顺序上, UNION 总是排在在 ORDER BY 之前。很多人认为每个 UNION 段都能使用 ORDER BY 排序,但是根据 SQL 语言标准和各个数据库 SQL 的执行差异来看,这并不是真的。尽管某些数据库允许 SQL 语句对子查询(subqueries)或者派生表(derived tables)进行排序,但是这并不说明这个排序在 UNION 操作过后仍保持排序后的顺序。

注意:并非所有的数据库对 SQL 语句使用相同的解析方式。如 MySQL、PostgreSQL和 SQLite 中就不会按照上面第二点中所说的方式执行。

永远要记得: SQL 语句的语法顺序和其执行顺序并不一致,这样我们就能避免一般性的错误。如果你能记住 SQL 语句语法顺序和执行顺序的差异,你就能很容易的理解一些很常见的 SQL 问题。

参考内容:

;fromid=86007&fromtitle=sql

标签: #aspsql