SQL是一种说明性的编程语言;对于C之类的过程语言,你编写程序时需要指明得出结果所需的每个步骤,使用SQL这种说明性语言,只需描述想要的内容中,无需了解存取路径,只需提出what to do,而无需指明how to do;是一种面向集合的操作方式,只用于9个动词。因此,标准的SQL没有传统的流程控制结构,如if-then-else、for等语句。 SQL是交互式式或嵌入式语言。在交互式SQL环境中,用户输入的SQL命令直接发送到数据库管理系统,得到结果后立即显示。DBMS的服务器同时拥有图形和命令行工具,用一接受用户输入的SQL语句或包含SQL程序(脚本)的文本文件。 在开发数据库应用程序时,可以将SQL语句“嵌入”到编写程序所用的宿主语言(host language)中。宿主语言通常是一种通用语言(如C++、Java)或脚本语言(如PHP或Python).如一个PHP CGI脚本可以用SQL语句来查询MySQL数据库,MySQL交查询的结果返回给PHP变量,以便进一步分析或显示在网页上。 但在DBMS、宿主语言或操作环境中,语法上略有差异。 SQL表示“结构化查询语言”是一种变通的误解。它不是结构化的,不只用于查询,不是一种过程语言。 目前所有的关系型数据库管理系统如oracle、SQL Server、DB2、VFP都支持SQL。 查询只是SOL语言的重要组成部分,但不是全部。
整个SQL,共9个命令动词对表、对表中列、行的操作:
1 增(记录)
2 查(记录)
(查询所有年龄在20岁以下的学生姓名及其年龄) Select的选择项可以是表文件中的一个字段,也可以是一个常量,也可以是一个表达式,对于字段和表达式还可以使用下列函数:avg、sum、count、min、max等。 索引是排序的列表,在这个列表中索引列(或列表)的每个不同值和包含该值的行的硬盘地址存储在一起。DBMS无需检索整个表来定位行,而仅需扫描索引中的地址,就可以直接访问相应列。索引搜索通常要比顺序搜索快,但也是有代价的。其实质也就是另建了一张反映被索引表的行的地址清单。 3 删(记录)
4 改(记录)
5 补充SQL的三级模式:
视图是存储的select语句,它能返回基于一个或多个表(或称作基础表)检索得到的数据表; 视图的基础表可以是基本表、临时表或其他视图,是指定的数据列或数据行的集合。 CREATE VIEW view-customes ...AS SELECT ... 创建视图并不会有任何显示,只是为了让DBMS用一个命名的select语句存储视图,然后通过其检索数据。 reference:http://www.w3school.com.cn/sql/sql_select.asp -End- |
|