分享
分销 收藏 举报 申诉 / 57

类型SQL-Server概述.ppt

  • 上传人:仙人****88
  • 文档编号:14758112
  • 上传时间:2026-11-14
  • 格式:PPT
  • 页数:57
  • 大小:1.35MB
  • 下载积分:10 金币
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    SQL Server 概述
    资源描述:
    ,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第,1,章,SQL Server,概述,1,1 SQL,(,Structure Query Language),IBM,公司,San Jose,实验室为,System R,而设计的查询语言。,从,1982,年开始,美国国家标准协会,(ANSI),即着手标准化工作,,1986,年,ANSI,的数据库委员会批准了,SOL,作为关系数据库语言的美国标准,这就是第一个,SQL,标准,同时公布了,SQL,标准文本。在此后不久的,1987,年,国际标准化组织,(ISO),也作出了同样的决定,目前的,SQL,标准是,1992,年制定的,SQL,一,92,标准,是一种用于与数据库进行交互的语言。,随着数据库技术的发展和数据库功能的增强,目前,各个,DBMS,厂商都自称采用,SQL,语言,但完全按,ISO,标准实现的并不多。,IBM,公司实际上以其,DB2,的,SQL,作为,IBM,的标准,其他厂商所实现的,SQL,,由于历史原因,也有不少差异,但总的倾向是向国际标准靠拢,并与,DB2,的,SQL,保持兼容。,SQL,语言的极大普及是当今计算机工业中最引入注目的趋势之一。在过去的几年中,,SQL,已经发展成为标准计算机数据库查询语言。,1,2 SQL,的特点,SQL,是一种综合的、通用的、功能极强的关系数据库语言,它包括数据定义,(Definition),、数据操纵,(Manipulation),、数据管理,(Management),、存取保护,(Access,、,Protection),、处理控制,(Control),等多种功能。利用表,(table),、索引,(index),、码,(keys),、行,(ROWS),和列,(columns),等来确定存储位置。,SQL,语言本身并不是一个很完整的编程语言,例如它不支持流控制等。一般它都与其他编程语言,(,如,Delphi,、,Powerbuilder,、,VB,、,VC,等,),结合来使用。,SQL,的主要特点在于:,(1),一体化的特点,SQL,语言能完成定义关系模式,录入数据以建立数据库、查询、更新、维护、数据库重构、数据库安全性控制等一系列操作要求,用,SQL,可以实现数据库生命期当中的全部活动。由于关系模型中实体与实体间的联系都是用关系来表示,这种数据结构的单一性保证了操作符的单一性。,(2),统一的语法结构,多种使用方式,SQL,有两种使用方式,一种是联机使用方式,另一种是嵌入程序方式。大多数的程序接口都采用嵌入的,SQL,语言。虽然使用方式不同,,SQL,语言的语法结构是一致的。这使得用户与程序员之间的通信得以改善。,(3),高度非过程化,在,SQL,中,只需用户提出“干什么”,而无须指出“怎么干”,存取路径的选择和,SQL,语句操作的过程由系统自动完成。,(4),语言简洁,SQL,语言十分简洁,语法简单。标准,SQL,中,完成核心功能只用了,6,个动词,(,如表,11,所示,),,因此简单易学,,SQL,按其功能可以分为三大部分:,数据定义语言,(Data Definition Language,,简称,DDL),,用于定义、撤消和修改数据库对象,数据操纵语言,(Data Manipulation Language,,简称,DML),,用于数据库中数据的修改和检索,数据控制语言,(Data,Control Language,,简称,DCL),,用于数据访问权限的控制,表,1,1,标准,SQL,的,6,个核心动词,SQL,功能 动 词 ,数据定义 ,CREATE ,数据操纵,INSERT,、,UPDATE,、,DELETE,、,SELECT,数据控制 ,GRANT ,(5),客户机服务器,(Client,Server),结构,SQL,能使应用程序采取分布式客户机服务器结构。交互式查询、报表打印和应用程序称为数据库的“前端”,在个人机上运行,存储和数据管理的后端数据库引擎在服务器上运行,在此情况下,,SQL,作为用于用户交互的前端工具和用于数据库管理的后端引擎之间通信的桥梁。,(6),支持异类复制,它可以将,SOL Server,数据复制到其他的数据库中,包括,Access,、,Oracle,、,Sybase,和,DB2,,并采用,ODBC,作为其连接机制。,(7)Internet,数据库功能的集成,支持数据库信息自动发布到,HTML,文档,同时结合,Microsoft,Intemet,Information Server,和,SQLServer,InternetConnector,这两个产品技术,使用户得到完整的,Internet,数据发布的能力。,1,3 SQL Server,的结构,1,3,1 SQL server,是单一进程多线程的关系型数据库,它与,ORACLE,不同之处在于,0RACLE,是多进程数据库,每一用户所打开的进程上需有一个协调机构,互相与其他进程上的协调机构做沟通,以协调多个用户对资源的存取。,SQL Server,是由执行核心来分配多个用户对数据库的存取,减少多个进程对数据库存取的沟通、协调时间,进而提高执行效率,,SQL Server,单进程,(Single Process),、多线程,(MultiThread),结构如图,11,所示。,图,11 SQL Server,单进程、多线程结构,所谓进程,是指一个具有一定独立功能的程序关于某个数据集合的一次运行活动。,简单地说,进程是可以并发执行的程序的执行过程,它是控制程序管理下的基本的多道程序单位。,程序是一个静态的概念,因此,程序本身不能刻画多道程序并发执行时的动态特性和并行特性。,进程与程序有关,但它与程序又有本质的区别,主要反映在以下几个方面。,(1),进程是程序在处理机上的一次执行过程,它是动态的概念。而程序只是一组指令的有序集合,其本身没有任何运行的含义,它是一个静态的概念。,(2),进程是程序的执行过程,是一次运行活动。因此,进程具有一定的生命期:,它能够动态地产生和消亡,即进程可以由创建而产生,由调度而执行,因得不到资源而暂停,以致最后由撤销而消亡。,也就是说,进程的存在是暂时的。而程序是可以作为一种软件资源长期保存的,它的存在是永久的。,(3),进程是程序的执行过程,因此,进程的组成应包括程序和数据。除此之外,进程还包括记录进程状态信息的“进程控制块”。,(4),一个程序可能对应多个进程。,(5),一个进程可以包含多个程序。例如,主程序执行过程中可以调用其他程序,共同组成一个运行活动。,线程,真正的冯,-,诺依曼体系的计算机结构中,,CPU,在一个时刻只能对单一任务进行处理。但在应用,windows 95,及以上版本的操作系统时常用到多任务、分时处理,这是一种特殊的任务管理调度方式。它是把单一的进程划分为多个不同的部分,每个部分被称为线程。每个线程都轮流由,CPU,分时处理。,实际应用中,单个进程可以包含多个线程,它们可以同时执行进程地址空间中的代码。为了做到这一点,每个线程都有自己的一组,CPU,寄存器和堆栈。在每个进程中,至少有一个以上的线程在执行其地址空间中的代码。,1,3,2 SQL Server,是以,Client,Server,为设计结构,就目前的,Client,Server,体系中有两种编写数据库引擎的体系结构,一种是“多进程引擎”,另一种是“单进程、多线程体系结构”。“单进程、多线程体系结构”多用于,SQL Server,。,这种结构依赖于同一应用程序内的多线程工作,而不是为每个任务运行不同的可执行程序或应用程序。下面简要介绍一下这两种在,Client,Server,体系结构下的数据库引擎。,在这种类型数据库下的应用程序使用一种专门的内部进程通信,(Internal Process Communication,,,IPC),设备进行通信,较典型的多进程数据库引擎的例子如,Oracle Server,。,多进程数据库引擎具有如下的优点:,一个数据库可以同时支持多个用户,通过在物理机器上增加更多的,CPU,来支持扩展性 在多任务操作系统中,操作系统给每个任务均分配了特定比例的,CPU,时间,因此操作系统把时间分配给了多个应用程序,从而保证了在同一时间内只有一个任务在运行。,多进程数据库引擎的缺点是占用较大的系统资源。,(2),单进程、多线程数据库引擎,多线程数据库引擎不依赖于多任务操作系统来为,CPU,安排应用程序,因此,数据库引擎自身处理的能力将提供更大的可移植性。,单进程、多线程数据库引擎具有对服务器内存需求不高,节省硬件投资的优点,但也存在一个缺点,那就是多线程,DBMS,的可扩展性还有待于进一步提高。,(3)Microsoft SQL Server,的线程服务,SOL Server,中最大的变化在于使用了线程,它不是模拟数据库内核中的线程,而是使用,Win32,操作系统线程,这就意味着这些线程运行于内存保护之下,它是由,indows,NT,操作系统内核进行抢先式调度。,在,Microsoft SQL Server,中,存在一个包含,1024,个“工作线程”的线程池,用以响应用户的连接请求。由于每个连接均对应一个线程,所以用户连接的最大数目理论上是,1024,,但实际上数目上限是,32767,。,SQL Server,动态地分配可用的线程,也就是使用户连接的数目超出了可用线程的数目,如果在单个,SQL Server,上同时支持,1000,个用户,显然系统性,能将会变得很差,但毕竟功能是存在的。,SOL Server,为不同的用途准备了不同的线程池,包括并行表格搜索、磁盘备份管理和用户连接等。,SQL Server,按,Client,Server,结构而设计,客户机服务器结构减小了网络拥挤程度,并将数据库操作分开运行,像输入和显示数据这样需要用户频繁干预的任务集中在作为客户端的,PC,机上完成,客户端可分别处理数据,但若需读取共享数据,必须依据网络管道向服务器端做存取申请,而文件和查询处理等频繁需要数据的任务则集中在数据库服务器上完成,共享数据存放在服务器端,从而使每个系统各显其能。,SQL,还允许将个人机用作网络服务器或小型、大型机数据库的前端机,从而可使用户在个人机上存取大型数据库的内容。,1,3,3 Client,Server,数据库的两个,API,API(Application,Program Interface),即为应用程序接口,在,SQL Server,应用程序中,与其他应用程序不同,它不存在预编译的程序,取而代之的是数据库特有的调用,只是以字符串的形式驻留在应用程序的源代码中。,接口类型之间的基本的差异定义了一个调用级的接口,,DBLibrary,和,ODBC,均为调用级接口。在接口内部,主应用程序使本机语言调用转变成一个数据库函数,数据操作语句以字符串的形式存储,而不是像嵌入语言中那样为预编译做好标记。,1,3,4 SQL Server,支持在客户端以,NetLibrary,或,ODBC,存取,服务器端,SQL Server,允许用下列两种方式作客户端和服务器端的连接管道。,(1)ODBC(Open,DataBase,Connection),ODBC,实际上是一个数据库的访问库,如,SQL Server,群组中的,MS Query,、,Access,、,Word,、,Excel,、,FoxPro,、,VB,、,C,等,都可依据,ODBC,和,SQL Server,连接,(,如图,1,3,所示,),,,ODBC,可以使应用程序直接操纵数据库中的数据。,ODBC,的独特之处在于使应用程序不随数据库的改变而改变。,ODBC,通过使用驱动程序来提供数据库的独立性。驱动程序与具体的数据库有关,如操作,Access,,就需要使用,Access,的,ODBC,驱动程序。,图,1-3,客户端用,ODBC,与,SQL Server,连接,驱动程序是一个用以支持,ODBC,函数调用的模块,(,通常是,DLL),,应用程序通过调用驱动程序所支持的函数来操纵数据库。若想使应用程序操纵不同类型的数据库,就要动态地连接到不同的驱动程序上。,ODBC,还有一个驱动程序管理器,(driver manager),,驱动程序管理器包含在,ODBC.DLL,中,可连接到所有的应用程序中,它负责管理应用程序中,ODBC,函数与,DLL,中函数的绑定,(Binding),。,对于大型,Client,Server,数据库管理系统,其所支持的,ODBC,驱动程序并不直接访问数据库,这些驱动程序实际上是数据库用于远程操作的网络通信协议的一个界面。,图,14,客户端用,Net-Library,与,SQLServer,服务器端连接,(2)Net-Library,在,Client,Server,的最低层,,DB-Library,必须通过网络来发送它的请求,这就要由,Net-Library,来完成这些操作,,NetLibrary,并不是由语言程序员和开发人员直接使用的,,Net-Library,提供了客户端与服务器端的连接工具。如,ISQL,w,、,Enterprise Manager,、,SecurityManager,、,VB,、,C,等客户端应用程序,都是借助,NetLibrary,与,SQL Server,连接的,(,如图,14,所示,),。,1,3,5,支持分布式数据库结构,在一个或多个网络中可有多个,SQL Server,,用户可以将数据分别存放在各个,SQLServer,上,成为分布式数据库结构,客户端可向多个,SQL Server,存取数据,或同时向多个,SQL Server,存取数据,这样可以降低单个,SQL Server,处理过多的负担,提高系统的执行效率。,1,4 SQL Server,的性能,表,12,列出了各种,SQL Server,对象的系统范围,实际的范围将以应用的不同而有所变动。,表,12 SQL Server,的性能,对 象 范 围 ,数据库 ,32767,个数据库,最小为,1MB,,最大为,1TB ,表 每个数据库最多有,20,亿个表,每列的最大字节数为,8060(,文本和图像列除外,),列 每表最多,1024,个列 ,索引 每表一个簇式索引,,249,个非簇式索引,一个复合索引最多有,16,个索引关键字 ,触发器 每表最多有,3,个触发器,分别用于,insert,、,update,和,delete ,存储过程 一个存储过程可以有,1024,个参数和最多,32,级嵌套 ,用户连接 ,32767,个 ,锁定及打开的对象 ,20,亿 ,打开的数据库 ,32767,个 ,1,6,关系数据库模型简述,关系数据库是一种所有用户可见数据都严格按表的形式组织起来的表,且所有库操作都针对这些表的数据库,关系数据模型是以集合论中的关系,(relation),概念为基础发展起来的数据模型。,当前实际的数据库系统中所支持的主要模型有:,层次模型,(Hierarchical,Model),网状模型,(Network Model),关系模型,(Relational Model),在层次数据模型中,要查找一个记录必须从根记录开始,按给定条件沿一个层次路径查找所需要的记录。,在网状数据模型中,在查找语句中不但要说明查找的对象,而且还要规定存取的路径,操作语句也比较繁琐,而关系型数据库,通过关系,按给定的选择条件选出符合条件的元组,比较灵活。,一般,ODBC(Open,DataBase,Connection),所支持的数据源大部分是关系数据库管理系统,(Relation,DataBase,Management System,,,RDBMS),。,关系数据库是应用数学方法来处理数据库数据的,最早,它由美国,IBM,公司的,E.F.Codd,提出,与层次模型和网状模型相比,有很大改进。表现在:,面向集合的处理,可以一次操作多个行,数据的逻辑独立性,使得应用程序不随数据库的改变而改变,数据的自动导航,数据的访问路径由数据库优化器决定,方便了用户操作,关系模型是,RDBMS,的基础,它包括三部分:,(1),关系模型的数据结构,关系模型的数据结构为单一的数据结构,由行和列组成的二维表,任意两行互不相同,列值是不可分的数据项,行和列的次序可任意。,(2),关系模型的完整性,关系模型的完整性包括实体完整性、参照完整性和用户定义的完整性。,实体完整性是指用主键来惟一标志表中行和列,主键的任一属性不能为空。,参照完整性指外键或者为空,或者等于它所参照的表的主键的某个值。,用户定义的完整性指对某一具体的数据库的约束条件。,(3),关系模型的数据操作,关系模型的操作表达能力非常强大,定义了很多的操作,其中主要有选择,(select),、投影,(project),、集合、连接等操作。,通过,ODBC,连接不同数据源,一个标准协议,允许应用程序连接到各种外部数据库服务器或文件。,Microsoft Jet,数据库引擎使用的,ODBC,驱动程序允许访问,SQL Server,和一些其他外部数据库。,ODBC(Open,Database Connectivity,,开放数据库连接,),是,Microsoft,为应用程序开发人员提供的一种策略,它采用单一的,API,来辐射各种不同的数据库引擎、关系的和非关系的数据库管理系统,(DBMS),。,ODBC API,的宗旨是给应用开发人员提供相似的功能,而不管所访问的数据类型是什么,这一目标是通过要求每个,ODBC,驱动程序必须达到某个预定义的一致性要求级别来实现的。,ODBC,数据源,ODBC,数据源是由数据源名称,(Data Source Name,,缩写为,DSN),来引用的。它可通过,Windows,的控制面板来创建。,ODBC,数据源位于支持开放式数据库连接性,(ODBC),协议的程序或数据库中。它包括,Microsoft SQL Server(,但并不只限于此,),。例如,,SQL Server,数据源就是,SQL Serer,数据库,(,即位于服务器上的,SOL,数据库,),以及访问该服务器所需的网络信息。,定义,ODBC,数据源所需的信息会根据其,ODBC,驱动程序的要求而不同。,数据源将指定,OLE DB,提供程序和用于访问源数据的连接字符串中的其他属性的设置。属性设置随所选提供程序的不同而不同。通常大部分属性是可选的,以便能快速完成数据源的创建。,Analysis Services,支持多种数据源,其中包括,SOL Server,数据库及由其他产品创建的数据库。,在定义新数据源时,如果指定了支持,ODBC,驱动程序的,OLE DB,提供程序,则可以将通过,ODBC,驱动程序访问的数据库选做数据源。如果使用这种提供程序,您必须在创建数据源之前创建一个系统数据源名称,(DSN),。,在对象层次结构中,数据源直接从属于以下对象:,数据库:数据库可以包含多个数据源,数据库中的多维数据集、分区和维度共享这些数据源,多维数据集:一个多维数据集只能有一个数据源。创建多维数据集时,可以从数据库的数据源中选择数据源,也可以创建新的数据源。多维数据集分区的数据源可以与多维数据集的数据源不同。链接多维数据集的数据源必须指定用于,Analysis Services,的,MS OLE DB,提供程序,添加数据源,在添加数据源后,,SQL Server,就可以通过,ODBC,读取相关数据库中的信息了,具体步骤如下:,数据源转换,对于不同的数据库,若要让,SQL Server,能够识别和使用,就必须进行数据源的转换,如有一个由,Access,创建的数据库,若要在,SQL Server,中使用,就可以按如下方式转换,(,其他数据库软件建立的数据库,其转换方式也可参照如下步骤,),。,ADO,简介,1,ADO,的发展过程,ADO,的全称为,ActiveX Data Object(ActiveX,数据对象,),,它是,Microsoft,为其最强大的数据访问接口,OLE DB,设计的,,OLE DB,是对象链接和嵌入数据库的简称,它为任何数据源都提供了高性能的访问接口,,SQL Server,也包含在其中。,ADO,技术简化了,OLE DB,的操作,,OLE DB,的程序中使用了大量的,COM,接口,如果仅是用,OLE DB,来访问数据库,灵活性确实要比,ADO,更高,但这种灵活性对于一般的数据库开发人员来说,是没有必要的,这就像是汇编语言和,C,语言的关系。,ADO,做的正是封装了这些接口,它使得对数据库的开发变得非常的简单易懂。因此现在大量的数据库系统的开发都是通过,ADO,来进行的。,使用,ADO,对象访问数据库也类似于其他技术,需产生与数据源的连接,产生命令或创建记录等步骤,但与其他访问技术不同的是,,ADO,技术对对象之间的层次和顺序关系要求不是太严格。,在程序开发过程中,由于已经进行了封装,不必先建立连接,然后才能产生记录对象,它可以利用这种封装直接对数据库建立连接并产生记录对象。这种模型简化了程序设计,增强了程序的灵活性。,2,ADO,的对象,ADO,包含许多的对象,这些对象分别对一类操作进行了封装,例如连接,(Connection),对象就封装了所有用于从数据源到结果数据集的操作。使用这些对象可以对数据库进行很简单的操控。下面将分别介绍这些对象。,连接,(,Connecction,),:用于数据源到客户间的连接,以及处理命令或事务。,命令,(Command),:用于执行,SQL,语句。,记录集,(,RecordSet,),:记录集对象用于对数据表数据或返回的结果集的操作。它提供了方便的操作表或结果集的操作,用户不必会用,SQL,语言,就可以对数据库进行操作。,字段,(Field),:字段对象用于操作列的信息。,参数,(Parameter),:参数对象用于命令附加的参数。,错误,(Error),:将对出现的错误进行操作。,属性,(Property),:,Property,对象用于对,ADO,对象本身的属性和操纵。,事件,(Event),:事件将使得异步操作变为可能。一般用事件响应和回调函数来实现这个过程。,3,ADO,的开发步骤,虽然使用多种,IDE(,集成开发环境,),来开发数据库时使用的语句或方法可能不同,但不同开发环境开发,ADO,程序时的开发步骤却是一致的。这种开发步骤如下。,步骤,1,连接到数据源。同时确定对数据源的更改成功与否。,步骤,2,指定访问数据源的命令,同时可带变量参数或优化执行。,步骤,3,执行命令。,步骤,4,如果这个命令使数据按表中的行的形式返回,则将这些行存储在易于检查、操作或更改的缓存中。,步骤,5,可使用缓存行的更改内容来更新数据源。,步骤,6,检查错误并返回报告。,在各种环境中使用,SQL Server,1.,在,Visual C+,中使用,SQL Server,使用,VC,连接数据库,需要首先使用,import,关键字指定使用,ADO,的动态链接库名称,如下所述。,#import“c:program filescommon filessystemadomsado15.dll”no_namespacerename(“EOF”,”adoEOF”),并且必须使用如下语句来初始化,ADO,组件。,_,coiInitialize(NULL,);,2.,在,C#,中使用,SQL Server,try,/,建立连接,创建资源服务,string,sConnectionString,=,ConfigurationManager.ConnectionStringspoliceConnectionString.ToString,();,using(,SqlConnection,conn3=new,SqlConnection(sConnectionString,),conn3.Open();,using(,SqlCommand,cmd3=new,SqlCommand(delete,poli_alert_01,conn3),cmd3.ExecuteNonQuery();,/,写入数据库,using(,SqlConnection,conn4=new,SqlConnection(sConnectionString,),conn4.Open();,using(,SqlCommand,cmd4=new,SqlCommand(INSERT,INTO poli_alert_01(,id,placename,危机指数,multi)values(,id,placename,危机指数,multi),conn4),cmd4.Parameters.AddWithValue(id,FeatIdcnt,);,cmd4.Parameters.AddWithValue(placename,name001);,cmd4.Parameters.AddWithValue(,危机指数,0);,cmd4.Parameters.AddWithValue(multi,0);,cmd4.ExecuteNonQuery();,3.,在,ASP,中使用,SQL Server,ASP,的语法一般采用,VBScript,这是一种跟,VB,中使用的语言非常类似的语言,因此对数,据库的访问,ASP,也同,VB,有许多相同之处。,(1),定义数据类型。,Set,conn,=,Server.CreateObject(ADODB.connection,),conn.connectionstring,=,DataBase,=,northwind;uid,=;,pwd,=;Driver=SQL,Server;server,=,localhost,Set,rs,=,Server.CreateObject(Adodb.Recordset,),Set,cmd,=,Server.CreateObject(Amand,),(2),连接数据库。,Conn.open,strconn,(3),使用记录集操作数据库。,(4),如有必要,可直接使用,Command,对象和,Parameters,对象进行,T-SQL,语句的操作。,(5),断开连接。,关闭连接,conn.close,(),释放记录集,Set,Rs,=Nothing,释放连接,Set,conn,=Nothing,SQL,语句,(,1,),INSERT,语句,(,见例:,SQL/ADO/,ado.asp,),用户可以用,INSERT,语句将一行记录插入到指定的一个表中。例如,要将雇员,John Smith,的记录插入到表中,可以使用如下语句:,INSERT INTO,EMPLOYEES (,LastName,FirstName,),VALUES,(,Smith,John,),通过这样的,INSERT,语句,系统将试着将这些值填入到相应的列中。这些列按照我们创建表时定义的顺序排列。在本例中,第一个值“,Smith”,将填到第一个列,LAST_NAME,中;第二个值“,John”,将填到第二列,FIRST_NAME,中,以此类推。,如果,SQL,拒绝了你所填入的一列值,语句中其他各列的值也不会填入。这是因为,SQL,提供对事务的支持。一次事务将数据库从一种一致性转移到另一种一致性。如果事务的某一部分失败,则整个事务都会失败,系统将会被恢复(或称之为回退)到此事务之前的状态。,回到原来的,INSERT,的位置,,请注意所有的整形十进制数都不需要用单引号引起来,而字符串和日期类型的值都要用单引号来区别。,对于日期类型,我们必须使用,SQL,标准日期格式(,yyyy-mm-dd,),但是在系统中可以进行定义,以接受其他的格式。,(,2,),SELECT,语句,SELECT,语句可以从一个或多个表中选取特定的行和列。,SELECT,语句最简单的语法如下:,SELECT,columns,FROM,tables;,要消除结果中的重复行,只要在,SELECT,语句中加上,DISTINCT,子句:,SELECT DISTINCT,BRANCH_OFFICE,FROM,EMPLOYEES;,现在已经消除了重复的行,但结果并不是按照顺序排列的。如果你希望以字母表顺序将结果列出又该怎么做呢?只要使用,ORDER BY,子句就可以按照升序或降序来排列结果:,SELECT DISTINCT,BRANCH_OFFICE,FROM,EMPLOYEES,ORDER BY,BRANCH_OFFICE,ASC,;,如果你希望以降序排列,那么可以用关键字,DESC,。,应该指出,ORDER BY,子句只将临时表中的结果进行排序;并不影响原来的表。,将一个很长的表中的所有列名写出来是一件相当麻烦的事,所以,SQL,允许在选择表中所有的列时使用*号:,SELECT *FROM EMPLOYEES;,(,3,),UPDATE,语句,UPDATE,语句允许用户在已知的表中对现有的行进行修改。,例如,我们刚刚发现,Indiana Jones,的等级为,16,,工资为,$40,000.00,,我们可以通过下面的,SQL,语句对数据库进行更新,:,UPDATE,EMPLOYEES,SET,GRADE=16,SALARY=40000,WHERE,FIRST_NAME=Indiana,AND,LAST_NAME=Jones;,上面的例子说明了一个单行更新,但是,UPDATE,语句可以对多行进行操作。满足,WHERE,条件的所有行都将被更新。如果,你想让,Boston,办事处中的所有职员搬到,New York,,你可以使用如下语句:,UPDATE,EMPLOYEES,SET,BRANCH_OFFICE=New York,WHERE,BRANCH_OFFICE=Boston;,如果忽略,WHERE,子句,表中所有行中的部门值都将被更新为,New York,。,(,4,),DELETE,语句,DELETE,语句用来删除已知表中的行。如同,UPDATE,语句中一样,所有满足,WHERE,子句中条件的行都将被删除。由于,SQL,中没有,UNDO,语句或是“你确认删除吗?”之类的警告,在执行这条语句时千万要小心。,DELETE FROM,EMPLOYEES,WHERE,BRANCH_OFFICE=Los Angeles;,如同,UPDATE,语句中一样,省略,WHERE,子句将使得操作施加到表中所有的行。,DELETE,语句的语法流图如下面所示:,DELETE FROM table,WHERE predicate logical-connector predicate ,实例一,:,(,sql/ado/ado2.asp),说明:,首先要明确建立,Recordset,对象,然后利用,rs.Open,strSql,conn,1,3,语句打开它,:,其中第一个参数,strSql,就是数据库中表,EMPLOYEES,的名称;,第二个参数,conn,是,Connection,对象实例名称;,第三个参数为指针类型参数;,第四个参数是锁定类型参数;,参数“,1”,:键盘指针,在记录集中可以向前或向后移动,当某客户做了修改后,(,除了增加新数据,),,其他用户都可以立即显示。,参数“,3”,:代表可以同时被多个客户修改。,实例二:,(police/,map_reny_update.asp,),人员更新,0 then,num=num+1,response.Write(num,&,相同,=&,trim(arr(num,),response.Write,(),strSql,=update,map_reny,set mark=1 where name=+arr(num-1)+,Set,rs,=,Server.CreateObject(Adodb.Recordset,),rs.Open,strSql,conn,1,3,end if,recordset1.movenext,wend,response.Write,(,更新成功!,),%,
    展开阅读全文

    开通VIP折扣优惠下载文档

    提示  咨信网声明:本文档由用户上传并分享,仅供学习交流、研究之用,未经授权,严禁复制、发行、汇编、翻译或网络传播等,侵权必究。

    咨信网小贴示:
    1、浏览或下载可查看了解,请点击【咨信网告知】。
    2、下载文件中如有侵权或不适当内容,将立即纠正。
    3、如果因为网速或其他原因下载失败请重新下载,重复下载[60天内]不扣币。
    4、开具发票登录电脑端申请,请点击【索取发票】。

    咨信网客服组:【微信客服】

    自信AI创作助手
    关于本文
    本文标题:SQL-Server概述.ppt
    链接地址:https://www.zixin.com.cn/doc/14758112.html

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork