当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SQL Server数据库技术(11)

MSSQL
MySQL中SQL的单字节注入与宽字节注入
解决MySQL 5数据库连接超时问题
通过事务日志解决SQL Server常见四大故障
将SQL 2000日志迁移到SQL Server 2008
在应用环境中如何构造最优的数据库模式
数据库安全管理的三个经验分享
SQL Server应用程序的高级Sql注入
Oracle数据库与SQL Server数据库镜像对比
讲解SQL Server安装sp4补丁报错的解决方法
SQL Server 2005数据库批量更新解决办法
编写和优化SQL Server的存储过程
从数据行入手保护SQL Server数据安全
SQL Server数据体系和应用程序逻辑详解
网友分享:Oracle数据库开发技术经验浅谈
把你的数据库置于版本控制之下
SQL Server 2005实现数据库缓存依赖
SQL Server数据库管理常用SQL和T-SQL语句
初学者必读:提高SQL执行效率的几点建议
初探MS SQL CE+Codesmith
优化SQLServer数据库服务器内存配置的策略

MSSQL 中的 SQL Server数据库技术(11)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 64 ::
收藏到网摘: n/a

    SQL 语言是一种介于关系代数与关系演算之间的语言,其功能包括查询、操纵、定义和控制4 个方面,是一个通用的、功能极强的关系数据库语言。

4.1.1 SQL 概述
   
 SQL 语言是1974 年由Boyce 和Chamberlin 提出的。1975 年至1979 年,IBM 公司San Jose Research Laboratory 研制的关系数据库管理系统原形系统System R 实现了这种语言。由于它功能丰富,语言简洁,使用方法灵活,倍受用户和计算机业界的青睐,被众多的计算机公司和软件公司采用。经过多年的发展,SQL 语言已成为关系数据库的标准语言。

4.1.2 SQL 语言的组成
    SQL 语言主要由以下几部分组成:
     ·数据定义语言(DDL,Data Definition Language);
     ·数据操纵语言(DML,Data Manipulation Language);
     ·数据控制语言(DCL,Data Control Language);
     ·其它语言要素(Additional Language Elements)。
    SQL 语句数目、种类较多、其主体大约由40 条语句组成,如表4-1 所示。



4.1.3 SQL 语句的结构
    所有的SQL 语句均有自己的格式,如图4-1 所示每条SQL 语句均由一个谓词(Verb)开始,该谓词描述这条语句要产生的动作,如图4-1 中的SELECT 关键字。谓词后紧接着一个或多个子句(Clause)子句中给出了被谓词作用的数据或提供谓词动作的详细信息。每一条子句由一个关键字开始,如图4-1 中的WHERE。



4.1.4 常用的SQL 语句

    在使用数据库时用得最多的是数据操纵语言(Data Manipulation Language)。 DML包含了最常用的核心SQL 语句,即SELECT 、INSERT 、UPDATE 、DELETE。 下面对以后章节中经常用到的SELECT 语句作简单介绍(有关这些语句的具体语法请参见“数据查询:和“数据库更新”章节)
    简单的SELECT 语句的语法如下:
      SELECT [ALL|DISTINCT] <目标表达式>[,<目标表达式>]...
      FROM <表或视图名>[, <表或视图名>]...
      [WHERE <条件表达式>]
      [GROUP BY <列名1> [HAVING <条件表达式>]]
      [ORDER BY <列名2> [ASC | DESC] ]
    整个SELECT 语句的含义是:根据WHERE 子句的条件表达式,从FROM 子句指定的基本表或视图中找出满足条件的元素组,再按SELECT 子句中的目标列表达式选出元素组中的属性值形成结果表。如果有GROUP 子句,则将结果按<列名1>的值进行分组,该属性列值相等的元素组为一个组,每个组产生结果表中的一条记录。如果GROUP 子句带有HAVING 短语,则只有满足指定条件的组才予以输出。如果有ORDER 子句,则结果表还要按<列2>的值升序或降序排序。下面对SELECT 语句的常用形式举例说明。

    例4-1:查询所有员工的员工号和工资
use pangu
select emp_id,e_wage
from employee

运行结果如下:
emp_id e_wage
-------- ---------------------
10010001 8000.0000
......(因数据太多故省略之)

   &nb