SQL功能与特性   

 其实,在前面的文章中,已经提及SQL命令的一些基本功能。然而,通过
SQL命令,程序设计师或数据库管理员(DBA)可以:    (一)建立数据库的表格。(包括设置表格所可以使用之空间)     (二)改变数据库系统环境设置。   (三)针对某个数据库或表格,授予用户存取权限。     (四)对数据库表格建立索引值。     (五)修改数据库表格结构。(新建、删除或是修改表格字段)     (六)对数据库进行数据的新建。     (七)对数据库进行数据的删除。     (八)对数据库进行数据的修改。   (九)对数据库进行数据的查询。      这几项便是通过SQL命令可以完成的事情,看起来是不是比起“查询”两个字所代表的功能要多的多了呢?    SQL语法的分类   其实SQL命令并不是非常多,可是要把SQL用到出神入化,却也只需要短短几个命令便够,因为SQL命令是针对关系型数据库所建立出来的语法叙述,所以SQL在这类数据库中所发挥的功能非常的强,以下将针对在VB中常用的SQL语法基本命令加以分类介绍。在说明SQL的命令以及使用语法之前,以下将SQL做了的分类,大致上SQL语法所使用到的类型,可以说都已包含在这些类别当中。   
第一类、属性词(Predicates)
   在SQL命令中用来指明所要选择的记录的方式。如ALL、TOP与
DISTINCT等等。   第二类、声明(Declaration)
针对SQL Parameter或Parameter Query 的名称与数据类型做声明,如
PARAMETERS的声明等等。   第三类、条件子句(Clause)
在SQL的查询中,利用一些表达式定义出查询的条件,以缩小寻找
的范围,如WHERE。   第四类、运算符(Operator)与操作数(Operation)
在SQL的查询中,与Operation共同组成表达式(Expression),如
BETWEEN....AND 运算符与INNER JOIN操作数。   第五类、函数(Function)
一些SQL常见的函数,像是AVG()是求算数平均数的函数。   第六类、SQL语句(Statement)
SQL的语句,可以说是SQL语法的主体,用来对某一个特定的数据
库发出指示,并返回相关的数据,而SQL的语法结构,基本上可以利
用下面的式子来表示:命令+条件子句
   例如:
SELECT*FROM TAB WHERE TAB.NAME='A'
其中的“FROM....WHERE”便是一个条件子句,其实SQL的语法并
不难,您只需记住这样的一个规则,相信可以很快的了解SQL用法。    SQL语法与命令     SELECT 语句    SELECT[predicate]{* table.* [table.]field [,[table.]field2[,...]]} [AS alias1
[,alias2[,...]]]   FROM tableexpression [,...][IN externaldatabase]    [WHERE...]    [GROUP BY...]   [HAVING...]    [ORDER BY...]    [WITH OWNERACCESS OPTION]   SELECT 语句包括下面几个部分   predicate 
如前面所述,包括了ALL,DISTINCT,DISTINCTROW,与TOP 我们可以利用
这样的语句去限制查询后所得的结果。   *
从指定表格中指定所有的字段。   table
针对被选择出的记录的字段,所指定表格的名称。   field1,field2
想要读取数据的字段名称,如果包含了一个以上的字段,会依照列出的顺序来
读取数据。   alias1,alias2
用来替代在表格实际字段名称的化名。   tableexpression
表格名称或包含我们所想要的数据的表格。   externaldatabase
若使用到不是目前的数据库则将其名字定义在externaldatabase当中。     ALL,DISTINCT,DISTINCTROW,TOP属性词用法   SELECT [ALL DISTINCT DISTINCTROW [TOP n[PERCENT]]] FROM
table
  ALL   若是您不指定任何的字段数据,则Microsoft Jet数据库引擎(database engine)将会选择所有的字段,并依据所定的条件查询出需求数据集。
例如下面这两个例子将会具有相同的效果,都会从职员表格中返回所有字段的数据。
例如:
若是我们要查询出职员表格中的所有记录,可以通过下面的语句来完成。  
SELECT ALL* FROM 职员表格; DISTINCT  
对某个表格所选择的字段数据,略过重复的情况,也就是说,针对某个
字段查询出来的记录结果是唯一的。例如有许多存放在职员表格的职员数
据,也许会具有相同的姓名,所以若是我们用SQL语句中的SELECT
DISTINCT,则查询出来的结果将会针对不一样的姓名加以筛选。若是您把
DISTINCT 加以省略,则这样的查询会显示所有的记录。 DISTINCTROW
将整条记录重复的记录忽略掉,而不是只有针对某一个字段的数据。   table
指定查询记录所需要的表格。
例如: 
SELECT DISTINCTROW 公司名称 
FROM 顾客表格 INNER JOIN 订单表格
ON 顾客表格.顾客ID=订单表格.顾客ID  
   ORDER BY 公司名称;      如果您忽略 DISTINCTROW 则会对每个公司产生一行以下的订单数据。
此外,若是DISTINCTROW只有用在一个表格当中,则会被省略掉。   TOP
从第一条或最后一条开始(利用ORDER BY条件子句),返回特定条数的数
据。
例如:
当您想要知道在2000年,班上前25名的学生姓名数据时,您可以输入
这样的语句:
SELECT TOP 学生姓名
FORM 学生表格  
WHERE 毕业年份=     ORDER BY 毕业成绩平均分数 DESC;  
如果您没有加上ORDER BY 这行条件的话,您所得到的数据,将会随
机的数据。此外,在TOP语句之后,除了可以加上数字以外,还可以利用
保留字PERCENT来查询。      例如:  
SELECT TOP PERCENT学生姓名  
FROM学生表格
WHERE毕业年份=  
ORDER BY毕业成绩平均DESC;     PARAMETERS(参数)声明的用法   对于参数型的查询语法中,对参数的名称以及数据类型作 声明的操作。  
PARAMETERS name datatype[,name datatype[,...]]      name 
PARAMETERS的名称。您可以把参数名称当作字符串来使用,若是名称中包
含了空字符串,可以利用中括号来处理,例如:“VBeden”。   datatype 
输入参数的数据类型。  
例如: 
若是您在查询时,需要机动的输入姓名 ,可以利用下列的方式完成:  
PARAMETERS “输入姓名” Text;  
SELECT*
FROM 职员表格
WHERE姓名=“输入姓名:”; ORDER BY条件语句   此条件子句,通常与SELECT语句合并使用目的是将查询的结果,依照指定字段加以排序。  
SELECT fieldlist  
FROM table
WHERE selectcriteria 
ORDER BY field[ASC DESC][,field2[ASC DESC][,...]]      fieldlist
欲查询的字段名称。其中可以与ALL,DISTINCT,DISINCTROW,或TOP
一起来使用。     table  
欲查询的表格名称。     selectcriteria 
查询的标准设置。    field1
指定要依照那个字段作为排序的依据,若是你没有加上ORDER BY查询出的
数据集将不会作排序的操作。   ASC
递增顺序类别。(默认值)    DESC
递减顺序类别。
例如:
或是我们要将输出数据依据出生的先后次序排列,可以利用下面的命
令。  
SELECT 姓名,生日
FROM 职员表格  
ORDER BY 生日 SELECT LastName,FirstName
FROM Employees
ORDER BY LastName ASC; IN 条件子句   指定要速胜哪一个外部数据库的表格。(必须Microsoft Jet数据库引擎所可以连接的数据库,如dBase,Paradox等等)   SELECT INSERT]INTO destination IN
{path ["path" "type"] [""[type;DATABASE=path]]}
FROM tableexpression IN
{path ["path" "type"] [""[type;DATABASE=path]]}   destination  
欲插入数据的外部表格名称。   tableexpression
表格名称或是被读取数据的表格名称。这个参数可以是一个单一的表格名称,
或是一段已经被存储的SQL查询等。   path
包含该表格的完整路径名称。   type
数据库的类型名称, 通常是当数据库部属于Jet database时才会使用。(例如:
dBASE III,dBASE IV,Paradox .x,Paradox .x,或 Btrieve)   例如:下面这两段的意义相同  PartA....FROM Table
IN ""[dBASE IV;DATABASE=C:\DBASE\DATA\SALES;];   PartB....FROM Table
IN "C:\DBASE\DATA\SALES" "dBASE IV;"    例如:Microsoft Jet database  
SELECT 顾客编号
FROM 顾客表格
IN CUSTOMER.MDB
WHERE 顾客编号 Like "A*";    其中CUSTOMER.MDBO 为Jet database 的数据库名称,其中包含了顾客
表格。    例如:dBASE III or IV
SELECT 顾客编号
FROM 顾客表格
IN "C:\DBASE\DATA\SALES" "dBASE IV;"
WHERE 顾客编号 Like "A*";
  所以当我们使用不同于ACCESS 的数据库时,必须指明该数据库的类型
名称。  

[SQL]SQL语言入门级教材_SQL功能与特性(一)的更多相关文章

  1. [SQL]SQL语言入门级教材_SQL语言快速入门(五)

    SQL语言快速入门(一) SQL是英文Structured Query Language的缩写,意思为结构化查询语言. SQL语言的主要功能就是同各种数据库建立联系,进行沟通.按照ANSI(美国国家标 ...

  2. [SQL]SQL语言入门级教材_SQL数据操作基础(二)

    SQL数据操作基础(初级) netnova 于 -- :: 加贴在 数据库探讨: 为了建立交互站点,你需要使用数据库来存储来自访问者的信息.例如,你要建立一个职业介绍服务的站点,你就需要存储诸如个人简 ...

  3. [SQL]SQL语言入门级教材_SQL语言基本语句介绍(四)

    SQL语言基本语句介绍 • 表的建立 关系数据库的主要特点之一就是用表的方式组织数据.表是SQL语言存放数据.查找数据以及更新数据的基本数据结构.在SQL语言中,表有严格的定义,它是一种二维表,对于这 ...

  4. [SQL]SQL语言入门级教材_SQL语法参考手册(三)

    SQL 语法参考手册 DB2 提供了关连式资料库的查询语言 SQL (Structured Query Language),是一种非常口语化.既易学又易懂的语法. 此语言几乎是每个资料库系统都必须提供 ...

  5. [SQL]SQL语言入门级教材_跟我学SQL(六)

    跟我学SQL:(一)数据查询 且不说你是否正在从事编程方面的工作或者不打算学习SQL,可事实上几乎每一位开发者最终都会遭遇它.你多半还用不着负责创建和维持某个,但你怎么着也该知道以下的一些有关的SQL ...

  6. ASP.net(C#)利用SQL Server实现注册和登陆功能

    说说我现在吧,楼主现在从事的事IT行业,主攻DotNet技术:当然这次上博客园我也是有备而来,所有再次奉献鄙人拙作,以飨诸位,望诸位不吝赐教. 世界上大多数的工作都是熟练性的工种,编程也不例外,做久了 ...

  7. sql server实现自定义分割月功能

    本文目录列表: 1.为何出现自定义分割月需求 2.sql server实现自定义分割月功能 3.测试验证效果 4.总结语 5.参考清单列表   1.为何出现自定义分割月的需求   今天梳理一个平台的所 ...

  8. SQL设置语言,返回中文”星期几”格式

    SQL中语言表: SELECT * FROM sys.syslanguages   eg: SET LANGUAGE 简体中文 --设置语言 PRINT DATENAME(weekday,GETDAT ...

  9. SQL Server数据库(SQL Sever语言 CRUD)

    使用SQL Sever语言进行数据库的操作 常用关键字identity 自增长primary key 主键unique 唯一键not null 非空references 外键(引用) 在使用查询操作数 ...

随机推荐

  1. Send an email with format which is stored in a word document

    1. Add a dll reference: Microsoft.Office.Interop.Word.dll 2. Add the following usings using Word = M ...

  2. shopex 网店系统安装教程

    centos上配置shopex环境(LNMP)  安装包地址: http://download.csdn.net/detail/nanmu1258/9109297 软件默认下载至在/opt/local ...

  3. Load an X509 PEM file into Windows CryptoApi

    http://stackoverflow.com/questions/1231178/load-an-x509-pem-file-into-windows-cryptoapi I discovered ...

  4. 【linux】linux服务管理

    ps:xinetd只要求了解

  5. bzoj4109: [Wf2015]Cutting Cheese

    Description 给定一个100*100*100(单位:毫米)的奶酪方块,这个奶酪含有n个球形小孔.现在要求将这个奶酪切成s片使得每片质量相等. Input 第一行包含两个整数n,s,表示奶酪有 ...

  6. android学习笔记16——对话框

    android支持丰富的对话框,常用4中对话框: 1.AlertDialog: 2.ProgressDialog:进度对话框,这个对话框只是对进度条的封装 3.DatePickerDialog:日期选 ...

  7. gcc中动态库和静态库的链接顺序

    so文件:动态库a文件: 静态库exe文件:可执行程序(linux下以文件属性来标示是否是可执行文件,与后缀名无关) 经过自己写的一些测试程序,大致了解了下gcc中链接顺序问题,总结出以下几点:1,动 ...

  8. CGI技术原理

    一.CGI技术 1.1 CGI的提出 CGI是外部扩展应用程序与WWW服务器交互的一个标准接口.按照CGI标准编写的外部扩展应用程序可以处理客户端(一般是WWW浏览器)输入的协同工作数据,完成客户端与 ...

  9. 26种提高ASP.NET网站访问性能的优化方法 .

    1. 数据库访问性能优化 数据库的连接和关闭 访问数据库资源需要创建连接.打开连接和关闭连接几个操作.这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源. ASP.NET中提供了连接池 ...

  10. JavaScript: bind apply call

    var foo = function(age,sex){ console.log(this.name,age,sex); }; //call将改变函数运行的context foo.call({name ...