SQL网络培训(初级)ppt课件_第1页
SQL网络培训(初级)ppt课件_第2页
SQL网络培训(初级)ppt课件_第3页
SQL网络培训(初级)ppt课件_第4页
SQL网络培训(初级)ppt课件_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、SQL网络培训初级U8产品支持部 2005-8-18阐明本次培训是SQL入门培训,对SQL比较熟习的人员可以不参与;本次培训的主要内容,请参见U8产品支持部今年发行的“SQLServer维护专刊初级2005年第6期;U8产品支持部本季度将要编写“SQLserver维护专刊高级,请大家提供好的建议,谢谢。U8维护队伍的现状知晓财务、业务知识知晓SQL用法运用编程vb、vc.进展维护后两种都是要以第一种为根底的维护运用工具1.我们用事件探察器结合U8数据字典来定位错误2.进一步用查询分析器利用第一步的结果来分析错误3.用查询分析器来矫正错误4.用vb编程提高效率矫正错误U8软件概述1.U850以前

2、的版本不含U850,安装盘不是用Installshield做的,因此需求什么文件可以直接用WinZip解紧缩2.注册表regedit,ufsoft键值3.ufcomsql下为注册控件;非注册的控件在系统目录下如winntsystem32,如client.dll4.u8softadmin目录下的晋级脚本系统管理直接调用5.EAI导入模板6.UFO的rep文件7.一些log文件,WF860.log ;lst文件,U8Product.lst8.U8效力的install和remove,停顿和启动9.环境问题、财务问题、业务问题10. Access版本的999数据库阐明(安装盘中的ba_文件用winzi

3、p解压即可运用)U8软件概述数据库:SQLSERVER帐套数据库:UFDATA_XXX_XXXXU8系统库:UFSYSTEMU8模板库:UFMODELU8软件概述Sqlserver的文件:主文件*.mdf极为重要日志文件*.LdfAccess的文件:只需一个文件*.mdb流行的SQL 开发工具Microsoft AccessMicrosoft Access 是一个非常容易运用的基于PC 机的数据库管理系统.在它的下边他既可以手工输入SQL 语句也可以运用图形用户界面工具来生成SQL 语句。手工输入SQL 语句流行的SQL 开发工具运用图形用户界面工具来生成SQL 语句流行的SQL 开发工具SQ

4、LSERVER查询分析器Microsoft Access和SqlServer的区别Access不支持存储过程等sql高级功能Access在网络运用方面要进展文件共享是翻开文件数据,而sqlserver是进展衔接控制衔接数据查询-Select语句SELECTFORMWHERE例:SELECT*FROMYOURTABLENAME函数:对数据的进一步处置汇总函数SUMSUM 就好像它的本意一样它前往某一列的一切数值的和。SELECT SUM(COLUMAN) FROM YOURTABLECOUNT该函数将前往满足WHERE 条件子句中记录的个数。最简单的例子就是您想知道某一个表里的记录数:SELEC

5、T COUNT(*) FROM YOURTABLE函数:对数据的进一步处置MAX前往表达式的最大值。语法MAX ( ALL | DISTINCT expression )参数ALL对一切的值进展聚合函数运算。ALL 是默许设置。DISTINCT指定每个独一值都被思索。DISTINCT 对于MAX无意义,运用它仅仅是为了符合 SQL-92 兼容性。expression常量、列名、函数以及算术运算符、按位运算符和字符串运算符的恣意组合。MAX可用于数字列、字符列和 datetime 列,但不能用于 bit 列。不允许运用聚合函数和子查询。前往类型前往类型与 expression 一样。字符函数LE

6、FT前往从字符串左边开场指定个数的字符。语法LEFT ( character_expression , integer_expression ) 参数character_expression字符或二进制数据表达式。character_expression 可以是常量、变量或列。character_expression 必需是可以隐式地转换为 varchar 的数据类型。否那么,请运用 CAST 函数显式转换 character_eger_expression是正整数。假设 integer_expression 为负,那么前往空字符串。前往类型varchar例如A.

7、对列运用 LEFT 函数下面的例如前往每个书名最左边的 5 个字符。USE pubs GO SELECT LEFT(title, 5) FROM titles ORDER BY title_id RIGHT前往从字符串右边开场指定个数的字符。其参数语法与LEFT函数类似SUBSTRING前往字符、binary、text 或 image 表达式的一部分。语法SUBSTRING ( expression , start , length ) 参数Expression:是字符串、二进制字符串、text、image、列或包含列的表达式。不要运用包含聚合函数的表达式。Start:是一个整数,指定子串的开

8、场位置。Length:是一个整数,指定子串的长度要前往的字符数或字节数。 阐明由于在 text 数据上运用 SUBSTRING 时 start 和 length 指定字节数,因此 DBCS 数据如日本汉字能够导致在结果的开场或终了位置拆分字符。此行为与 READTEXT 处置 DBCS 的方式一致。然而,由于偶而会出现奇异的结果,建议对 DBCS 字符运用 ntext 而非 text。前往类型假设 expression 是支持的字符数据类型,那么前往字符数据。假设 expression 是支持的 binary 数据类型,那么前往二进制数据。注释在字符数中必需指定运用 ntext、char 或

9、varchar 数据类型的偏移量start 和 length。在字节数中必需指定运用 text、image、binary 或 varbinary 数据类型的偏移量。 例如 在字符串上运用 SUBSTRING下例显示如何只前往字符串的一部分。该查询在一列中前往 authors 表中的姓氏,在另一列中前往 authors 表中的名字首字母。USE pubs SELECT au_lname, SUBSTRING(au_fname, 1, 1) FROM authors ORDER BY au_lname LEN前往给定字符串表达式的字符而不是字节个数,其中不包含尾随空格。语法LEN ( string

10、_expression ) 参数string_expression要计算的字符串表达式。前往类型int例如下面的例如选定字符个数和位于芬兰的公司的 CompanyName 数据。USE Northwind GO SELECT LEN(CompanyName) AS Length, CompanyName FROM Customers WHERE Country = Finland CAST 和 CONVERT将某种数据类型的表达式显式转换为另一种数据类型。CAST 和 CONVERT 提供类似的功能。语法运用 CAST:CAST ( expression AS data_type ) 运用 C

11、ONVERT:CONVERT (data_type(length), expression , style)参数expression是任何有效的 Microsoft SQL Server 表达式。data_type目的系统所提供的数据类型,包括 bigint 和 sql_variant。不能运用用户定义的数据类型。lengthnchar、nvarchar、char、varchar、binary 或 varbinary 数据类型的可选参数。 style日期格式款式,借以将 datetime 或 smalldatetime 数据转换为字符数据nchar、nvarchar、char、varchar、

12、nchar 或 nvarchar 数据类型;或者字符串格式款式,借以将 float、real、money 或 smallmoney 数据转换为字符数据nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型。详细的值见协助。此类函数运用也比较多。SQL 中的子句Select From Where Order by SQL 中的子句Group by 子句 GROUP BY ALL group_by_expression ,.n WITH CUBE | ROLLUP USE pubs SELECT type, AVG(price) FROM titles

13、WHERE advance $5000 GROUP BY type HAVING 子句HAVING 运用 HAVING 子句选择行HAVING 子句对 GROUP BY 子句设置条件的方式与 WHERE 子句和 SELECT 语句交互的方式类似。WHERE 子句搜索条件在进展分组操作之前运用;而 HAVING 搜索条件在进展分组操作之后运用。HAVING 语法与 WHERE 语法类似,但 HAVING 可以包含聚合函数。HAVING 子句可以援用选择列表中出现的恣意项。下面的查询得到本年度截止到目前的销售额超越 $40,000 的出版商:USE pubs SELECT pub_id, tota

14、l = SUM(ytd_sales) FROM titles GROUP BY pub_id HAVING SUM(ytd_sales) 40000 了解运用 WHERE、GROUP BY 和 HAVING 子句的正确序列对编写高效的查询代码会有所协助: WHERE 子句用来挑选 FROM 子句中指定的操作所产生的行。GROUP BY 子句用来分组 WHERE 子句的输出。HAVING 子句用来从分组的结果中挑选行。 表的结合JoinINNER指定前往每对匹配的行。废弃两个表中不匹配的行。假设未指定联接类型,那么这是默许设置。FULL OUTER指定在结果集中包含左表或右表中不满足联接条件的行

15、,并将对应于另一个表的输出列设为 NULL。这是对通常由 INNER JOIN 前往的一切行的补充。LEFT OUTER指定在结果集中包含左表中一切不满足联接条件的行,且在由内联接前往一切的行之外,将另外一个表的输出列设为 NULL。RIGHT OUTER指定在结果集中包含右表中一切不满足联接条件的行,且在由内联接前往的一切行之外,将与另外一个表对应的输出列设为 NULL。表的结合Join所需的资料并不是放在同一个资料表中,在这个时候,他就要用到Join,如我们U8中的主子表 当然Join如何将不同的数据库的资料结合,还要看他如何运用它。一共有四种不同的Join的方式:INNER JoinFU

16、LL OUTER JoinLEFT OUTER JoinRIGHT OUTER JoinUnion运算符UNION 运算符将两个或更多查询的结果组合为单个结果集,该结果集包含结合查询中的一切查询的全部行。这与运用联接组合两个表中的列不同。运用 UNION 组合两个查询的结果集的两个根本规那么是: 一切查询中的列数和列的顺序必需一样。数据类型必需兼容。 子查询:内嵌的SQL 子句if exists (select * from dbo.sysobjects where id = object_id(Ndbo.PO_Podetails) and OBJECTPROPERTY(id, NIsUser

17、Table) = 1)drop table dbo.PO_PodetailsGO操作数据INSERT UPDATE DELETEINSERT INTO子句INSERT INTO titles (title_id, title, type, pub_id, price) VALUES (BU9876, Creating Web Pages, business, 9, 29.99) 操作数据INSERT UPDATE DELETEUPDATE子查询子查询可以嵌套在 UPDATE、DELETE 和 INSERT 语句以及 SELECT 语句中。下面的查询使由 New Moon Books 出版的一切

18、书籍的价钱加倍。该查询更新 titles 表;其子查询援用 publishers 表。UPDATE titles SET price = price * 2 WHERE pub_id IN (SELECT pub_id FROM publishers WHERE pub_name = New Moon Books) 下面是运用联接的等效 UPDATE 语句:UPDATE titles SET price = price * 2 FROM titles INNER JOIN publishers ON titles.pub_id = publishers.pub_id AND pub_name

19、= New Moon Books 操作数据INSERT UPDATE DELETEDELETE子句经过下面嵌套的查询,可以删除商业书籍的一切销售记录:DELETE sales WHERE title_id IN (SELECT title_id FROM titles WHERE type = business) 操作数据INSERT UPDATE DELETEUpdate运用留意where后的条件一定要验证Select * from accinformation where cid = 99 and cvalue = 8.60Update accinformation set cvalue

20、= 8.50where cid = 99 and cvalue = 8.60操作数据Select IntoSelect into 子句SELECT Shippers.*, Link.Address, Link.City, Link.Region, Link.PostalCodeINTO NewShippersFROM Shippers JOIN LinkServer.DB.dbo.Shippers AS Link ON (Shippers.ShipperID = Link.ShipperID)CREATE DATABASE创建一个新数据库及存储该数据库的文件,或从先前创建的数据库的文件中附加数

21、据库。语法CREATE DATABASE database_name ON ,.n , ,.n LOG ON ,.n COLLATE collation_name FOR LOAD | FOR ATTACH := PRIMARY ( NAME = logical_file_name , FILENAME = os_file_name , SIZE = size , MAXSIZE = max_size | UNLIMITED , FILEGROWTH = growth_increment ) ,.n :=FILEGROUP filegroup_name ,.n 以上就是详细的语法,其中的参数可

22、以参照SQL的协助。CREATE TABLE创建新表。和创建数据库一样,我们也可以利用图形界面工具如企业管理器来创建,但了解其详细的操作并不是一件坏事。创建表的最根本语法详细的语法见协助就是CREATE TABLE table_name (field1 datatype NOT NULL ,field2 datatype NOT NULL ,field3 datatype NOT NULL ,。)我们来看一个简单的例子,如下:CREATE TABLE BILLS (NAME CHAR(30),AMOUNT INT,ACCOUNT_ID INT) 分析该语句创建了一个名字叫BILLS的表,在BI

23、LLS 表中有三个字段NAME,ACCOUNT和ACCOUNT_ID。其中NAME 字段为字符类型可以存储长度30 的字符串,而AMOUNT和AMOUNT_ID 那么只参存储整数。ALTER TABLE 语句参与曾经存在的表中的某一列ALTER TABLE tablname ADD | column_name AS computed_column_expression ,.n 以上例子是在MYTABLE里添加一个类型为VARCHAR(20) ,允许为NULL的列NEWcolumn 。例子:ALTER TABLE MYTABLEADD NEWcolumn VARCHAR(20) NULL创建和操

24、作表删除一列到曾经存在的表中ALTER TABLE tablname DROP CONSTRAINT constraint_name | COLUMN column ,.n 以上例子是在MYTABLE里删除列NEWcolumn 。例子:ALTER TABLE MYTABLEDROP COLUMN NEWcolumn创建和操作表修正曾经存在的表中的某一列ALTER TABLE tablname ALTER COLUMN column_name new_data_type ( precision , scale ) COLLATE NULL | NOT NULL | ADD | DROP ROWG

25、UIDCOL 以上例子是在MYTABLE里将列NEWcolumn 的类型改动成INT。例子:ALTER TABLE MYTABLE ALTER COLUMNNEWcolumn INT注:他可以添加或减少某一列的长度,但是他不能将它减少到使修正后的长度小于其中的已有数据长度。修正前一定要慎重!创建和操作表DROP TABLE 语句SQL 提供了一个可以从数据库去彻底地移去某个表的命令。DROP TABLE 可以从数据库中删除一个指定的表。 一旦这个命令发出以后就没有方法吊销它在事务提交前除外,关于事务我们将在后面讲解。它最常用在他创建一个暂时表并且曾经进展终了了他的全部方案任务的时候。DROP

26、TABLE 语句的语法格式如下DROP TABLE table_name下边是如何删掉一个叫NEW_BILLS 表的实例DROP TABLE NEW_BILLS留意:系统没有给出他提示该命令不会问他Are you sure? Y/N 。但是删除操作曾经执行,表曾经永远地删除了。删除一个数据库的命令也类似:DROP DATABASE,这里就不再讲解。创建视图和索引创建视图的语法如下:CREATE VIEW . . view_name ( column ,.n ) WITH ,.n AS select_statement WITH CHECK OPTION := ENCRYPTION | SCHE

27、MABINDING | VIEW_METADATA 创建视图和索引运用简单的 CREATE VIEW下例创建具有简单 SELECT 语句的视图。当需求频繁地查询列的某种组合时,简单视图非常有用。USE pubs GOIF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = titles_view) DROP VIEW titles_view GO CREATE VIEW titles_view AS SELECT title, type, price, pubdate FROM titles GO

28、 创建视图和索引删除视图语句就像每一个CREATE 语句一样CREATE VIEW 语句对应的也与DROP VIEW 语句相对应。其语法方式如下: DROP VIEW view_name在运用它的时候需求记住DROP VIEW 命令会使一切与DROP 视图相关联的视图不能正常运转,此时假设他访问这个数据库,将前往如下错误:由于绑定错误,未能运用视图或函数 对应称号。一些数据库系统甚至会将一切与要DROP 的视图相关联的视图也删除掉创建视图和索引详细创建索引的语句可以参见协助CREATE INDEX,删除索引DROP INDEX。高级SQL-游标建立定义一个游标:DECLARE au_lname

29、VARCHAR(30)DECLARE authors_cursor CURSOR FOR SELECT au_lnameFROM authorsOPEN authors_cursor翻开游标:FETCH NEXT FROM authors_cursor INTO au_lname取游标志录:阅读游标志录:WHILE FETCH_STATUS = 0 BEGIN print au_lnameFETCH NEXT FROM authors_cursor INTO au_lnameEND封锁游标:CLOSE authors_cursor释放游标:DEALLOCATE authors_cursor高级

30、SQL-存储过程CREATE PROC EDURE procedure_name ; number parameter data_type VARYING = default OUTPUT ,.n WITH RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION FOR REPLICATION AS sql_statement .n 高级SQL-触发器语法:create trigger trigger_nameon table_namefor insert, update, deleteas SQL_Statements根本的事务控制 TRANSACTI

31、ON BEGIN TRANSACTIONBEGIN TRAN SACTION transaction_name | tran_name_variable WITH MARK description COMMIT TRANSACTIONCOMMIT TRAN SACTION transaction_name | tran_name_variable ROLLBACK TRANSACTIONROLLBACK TRAN SACTION transaction_name | tran_name_variable| savepoint_name | savepoint_variable 根本的事务控制

32、TRANSACTION Transaction运用use ufdata_887_2004select * from accinformation where cid = 99begin TRANSACTION testupdate accinformation set cvalue = 8.50 where cid = 99rollback transaction test存储过程的执行EXECUTE execEXEC UTE ( string_variable | N tsql_string + .n )EXECUTE proc_calculate_taxes p2 = A 存储过程的执行下例运

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论