SQL语句大全.pdf
SQL 语句大全语句大全 --语 句 功 能 --数据操作 SELECT --从数据库表中检索数据行和列 INSERT --向数据库表添加新数据行 DELETE --从数据库表中删除数据行 UPDATE --更新数据库表中的数据 -数据定义 CREATE TABLE --创建一个数据库表 DROP TABLE --从数据库中删除表 ALTER TABLE --修改数据库表结构 CREATE VIEW --创建一个视图 DROP VIEW --从数据库中删除视图 CREATE INDEX --为数据库表创建一个索引 DROP INDEX --从数据库中删除索引 CREATE PROCEDURE --创建一个存储过程 DROP PROCEDURE --从数据库中删除存储过程 CREATE TRIGGER --创建一个触发器 DROP TRIGGER --从数据库中删除触发器 CREATE SCHEMA --向数据库添加一个新模式 DROP SCHEMA --从数据库中删除一个模式 CREATE DOMAIN --创建一个数据值域 ALTER DOMAIN --改变域定义 DROP DOMAIN --从数据库中删除一个域 --数据控制 GRANT --授予用户访问权限 DENY --拒绝用户访问 REVOKE --解除用户访问权限 --事务控制 COMMIT --结束当前事务 ROLLBACK --中止当前事务 SET TRANSACTION --定义当前事务数据访问特征 --程序化 SQL DECLARE --为查询设定游标 EXPLAN --为查询描述数据访问计划 OPEN --检索查询结果打开一个游标 FETCH --检索一行查询结果 CLOSE --关闭游标 PREPARE --为动态执行准备 SQL 语句 CUTE --动态地执行 SQL 语句 DESCRIBE --描述准备好的查询 ---局部变量 declare id char10 --set id 10010001 select id 10010001 ---全局变量 ---必须以开头 --IF ELSE declare x int y int z int select x 1 y 2 z3 if x y print x y --打印字符串x y else if y z print y z else print z y --CASE use pangu update employee set e_wage case when job_level ‟1‟ then e_wage*1.08 when job_level ‟2‟ then e_wage*1.07 when job_level ‟3‟ then e_wage*1.06 else e_wage*1.05 end --WHILE CONTINUE BREAK declare x int y int c int select x 1 y1 while x screen.width-333this.widthscreen.width-333“ border“0“ galleryimg“no“ / 接着新建“作业“过程如下 screen.width-333this.widthscreen.width-333“ border“0“ galleryimg“no“ / screen.width-333this.widthscreen.width-333“ border“0“ galleryimg“no“ / 再来看看“警报“的创建过程 screen.width-333this.widthscreen.width-333“ border“0“ galleryimg“no“ / screen.width-333this.widthscreen.width-333“ border“0“ galleryimg“no“ / 注意在建立警报的“响应”栏目里,对应着相应的作业和操作员 谈过了这些功能,是不是觉得真是很方便呀,当然了良好的运用不仅仅就这简单 的几步,这需要大家在应用中适时的总结以适应我们的需要。现在,我们再谈论 一个 SQLSERVER 的另一项不错的功能脚本。 所谓的利用脚本,就是可以将数据库对象或服务器中的其他对象以脚本(Script) 方式存入文件,也就是存成 SQL 程序以供我们继续利用。 同样脚本也可以用于这里的自动化管理。例如我们可以将操作员,作业和警报 等对象存成 Script 文件后,再拿到别的服务器上加以利用。这是不是在不同的服 务器上创建相同的操作员等重复的工作了。这就是脚本的效率所在。 如果需要存为脚本文件,可以在企业管理器中右击相应的对象在“所有任务“/“生 成 SQL 脚本”命令,设置确定即可。 谈了上面的自动化管理的方式是很实用的,但似乎是不是缺乏全面性,要为自己 的服务器构建一套完善的自动化维护机制,可能需要花费不少心力,但是将大部 分的日常维护工作适度的自动化,多少可以减轻管理上的负担,为此 SQLSERVER 还提供了一项可以将整套数据库维护工作自动化的功能, 这就是数 据库的维护计划。 我们可以在企业管理器中执行“工具“/数据库维护计划器,这样就见到了如下界 面,依次设置即可。 这次的讨论就说到这里,关于自动化管理,我不用说大家都明白,合理的设置会 给你的工作带来什么样的影响,好好体会,让工作更加轻松 分类 一般分类 评论 0 静态链接网址 引用 0 SQLSERVER2000 功略功略3-数据库的登陆及其用户权限-数据库的登陆及其用户权限 发表人kendy517 | 发表时间 2007 年二月 09 日, 1154 SQLSERVER2000 功略3-数据库的登陆及其用户权限 SQLSERVER2000 功略-数据库的登陆及其用户权限 说过了两章纯粹的理论,是不是有乏味的感觉,好,我们从这一讲就进入实质的 管理阶段。首先,我们讨论的是 SQLSERVER 安全管理中的登陆和权限问题。 SQLSERVER 的登陆是安全管理的第一关。这个决定了那些人可以使用 SQLSERVER(就像进屋时的房门钥匙)。关于登陆控制,SQLSERVER 则采用 了两种不同的检查方式windows 验证和 windows,sqlserver 混合验证。前者就 是我们登陆 windows 时的用户帐号,而后者则是在保留前者的前提下也允许 SQLSERVER 中建立的登陆帐号。这也是为用户提供方便的选择。 我们拥有了登陆的帐号,就可以进入 SQLSERVER 的控制中心,那我们可以做 些什么哪这个肯定是有控制的进行的。SQLSERVER 中的访问权限分为两方 面,分别是服务器本身的操作权限和数据库的访问权限。我们分别加以简介 服务器的操作权限是从真个服务器来说的,是面向所有数据库的定义。例如是 否有权创建或者删除登陆帐号,是否可以建立数据库等等。这些也就是通过设置 服务器角色(server role)来实现的。SQLSERVER 内建了七个服务器角色,分 别代表七种服务器工作的操作权。 数据库的访问权限就是针对某一个数据库而言的。他可以分为两层,第一层是限 制何人访问数据库,第二层限制可访问数据库中的那些表,视图和存储过程,以 及是否可以用 select,insert,update 等等。这个权限往往是通过数据库角色得以实 现的。 (服务器角色不可以自定义,数据库角色可以自定义) 仅仅知道上面这些概念是不行的,因为 SQLSERVER 中的权限是比较复杂的, 因为彼此之间可能存在某些权链。所以仅仅概念是不容易说清的,我们讨论的就 是基础的东西,懂得了这些在真正工作中才可以更好的掌握管理技能。我们简单 的谈谈权链的问题吧 由于每个对象都有他自己的拥有权信息, 这个对象可能和其他对象存在一定的依 存关系,比如一个视图是从另外一个视图建立过来的。这些相互依存的对象关 系可能拉的很长,因此相依存的对象的拥有权就形成一个由上而下的链结,这在 SQLSERVER 中就称作拥有权链(Ownership Chain)。正是由于这样,可能所产 生的访问权限变得非常复杂。所以,我们在这里提出以视图和存储过程来限制访 问范围。通过视图确定用户可以访问的内容,然后把视图的相关权限赋予具体的 用户,这样可以有效的减轻权限设置的工作量(特别是用户访问范围跨度较大的 情况下)。除了视图,我们也可以自定义存储过程来对数据的访问加以限制,即 把一组可查询某特定数据的语句存成存储过程,然后将其 cute 权限设置给用 户,用户就可以执行他来取得数据了。这样省去了很多复杂的授权过程,是不是 很方便呀 简单的说了说这些,我们再来谈谈 SQLSERVER 中特殊的东西sa 帐号,public 数据库角色,guest 数据库用户。 Sa 是 SQLSERVER 默认的管理员帐号,主要是为了向下兼容而设置的。这个也 就是安装好 SQLSERVER 时就有的帐号,而且权限极大,所以在安装过程中最 好把他的密码进行设置,不要为空。这个帐号相当于服务器角色中的 system administrator,而且不可以删除。 Public 数据库角色是一个公共的数据库角色,也就是说当你新建一个数据库角色 的时候,默认的就属于这个角色。这个也是不可删除的。所以为了安全期间,我 们对 public 数据库对象不要赋予过多的权限(除非有这个需要)。 Guest 是一个特殊的数据库用户,类似于 windows NT/2000 下的 guest 帐号,都 是给未经授权的用户提供某种程度的访问权限。 如果不需要这个用户可以将其删 除。 说了这些概念,其实现都是通过“企业管理器”实现的,我们就这些谈谈用相应的 系统存储过程 登陆管理sp_addlogin 新增帐号 sp_droplogin 删除帐号 sp_grantlogins 允许某 windows 帐号访问 sp_denylogins 禁止某 windows 帐号访问 sp_revokelogins 删除某 windows 帐号访问 sp_helplogin 查看帐号信息 sp_addsrvrolemember 将某用户添加到服务器角色 sp_dropsrvrolemember 将某用户从数据库角色中删除 sp_helpsrvrole 查看服务器角色的信息 数据库用户管理sp_grantaccess 建立数据库用户 sp_revokedbaccess 删除数据库用户 sp_helpuser 查看用户信息 数据库角色管理sp_addrole 建立数据库角色 sp_addrolemember 将用户加入数据库角色 sp_helprole 查看数据库角色信息 sp_helprolemember 查看某数据库角色的所有成员 sp_droprole 删除角色 sp_droprolemember 删除角色中的某一成员 好了,看了上面的不要感觉麻烦呀,这可是让你高效工作的宝贝呀,熟能生巧, 我们一起联系多了,其实掌握就觉得很轻松了继续努力) 分类 一般分类 评论 0 静态链接网址 引用 0 SQLSERVER2000 攻略攻略1-工作流程篇-工作流程篇 发表人kendy517 | 发表时间 2007 年二月 09 日, 1151 SQLSERVER2000 是 windows 平台上一个重要的数据管理工具。 了解数据库的朋 友对他一定很熟悉。我们就此在这里作一系列的讨论,希望通过这次的交流我们 对 SQLSERVER2000 有个深刻的理解。首先,我们探讨一下他的工作流程,这 可是工作的基础呀,好,我们开始了 简单的说,SQLSERVER2000 是个采用主从结构的关系数据库系统。哈,是不是 太简单,毕竟现在市面上的数据库产品几乎都是这个结构。我们来深入一点,所 谓 SQLSERVER 的主从结构(Client/Server),就是由 SQLSERVER 扮演存放数据 和提供数据给客户端的角色,当用户要取用数据时,则可调用各种不同的客户端 应用程序,通过 SQLSERVER 所支持的接口,向 SQLSERVER 提供请求,然后 取得数据库中的数据并返回给用户。这个过程应该好理解吧。 看了这个是不是觉得很 easy呀其实,这只是比较传统的双层式 Client/Server 结构,近年来三层式或者多层式主从结构的应用正在流行。例如配合微软的 BackOffice 中的其他服务器产品,即可建立多层主从运算模式。 了解了基本的数据流程,那是不是要问是什么实现客户端与服务器之间的沟通 哪这个是个比较有意义的问题。 我们知道了作什么, 就应改知道他是怎么做的。 所谓,打破沙锅问到底我们说一下工作原理SQLSERVER 提供了多种不同的 接口让客户端(应用程序)顺利与服务器进行交流,在此接口的基础上,由 NET-Library网络函数库建立两边 IPC(Interprocess Commication)通讯管道来 进行工作。 具体的说就是 当客户端程序使用某种接口向服务器提出查询请求时, 数据库接口驱动程序调用客户端的Net-library,而Net-library则调用IPC 应用程序 接口产生 IPC,通过 IPC 送达服务端,服务端接受请求后经 SQLSERVER 处理, 以同样的方式将结果送回客户端。(这个过程有两个情况,Client 和 Server 在同 一台计算机上,Net-library 会使用 local IPC,如果是网络存取,则会有双方所使用 的网络协议产生 Remote IPC)图示如下 了解了外部工作机制,咱们看看服务端是怎么分工的,毕竟多数的数据工作是由 服务器完成的。整体上说,整个 SQLSERVER 的数据管理系统分为如下几个组 件 ▲Open Data ServiceODS负责处理由 Net-library送来的查询请求,ODS 会调用 SQLSERVER 的内部功能来完成客户端的需求。 ▲SQL Server Service这个 SQLSERVER 的“心脏”负责管理我们的数据库,以及 所有建立,查询和修改的数据库的操作。此数据库管理系统的核心又分为几个单 元,其中最主要的两个单元就是负责解 SQL 语法和安排查询执行计划等工作的 关系引擎(Relational Engine),以及负责管理数据库文件和文件读写等工作的存 储引