您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > SQLSERVER2000-教程1(PPT文档)
SQL教程2002.091网络数据库技术——SQLSERVER2000教程汕头电广播电视大学理工教学部张晓红2002年9月SQL教程2002.092SQLServer历史SQLServer是由Microsoft开发和推广的大型的关系数据库管理系统,最初由Microsoft、Sybase和Ashton-Tate三家公司共同开发,88年推出第一个版本。90年,Ashton-Tate公司退出开发,92年,SQLServer移植到NT上,94年两家公司分别开发,Microsoft专注于开发和推广SQLServer的NT版,而Sybase则专注于SQLServer在UNIX操作系统上的应用。SQL教程2002.093SQLSERVER版本简介96年,SQLServer6.5;98年,SQLServer7.0;2000年,SQLServer2000,中文版。各种版本及运行环境:企业版(EnterpriseEdition):NT企业版4.0或W2000Advancedserver或更高标准版(StandardEdition):NT企业版4.0或NTsever4.0或2000server或更高个人版(PersonalEdition):Windows9x、NT或2000server或工作站版都可开发者版(DeveloperEdition):可运行Windows9x以上的所有版本SQL教程2002.094SQLServer特点第一个特点是所有SQL数据库中的数据都存储在表中。第二特点是表中的记录没有顺序,SQL只能按查询条件来读取记录。第一个特点容易掌握,第二特点掌握起来就有点困难。SQL教程2002.095SQLSERVER与VFP的比较VFP是数据库语言,SQL是数据库,SQL没有自己的语言SQLSERVER是大型数据库,一般作后台数据库,适合开发大型的C/S系统;VFP自带的数据库属于中小型数据库,适合于开发单机版或用户不多、数据量不大的网络版系统,有易入手、开发快等特点。SQL教程2002.096SQLServer关系数据库简介Master:是SQLServer中最重要的系统数据库。Model:模板数据库,在创建新的数据库时,SQLServer将会复制此数据库作为新数据库的基础。Msdb:代理服务数据库。提供一个存储空间。Tempdb:临时数据库。为所有的临时表、临时存储过程及其他临时操作提供存储空间。断开连接时,临时表与存储过程自动被删除。Pubs:图书出版实例数据库Northwind:食品进出口公司销售实例数据库。SQL教程2002.097SQLServer系统表简介Sysobjects表:出现在每个数据库中。Syscolumns表:出现在master和用户自定义数据库中。Sysindexes表:出现在master和用户自定义数据库中。Sysusers表:出现在master和用户自定义数据库中。Sysdatabases表:出现在master数据库中。Sysdepends表:出现在master和用户自定义数据库中。Sysconstraints表:出现在master和用户自定义数据库中。SQL教程2002.098SQLServer的实用工具和实用程序企业管理器(EnterpriseManager)服务管理器(ServiceManager)查询分析器(QueryAnalyzer)导入与导出数据(InputandExportData)服务/客户网络实用工具。(Server/ClientNetworkUtility)SQL教程2002.099思考题Q1:服务管理器中的暂停按钮有何功能?Q2:Master数据库可以删除吗?若被删除,SQLServer会出现什么情况?Model数据库被删除呢?Q3:对WIN98系统,要安装SQL的哪一个版本?这个版本可做SQL服务器吗?Q4:在建立用户建立新的数据库时,要用到哪一个系统数据库?答案SQL教程2002.0910Transact-SQL语言历史与特点1974年提出,称为SEQUEL语言;75-79年,由IBM公司修改成SEQUEL2语言——目前的SQL语言82年,ANSI(美国国家标准协会)确定SQL为数据库系统的工业标准,命名为SQL-8692年,SQL-92为目前最新版本的SQL语言SQL教程2002.0911Transact-SQL的组成DDL数据定义语言(DataDefinitionLanguage):用于定义数据的结构DML数据操纵语言(DataManipularionLanguage):用于检索或者修改数据DCL数据控制语言(DataControlLanguage):用于定义数据库用户的权限系统存储过程(SystemStoredProcedure)一些附加的语言元素SQL教程2002.0912数据定义语言DDL(一)指用来定义和管理数据库以及数据库中各种对象的语句。DDL语句可以用于创建用户和重建数据库对象。CREATEDATABASE/TABLEALTERTABLEDROPTABLECREATEINDEXDROPINDEXSQL教程2002.0913数据定义语言DDL(二)使用查询分析器编写的代码如下:1、createdatabaseemk2、createtableemlpoyee(firstvarchar(9)notnullprimarykeyclustered,lastvarchar(8),ageint,cityvarchar(20));注意事项SQL教程2002.0914数据定义语言DDL(三)ALTERTABLE修改表给表增加两个列:altertablexscjbaddaddressvarchar(30),statevarchar(20);SQL教程2002.0915数据定义语言DDL(四)DROPTABLE删除表例:DROPTABLEemlpoyee将删除表中所有信息。SQL教程2002.0916数据定义语言DDL(五)CREATEINDEX建立索引为表emlpoyee(表的所有者为01用户)按age字段建立群集索引:CREATECLUSTEREDINDEXageON[01].[emlpoyee]([age])SQL教程2002.0917数据定义语言DDL(六)DROPINDEX删除索引删除表emlpoyee(表的所有者为01用户)按age字段建立的群集索引:DROPINDEX[01].[emlpoyee].ageSQL教程2002.0918数据操纵语言(DML)(一)DML语句用来查询、添加、修改和删除数据库中的数据的语句,这是SQL语言的核心语句,而其中的核心又是SELECT。SQL教程2002.0919DML——SELECT语句(一)用于检索数据,有五个子句可以选择,而FROM子句是逗号分隔的表名或视图清单。是唯一必须的子句。Where或having从句用于指定行,按所指定的条件返回行数。Having子句要和GroupBy子句一同使用,用在GroupBy之后。如果要指定列的顺序,可以使用OrderBy子句。默认是ASC(升序),反之可用DESC。SQL教程2002.0920DML——SELECT语句(二)例1:从employees(在Northwind数据库中)检索所有记录的首名与末名:selectlastname,firstnamefromemployees;例2:从authors(在pubs数据库中的表)表中检索出居住在Oakland的作者名字和编号selectau_lname,au_idfromauthorswherecity=Oakland;SQL教程2002.0921DML——SELECT语句(三)解释下列语句:1、Selectxhao,xming,ywen,sxuefromxscjbwhereywen=100andsxue=1002、selectmax(csrq),xbeifromxsdabwherexbei=女groupbyxbei;SQL教程2002.0922DML——SELECT语句(四)3、selectdept,avg(salary)fromemployeeGroupbydept固定在此列Havingavg(salary)2000;4、selectxhao,avg(ywen)fromxscjbgroupbyxhaohavingavg(ywen)=100orderbyxhaodesc;(降)/ASC(默认值:升)SQL教程2002.0923DML——SELECT语句(五)假设员工库empolyee中有NameIDagecity等字段,写出查询ID大于3,city为“Beijing”员工的平均年龄,并显示年龄大于30的记录。SelectID,avg(age)fromemployeewherecity=’beijing’groupbyidhavingavg(age)30;SQL教程2002.0924DML——INSERT用于往表格中插入或增加一行数据insertintoxscjb(xhao,xming,ywen,sxue,yyu,tyu,zzhi)values(‘991005510’,‘中华',102.5,99,68,45,89);Q:大量的数据如何输入?SQL教程2002.0925DML——UPDATE语句(一)用于修改数据表中特定的记录或字段的数据UPDATEXSCJBSETXMING=’张三’;执行后结果如何?与下面的相比,结果有什么不一样?UPDATEXSCJBSETXMING=’张三’Wherexhao=’001001111’一般情况下这种改动要有条件语句。SQL教程2002.0926DML——UPDATE语句(二)Q:假设学生档案中有rxsj(入学时间),试将xsdab(学生档案表)中的前10个xhao(学号)记录的入学时间修改为9-01-2001’UpdatexsdabSetrxsj=’9-01-2001’From(selecttop*fromxsdaborderbyxhao)ass1Wherexsdab.xhao=s1.xhaoSQL教程2002.0927DML——DELETE语句用于从数据库中删除数据。deletefromxscjbwherexhao='991005510'对不带条件的DELETE语句,要十分小心应用,它将删除表中的所有记录。SQL教程2002.0928DCL数据控制语言DCL命令用于创建关系用户访问以及授权的对象。下面是几个DCL命令:1、GRANT2、REVOKE3、DENYSQL教程2002.0929授权语句:GRANT(一)格式:grant权限on表名to用户名权限有:CREATEDATABASE、CREATETALBLE、SELECT、INSERT、UPDATE。对被授权的用户,要先成为该数据库的使用者,即要把用户加到数据库里,才能授权.SQL教程2002.0930授权语句:GRANT(二)例:建立一个新的用户,再让它成为某数据库的PUBLLC,并将库中的某个表的INSERT权限给他。SP_ADDLOGINFDFS只有安全管理员与系统管理员才有权限建立新的用户sp_grantdbaccess'fdfs'只有数据库拥有者与系统管理员才有权授给数据库的浏览权grantcreatetabletofdfs将某数据库的建表权限授给用户grantinsertontofdfsSQL教程2002.0931其他语言元素——注释有两种:一种为ANSI标准注释符:--,适用于单行另一种为多行注释符:/**/例:UPDATEXSCJBSETXMING=’张三’;/*执行后结果如何?与下面的相比,结果有什么不一样?*/SQL教程2002.0932移除权限语句:REVOKE与GRANT语句相反,将以前在数据库内的用户或者角色上授的权限删除,但不影响继承权。例:re
本文标题:SQLSERVER2000-教程1(PPT文档)
链接地址:https://www.777doc.com/doc-1788673 .html