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. Web Pages razor 学习

    1. Web Pages razor Web Pages 是三种 ASP.NET 编程模型中的一种,用于创建 ASP.NET 网站和 web 应用程序. 其他两种编程模型是 Web Forms 和 M ...

  2. setOnKeyListener响应两次问题

    1.Android一次按下操作定义了两个事件,ACTION_DOWN和ACTION_UP,即按下和松手两个动作.   2.除了判断是什么按键被按下,还应该判断按键是up还是down   3.调用eve ...

  3. nginx禁止未绑定域名访问 并且强行断开连接

    总有些人,会把自己的域名绑到你的主机上. 出于什么原因,我没想到,但你肯定不愿意别人这么做. 在nginx中,用以下代码,配置一个默认主机. server { listen 80 default_se ...

  4. selenium+python自动化之CSS定位

    一.css:属性定位 1.css可以通过元素的id.class.标签这三个常规属性直接定位到 2.如下是百度输入框的的html代码: <input id="kw" class ...

  5. CSharp 调用存储过程来执行增、删、改操作

    对表进行增,删,改数据时,每次都需要访问一次数据库,这样会影响性能:如果把查询的数据拼接成XML形式,作为一个参数整体传给存储过程来处理,这只访问数据库一次,执行速度会快很多. 1.CSharp 代码 ...

  6. [转]何为C10K问题

    我在学习网络编程的时候经常看到C10K问题,那么究竟什么是C10K问题呢?我看到了一篇好文章就转了过来,原文地址为:c10k问题 所谓c10k问题,指的是服务器同时支持成千上万个客户端的问题,也就是c ...

  7. [转]使用eclipse+pydev远程调试OpenStack

    作者:张华  发表于:2014-01-17版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 ( http://blog.csdn.net/quqi99 ) 1, ...

  8. 【Executor】配置ThreadPoolExecutor

    来自为知笔记(Wiz) 附件列表

  9. php返回状态200或者300的写法

    header("HTTP/1.0 200 OK"); phpinfo(); header("HTTP/1.0 300 OK"); phpinfo();

  10. hi35183e增加exfat文件系统的支持

    64G-128G的tf卡文件系统格式为exfat,而hi3518e默认只支持fat32格式的tf卡.为了挂载64G以上的tf卡,只能将sd卡先格式化成FAT32.鉴于exfat性能比FAT32强,因此 ...