SQLSERVER2000/2005知识总结

 SQLServer 数据库:
     1.通过快捷键F5进行所写代码调试运行。
   1.1 开始--运行--isqlw 打开查询分析器
   1.2 开始--运行--sqlmangr 打开服务管理器
     2.在编写途中,如需对代码替换,可选用Ctrl+H进行替换。
     3.数据库设计通常有建库,建表,建约束,建登录:
        3.1 建库:create database 数据库名
        3.2 建表:create table 表名
        3.3 建约束:alter table 表名 
      add constraint 约束名 primary key/unique/default/check/froeign key--references(主                                    外键) 约束表达式
        3.4 建登录:
    3.4.1 建立和删除登陆用户:exec sp_addlogin 数据库名称,密码
                              exec sp_droplogin 数据库名称
    3.4.2 建立和删除数据库用户: exec sp_grantdbaccess 数据库名称,数据库用户名
            exec sp_revokedbaccess 数据库用户名
    3.4.3 授予访问权限: grant select/update/insert/delete on 表名 to 数据库用户名
     4.数据的增,删,改,查:
   4.1 添加: insert into 表名
       values(参数)
   4.2 删除: delete 表名
       where 条件表达式
   4.3 修改: update 表名
       set 表达式
       where 条件表达式
   4.4 查找: select 参数 from  表名
         where 条件表达式
     5.如果通过union进行数据添加的,添加的参数中不能有default默认值。
     6.聚合函数max,min,avg,sum,count返回的结果有且只有一条记录。
     7.有时会用到系统函数,较频繁的如下:
    getdate() 得到当前时间
    convert('abcdef',3,4) 字符串转换  注:从第3个数往后取4位。
    rand() 产生0--1之间随机数
    ......
     8.其他记要如下:
    8.1 GROUP BY子句是分组查询子句。
    8.2 HAVING子句用于指定分组子句的条件。
    8.3 GROUP BY子句、HAVING子句和集合函数一起可以实现对每个组生成一行和一个汇总值。
                                8.4 ORDER BY子句可以根据一个列或者多个列来排序查询结果,在该子句中,既可以使用列名,                                    也可以使用相对列号。
     8.5 ASC表示升序排列,DESC表示降序排列。
    8.6 COMPUTE子句使用集合函数在查询的结果集中生成汇总行。
    8.7 COMPUTE BY子句用于增加各列汇总行。
    8.8 COUNT返回组中项目的数量. COUNT (*)返回符合搜索条件的行的数目,包括含有空值的行。
    8.9 什么时候使用group by子句?
        当需要按某一列数据的值进行分类,在分类的基础上对数据进行统计,就需要使用group by                                    子句。
    8.10 使用group by注意
         指定 GROUP BY 时,选择列表中任一非聚合表达式内的所有列都应包含在 GROUP BY 列表                                     中。选择列表中的列如果不在聚合函数里面,就必须在GROUP BY列表里面。否则语法上虽                                     然不会出错,但是执行起来会出错。
    8.11 注意having和where的区别
          WHERE 子句搜索条件在进行分组操作之前应用;
     而 HAVING 搜索条件在进行分组操作之后应用。
     HAVING 语法与 WHERE 语法类似,但 HAVING 可以包含聚合函数,where不能包含聚合     函数。
     HAVING 子句可以引用选择列表中出现的任意项。
    8.12 表与表之间的联接
     8.12.1 内联接 inner join
     8.12.2 外联接
      8.12.2.1 左联接 left join 
      8.12.2.2 右联接 right join
     8.12.3 交叉联接 cross join  
     8.12.4 全联接 full join
     9.创建事务,索引,视图:
   9.1 事务: begin transaction
       rollback transaction 
       commit transaction
   9.2 索引:create nonclustered(非聚集索引) index 索引名
      on 表名(列名)
   9.3 视图:create view 视图名
      as
      select 参数 from 表名
      视图是张虚表,但对应的是原表里面的信息,所以修改虚表就如同修改原表。  
    10.创建存储过程:
   10.1 create procedure 名称
        参数
        as
        begin
    SQL语句
        end
        go

        declare 变量名 变量类型
        exec 名称 参数(output)
   10.2 存储过程:
    10.2.1 输入参数的存储过程:相当与传值,返回结果是符合条件的一个结果集。
    10.2.2 输出参数的存储过程:相当与传引用,用output来接收,返回的结果是符合条件的结果                   集中边缘的一条记录,即最大或最小值。始终返回的是一个值或一条记录。
    11.创建触发器:
   11.1 create trigger 名称 
        on 表名
        for insert/delete/update
        as
        begin
    select 参数 from inserted/deleted
    SQL语句
        end
        go
   
        insert/delete/update into 表名
        values(参数)
   11.2 触发器是通过insert/update/delete语句触发的,不能通过调用,这一点要和存储过程区分开来。

 

 

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~总结~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值