`
longgangbai
  • 浏览: 7339242 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ms sql 学习应用

阅读更多

学习MS sql的实例

--必须选择master的实例数据库在判断数据库时

use master
 检测数据库信息

go
 if exists (select * from sysdatabases where name='stuDB')
  drop database stuDB
go

---调用dos命令执行创建目录
 exec xp_cmdshell 'mkdir E:\StuInfo'
go

----创建数据库
  create database stuDB
 on primary
(
   name='stuDB',
   filename='E:\StuInfo\stuDB_data.mdf',//创建数据库库的主文件
   size=10,
   maxsize=20,
   filegrowth=10%
)
log on            //创建数据库的日志文件的信息
(
  name='stuDBLog',
  filename='E:\StuInfo\stuDBLog_log.ldf',
  size=20,
  maxsize=40,
  filegrowth=10%
)
go

----------使用前必须选择创建数据库执行批处理
 use stuDB
go 

---判断数据库中表是否存在的信息

 if exists(select * from sysobjects where name='stuInfo')
  drop table stuInfo
go
  create table stuInfo
 (
   stuNo varchar(7) not null,
   stuName varchar(32) not null,
   stuSex varchar(4) not null,
   stuSeat int not null identity (1,1),
   stuAge int not null,
  stuAddress varchar(50)
  )
go

-------------添加各种约束的信息
   alter table stuInfo
      add constraint pk_stuNo primary key(stuNo)  --主键约束
  alter table stuInfo
      add constraint ck_stuSex check( stuSex in ('男' ,'女'))  --check约束
  alter  table  stuInfo
     add  constraint  df_stuAddress default('地址不详') for stuAddress  --默认约束
  alter table stuInfo
     add constraint ck_stuAge check(stuAge between 15 and 40)
  alter table stuInfo
      add constraint uq_stuNo unique(stuNo)    --唯一约束
  alter table stuInfo
       add constraint ck_stuNo check(stuNo like 's253__')        
  
  alter table stuInfo  ---------删除约束信息
    drop constraint ck_stuNo

go
   if exists(select * from sysobjects where name='stuMarks')
      drop table stuMarks
go
 create table stuMarks
(
   examNo varchar(7) not null,
   stuNo varchar(7) not null,
   writtenexam int not null,
  labexam int not null
 )
go
 alter table stuMarks
   add constraint pk_stuNoMarks primary key(stuNo)
  alter table stuMarks  --创建外键约束信息
    add constraint fk_stuNo foreign key(stuNo)
          references stuInfo(stuNo)
 alter table stuMarks  
   add constraint df_writtenexam default(0) for writtenexam

 alter table stuMarks
   add constraint df_labexam default(0) for labexam

go

insert into stuInfo (stuName ,stuNo,stuSex,stuAge,stuAddress)
select '我的爱人','s25301','女',18,'河南南阳' union
select '晓丽','s25302','女',18,'河南南阳' union
select '小白','s25303','男',18,'河南南阳'
go

insert into stuInfo(stuName,stuNo,stuSex,stuAge,stuAddress)
  values('小丽','s25304','女',16,'河南淅川')

 

insert into stuInfo(stuName,stuNo,stuSex,stuAge,stuAddress)
  values('阿朵','s25305','女',16,default)
go


use studb
go
 -----分配权限

 grant select ,update,insert  on stuinfo to xiaobai;
 grant select on stuInf to jy;
 grant create table to bailonggang;
go
  select * from stuInfo;
  select * from stuMarks;
 go

 

----插入多行时使用
 insert into stuMarks(examNo,stuNo,writtenexam,labexam)
  select 's271811','s25301' ,80,20 union
  select 's271813','s25304' ,88,70 union
  select 's271816','s25302' ,48,50 union
  select 's271815','s25303' ,45,30

go

 

---声明变量的时使用
 declare @name varchar(34)
  set @name='晓丽'
 declare @seat int
  select @seat=stuseat from stuInfo where stuname =@name
   select * from stuinfo where (stuseat=@seat-1) or (stuseat=@seat+1)
go

 

 

---服务器变量的使用必须为@@

print '服务器的名称'+@@servername
select @@servername as '服务器的名称'

insert into stuInfo(stuNo,stuName,stuSex,stuAge,stuAddress)
values('梅超风','s25301','女',23,default)
print '当前的错误的号为:'+convert(varchar(5),@@error)


update stuInfo set stuAge=89 where stuname='小白'
print '当前的错误的号为:'+convert(varchar(5),@@error)

go

-----在mssql中 if判断的使用
declare @avag float
  select @avag=avg(writtenexam) from stuMarks
 if(@avag>70)
  begin
      print '本班的笔试成绩比较优秀:'+convert(varchar(5),@avag)
       select top 3 * from stuMarks order by writtenexam desc
  end
 else
   begin
       print '本班的笔试成绩比较差:'+convert(varchar(5),@avag)
       select top 3 * from stuMarks order by writtenexam asc
     
   end

go

 

-----mssql 中判断的使用(无条件比较常用)

 

declare @n int
 while(1=1)
 begin
    select @n=count(*) from stuMarks where writtenexam<60
     if(@n>0)
      begin
             update stuMarks set writtenexam=writtenexam+2
      end
    else
      break;
 end 

go
select * from stuMarks

go

----有条件的判断的使用

while (select avg(labexam)from stuMarks)<70
begin
    update stuMarks set labexam=labexam+2
     if(select max(labexam) from stuMarks )>80
            break;
      else
           continue;
end

go


select * from stuMarks

go

---case end的经典使用的

declare @n int
  while(1=1)
  begin
    select @n=count(*) from stuMarks where labexam<60
    if(@n>0)
     begin
              update stuMarks set  labexam=labexam+
                     case
                            when  labexam between 80 and 89 then 1
                            when  labexam between 70 and 79 then 2
                            when  labexam between 60 and 69 then 3
                             else  5
                     end
     end
    else
         break
  end 
go

 

 
  select examno stuno ,writtenexam ,labexam ,
            等级=case
                        when  labexam>90 then 'A'
                        when  labexam between 80 and 89 then 'B'
          when  labexam between 70 and 79 then 'C'
                        when  labexam between 60 and 69 then 'D'
                        else 'E'
                 end
    from stuMarks


go

 


declare  @n int
  while(1=1)
  begin
         select @n=count(*) from stuMarks where labexam <60
          if(@n<0)
          begin
               update  stuMarks set labexam=labexam+2
          end
          else
             break;
  end
   update stumarks set labexam=100 where labexam>100

 go


select writtenexam,stuno,labexam ,
    等级=
        case
          when  labexam> 90 then 'A'
            when  labexam between 80 and 90 then 'B'
          when  labexam between 70 and 80 then 'C'
          when  labexam between 60 and 70 then 'D'
          else 'E'
        end
    from stuMarks

go

分享到:
评论

相关推荐

    MS SQL SERVER学习笔记

    ### MS SQL SERVER 学习笔记知识点汇总 #### 数据库技术简介 **基本概念** - **数据库**: 计算机存储器中用于存储数据的仓库,是数据管理的基础。 - **数据库系统**: 包括数据库、数据库管理系统(DBMS)、应用...

    SQL语句帮助文档 - MS SQL

    通过上述的`Transact-SQL CHN.chi`和`Transact-SQL CHN.chm`文档,用户可以详细学习到T-SQL的语法、用法及示例,从而更好地在MS SQL Server环境中进行数据管理和应用开发。这些文档是MS SQL Server用户的重要参考...

    chx 学习jForum笔记十八 jForum与ms sqlserver

    《jForum与MS SQLServer整合学习笔记》 jForum是一款基于Java的开源论坛系统,它以其高度可定制性、灵活性和强大的功能深受开发者喜爱。在本文中,我们将深入探讨如何将jForum与Microsoft SQL Server(简称MS SQL...

    MS SQL 基础语句教程

    ### MS SQL 基础语句教程 #### 第一天:SQL简介 - **SQL简史**:SQL(Structured Query Language)是一种用于管理关系型数据库...通过对这些内容的学习,读者将能够有效地使用MS SQL Server 2005进行各种数据库操作。

    只能还原ms sql 数据库

    标题中的“只能还原MS SQL数据库”表明这是一个专为恢复Microsoft SQL Server数据库而设计的应用程序。在IT领域,数据库是存储和管理数据的核心组件,而SQL Server是微软公司提供的一种关系型数据库管理系统,广泛...

    SELECT语句的应用 - MS SQL

    本主题将聚焦于SELECT语句在MS SQL中的应用,这是一种用于从数据库中检索数据的关键命令。 一、SELECT语句基础 SELECT语句是最基本的查询工具,它允许用户从一个或多个表中选择特定的数据行和列。其基本语法如下:...

    MS SQL Server7参考手册-编程语言

    通过学习《MS SQL Server 7 参考手册 - 编程语言》,开发者能够熟练掌握SQL Server 7.0中的编程和管理技巧,从而更有效地构建和维护数据库应用。虽然SQL Server 7.0现在已被更新的版本所取代,但其基本原理和概念在...

    10分钟学会MS SQL (2005)

    在十分钟内掌握MS SQL Server 2005可能听起来有些挑战,但别担心,我们会逐步讲解这个强大的数据库管理系统的关键概念和操作。SQL Server 2005是Microsoft公司推出的一款企业级数据库解决方案,广泛应用于数据存储、...

    ms SQL 和 sql anywhere 数据库管理实用工具源码

    在信息技术领域,数据库管理系统(DBMS)是不可或缺的一部分,而ms SQL与SQL Anywhere则是两种广泛应用的关系型数据库管理系统。本篇文章将深入探讨一个用于管理这两种数据库的实用工具源码,帮助读者理解其工作原理...

    MS sql-server培训

    MS SQL Server是一款由微软公司开发的关系型数据库管理系统,广泛应用于企业级数据存储、管理和分析。在MS SQL Server培训中,通常会涵盖以下几个核心知识点: 1. **SQL基础**:SQL(Structured Query Language)是...

    Oracle与MS_SQL_Server_之比较

    Oracle和MS SQL Server作为两大主流的关系型数据库管理系统,在设计理念、系统架构、功能特性和应用场景上有着显著的差异。Oracle数据库系统由Oracle Corporation开发,支持复杂事务处理和高并发操作,而MS SQL ...

    MS_Sql_Server_log_clear.rar_MS SQL Server_delphi sql

    【标题】MS SQL Server日志清理...通过这个压缩包,我们可以学习到如何利用Delphi编程语言创建与MS SQL Server交互的应用程序,以及如何实现数据库日志的清理,这对于数据库管理和开发人员来说是一份宝贵的学习资料。

    MS+SQL全系列教程 [入门必备' 强烈推荐]

    【MS+SQL全系列教程】是一套全面介绍Microsoft SQL Server的教育资源,专为初学者设计,旨在通过12个章节的深入讲解,帮助用户从零基础掌握SQL Server的基础知识和高级应用。本教程覆盖了从安装配置到实际操作的全...

    ASP网站源代码 MS SQL

    ASP是一种服务器端脚本环境,主要用于创建动态网页和Web应用程序,而MS SQL则是微软公司提供的关系型数据库管理系统,用于存储、管理和检索数据。 **ASP技术详解:** ASP是微软在1996年推出的Web开发技术,它允许...

    MS SQL SERVER 数据库技巧总结

    在IT行业中,MS SQL Server是微软公司开发的关系型数据库管理系统,广泛应用于企业级数据存储、管理和分析。本篇文章将深入探讨一些MS SQL Server的关键数据库技巧,帮助你优化工作流程,提高效率。 一、查询优化 ...

    JetSQL - SQL script interpreter for MS JetSQL脚本解释

    JetSQL是一款专为MS Jet SQL设计的脚本解释器,它允许用户通过SQL语句来操作和管理基于Microsoft Jet数据库引擎的数据。JetSQL为开发者和数据库管理员提供了方便的工具,可以执行复杂的数据库操作,比如查询、插入、...

    MS SQL Server语句追踪器

    MS SQL Server语句追踪器是数据库管理员和开发者用于优化数据库性能、排查问题的重要工具。它允许用户实时监控SQL Server数据库的活动,记录并分析执行的SQL语句和存储过程,以便找出性能瓶颈或异常行为。在本文中,...

    Import-Excel-v9.u26052015.zip_MS SQL Server_excel SQL delphi

    MS SQL Server是微软提供的一个强大关系型数据库管理系统,广泛应用于企业级应用。Excel SQL是指在Excel数据操作中使用SQL语言,这可能是通过VBA(Visual Basic for Applications)或者其他插件实现的。而Delphi是一...

    MS SQL Server 2000 Bible

    通过实际案例和详尽的代码示例,读者可以学习到如何利用SQL Server的强大功能来优化数据查询和事务处理,提高数据库的响应速度和安全性。 ### 数据连接开发 在数据库开发中,数据连接是必不可少的一部分。本书详细...

Global site tag (gtag.js) - Google Analytics