sqlserver 权限

来源:互联网 发布:新版笑傲江湖 知乎 编辑:程序博客网 时间:2024/06/06 00:21
 
一、数据库的三层权限验证    1、数据库服务器权限验证       a、SQL身份验证:适合于非Windows平台的用户或Internet用户,需要提供帐户和密码              语法: exec sp_addlogin '账号名','密码'                b、Windows身份验证:适合于Windows平台用户,不需要提供密码,和Windows集成验证            语法:exec sp_grantlogin 'windows域名\域帐户'      示例:              --添加Windows登录帐户--       exec sp_grantlogin 'jbtraining\s26301'  --window用户为jbtraining\s26301 jbtraining表示域             --添加SQL登录帐户--      exec sp_addlogin 'zhangsan','1234' --帐户名为zhangsan 密码为1234   2、数据库权限验证            语法:exec sp_grantdbaccess '登录帐户','数据库用户'      示例:      --在stuDB数据库中添加用户--      use stuDB      go      exec sp_grantdbaccess 'jbtraining\s26301','s26301DBUser'      -- s26301DBUser 为数据库用户名      exec sp_grantdbaccess 'zhangsan','zhangsanDBUser'   3、数据库用户授权      权限包括:添加数据(insert)、删除数据(delete)、更新数据(update)、查看数据(select)、创建表       (create table)等     语法: grant 权限 on 表名 to 数据库用户     示例:     use stuDB     go     --为zhangsanDBUser分配对表stuInfo的select、insert、update权限--     grant select,insert,update, on stuInfo to zhangsanDBUser    --为s26301DBUser分配创建表的权限--     grant create table to s26301DBUser二、全局变量和局部变量的区别    1、局部变量名称必须以标记@作为前缀           语法:declare @变量名 类型      示例:       declare @name varchar(8) --声明一个存放学员姓名的变量name,最多可存储8个字符       局部变量赋值:使用set语句或select语句       语法: set @name = 值 或 select @name = 值      注意:使用set 和 select都可以为变量赋值 不同的是 set只能为单个变量赋值而select可以为多个变量赋值     2、全局变量都使用两个@标志作为前缀        变量               含义        @@error            最后一个T-SQL错误的错误号 返回一个数字 0为成功执行        @@identity         最后一次插入的标识值                @@language         当前使用语言的名称        @@max_connections  可以创建的同时连接的最大数目        @@rowcount         受上一个SQL语句影响的行数        @@servername       本地服务器名称        @@servicename      该计算器上的SQL服务的名称        @@timeticks        当前计算机上每刻度的微秒数        @@transcount       当前连接打开的事务数        @@version          SQL server的版本信息三、输出语句    常用两种输出语句:print 局部变量或字符串                    select 局部变量 as 自定义列名    print输出结果以文本方式显示    select输出结果以表格方式显示   四、逻辑控制语句   1、if-else语句     语法:     单个语句          if(条件)               语句或语句块        else               语句或语句块          多个语句        if(条件)          begin             语句1             语句2             .....          end        else           ....   2、while循环语句     语法:        while(条件)          [begin]          语句或语句块          [break]          [end]       使用break关键字退出while循环      3、case多分支语句          语法:      case:             when  条件1 then 结果1               when   条件2 then 结果2               ................        end                示例:            select * from stuMarks --原始成绩       print ’ABCDE五级显示成绩如下‘            select stuNo,成绩=case                                   when writtenExam<60 then ’E‘                                   when writtenExam between 60 and 69 then ’D‘                            when writtenExam between 70 and 79 then ’C‘                      when writtenExam between 80 and 89 then ’B‘                      else 'A'                               end        from stuMarks                                     

原创粉丝点击