博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sql常用语句
阅读量:5343 次
发布时间:2019-06-15

本文共 7452 字,大约阅读时间需要 24 分钟。

View Code
1 drop database 学生成绩管理数据库   2 create database 学生成绩管理数据库   3 on primary   4 (   5  name='学生成绩管理_data',   6  filename='c:\学生成绩管理_data.mdf',   7  size=10,   8  maxsize=unlimited,   9  filegrowth=10%  10 )  11 log on  12 (  13  name='学生成绩管理_log',  14  filename='c:\学生成绩管理_log.ldf',  15  size=1,  16  maxsize=5  17   18  19 )    20  21 create table 学生表  22 (  23     学号 char(12) primary key not null,  24     姓名 char(8) not null ,  25     性别 char(2) not null default('男'),  26     出生年月 datetime ,  27     所在系 varchar(30) check(所在系='工程技术系' or 所在系='经济管理系' or 所在系='文法系' or 所在系='英语系')  28 )      29  30 create table 课程表  31 (  32     课程号 bigint identity(00010001,1) primary key not null,  33     课程名 varchar(30) not null,  34     学分 smallint  not null check(学分<=6 and 学分>=1),  35     任课教师 char(8)  36 )  37 create table 成绩表  38 (  39     primary key(学号,课程号),  40     学号 char(12)  not null references 学生表(学号),  41      课程号 bigint   references 课程表(课程号),  42     成绩 numeric (5,1) check(成绩<=100 and 成绩>=0)  43      44      45 )     46 insert into 学生表(学号,姓名,性别,出生年月,所在系) values('200600010001','李洁','女','1986-8-3','工程技术系')  47 insert into 学生表(学号,姓名,性别,出生年月,所在系) values('200600010002','张明','男','1986-8-3','工程技术系')  48 insert into 学生表(学号,姓名,性别,出生年月,所在系) values('200600010003','陈明洁','男','1986-8-3','工程技术系')  49 insert into 学生表(学号,姓名,性别,出生年月,所在系) values('200600020001','钟清','女','1986-8-3','文法系')  50 insert into 学生表(学号,姓名,性别,出生年月,所在系) values('200600020002','贺珊珊','女','1986-8-3','文法系')  51  52  53 insert into 课程表(课程名,学分,任课教师) values('计算机应用基础','4','李明')  54 insert into 课程表(课程名,学分,任课教师) values('数据库应用','3','王一凡')  55 insert into 课程表(课程名,学分,任课教师) values('计算机网络','4','丁治学')  56 insert into 课程表(课程名,学分,任课教师) values('面向对象程序设计','5','张也好')  57 insert into 课程表(课程名,学分,任课教师) values('微机组装与维护','2','赵翠花')  58  59 insert into 成绩表(学号,课程号,成绩) values('200600010001','00010002','89')  60 insert into 成绩表(学号,课程号,成绩) values('200600010001','00010003','68')  61 insert into 成绩表(学号,课程号,成绩) values('200600010001','00010005','73')  62 insert into 成绩表(学号,课程号,成绩) values('200600010002','00010002','56')  63 insert into 成绩表(学号,课程号,成绩) values('200600010002','00010004','62')  64  65 select * from 学生表  66 select * from 课程表  67 select * from 成绩表  68  69 update 课程表 set 任课教师='王-凡' where 任课教师='李明';  70 update 课程表 set 任课教师='丁治学' where  任课教师='张也好';  71  72 select 学生表.学号,学生表.姓名,课程表.课程号,课程表.课程名,成绩表.成绩  73 from 成绩表,课程表,学生表  74 where 学生表.学号=成绩表.学号 and 课程表.课程号=成绩表.课程号  75  76  77 select 课程表.课程号,课程表.课程名,成绩表.成绩  78 from  79 成绩表 inner join 课程表 on 成绩表.课程号= 课程表.课程号  80  81  82  83 drop table 学生表  84 drop table 课程表  85 drop table 成绩表  86  87  88  89  90  91  92 select * from sysobjects    93  94 alter table 学生表           ---------------------------------->修表  95 (  96     add columnname varchar(50),  97     drop column columnname,  98     modify column 姓名 char(10),  99     add constraint aa check(出生年月>'1991-1-1'), 100     drop constraint aa 101 102     add default column 性别   103     drop default column 性别   104 105     106     107  ) 108 create unique  index U_aa on 学生表(学号 desc)                                         ---->建立索引 109 alter unique index U_aa on 学生表(学号 asc)  110 drop index  学生表.U_aa 111 112 create view vie as select 学生表.学号,学生表.姓名,课程表.课程号 from 学生表,课程表                         ------->建立视图 113 alter view vie as select 学生表.姓名,课程表.课程号 from 学生表,课程表  114 drop view vie 115 116 select 学生表.学号,学生表.姓名,课程表.课程名 from 学生表,课程表------------------------------------>内联 117 select 学生表.学号,学生表.姓名,成绩表.成绩 from 118 学生表 inner  join 成绩表 on 学生表.学号=成绩表.学号 119 成绩表 inner join 课程表 on 成绩表.课程号=课程表.课程号-------------------------------------内联 120            121                 122 -----------------------------------游标-------------------------------------------------- 123 alter table 成绩表 124 add flag varchar(20) 125 126 declare @score int 127 declare cur_sor cursor for select 成绩 from 成绩表 for update of flag 128 open cur_sor 129 fetch next from cur_sor into @score 130 while @@fetch_status=0 131 begin 132     if @score>=90 133         update 成绩表 set flag='优秀' 134     if  @score >=80 and @score <90 135         update 成绩表 set flag='良好' 136     if @score>=60 and @score<80 137         update 成绩表 set flag='及格' 138     if @score<60 139         delete  from 成绩表 where current of cur_sor 140     fetch next from cur_sor into @score 141     142 end 143 144 close cur_sor 145 deallocate cur_sor 146  delete form 学生表 147 148 ---------------------------------------存储过程-------------------------------------------------- 149 create procedure proc_xs_select @id char(20) as 150     select 姓名,性别 from 学生表 where 学号=@id 151 152 create procedure proc_xs_insert 153 @id char(20), 154 @name char(20), 155 @sex char(20), 156 @place char(20), 157 @time datetime as 158     insert 学生表(学号,姓名,性别,出生年月,所在系) values(@id,@name,@sex,@time,@place) 159 160 create procedure proc_xs_update @name char(20),@sex char(20),@id char(20) as 161     update 学生表 set 性别=@sex,姓名=@name where 学号=@id 162 163 create procedure proc_xs_delete @id char(20) as 164     delete 学生表 where 学号=@id 165 166 drop procedure proc_xs_select 167 drop procedure proc_xs_update 168 drop procedure proc_xs_delete 169     170 execute proc_xs_select 200600010001 171 execute proc_xs_insert '200600020000','55','女','工程技术系','1986-8-3' 172 execute proc_xs_delete '200600020009' 173 174 175 create procedure InputAndOutput 176  @id char(20), 177  @aaaa char(20) out 178 as 179 select * from 成绩表  180 181 declare @aa 182 execute InputAndOutput 200600020000 ,@aa 183 ---------------------触发器-------------------------- 184 create trigger tri_xs 185 on 学生表 186 for insert 187 as 188 begin 189     update 成绩表 set 成绩=成绩+20 190 191 end 192 drop trigger tri_xs 193 select * from  成绩表 194 195 196 create table 住宿人 197 ( 198     names varchar(12), 199     sex varchar(12), 200     房间号 varchar(12) default(4) 201 ) 202 create table 房间 203 ( 204     空床位数 int default(4), 205     房间号 int 206 ) 207 drop table 住宿人 208 209 --插入触发器:注意inserted表 210 go 211 create trigger trig_住宿人 212   on 住宿人 213   for insert 214   as 215   declare @fjh int 216   select @fjh=房间号 from inserted                             -- 217   update 房间 set 空床位数=空床位数-1 where 房间号=@fjh 218   select * from 房间 219 go 220 221 --删除触发器:注意deleted表 222 create trigger trig_退宿人    223   on 住宿人 224   for delete 225   as 226   declare @fjh int 227   select @fjh=房间号 from deleted   --副本 228   update 房间 set 空床位数=空床位数+1 where 房间号=@fjh 229   select * from 房间 230 go 231 insert 住宿人(names,sex,房间号) values('long','男',4) 232 select * from 住宿人 233 234 235 236 237 238 --p145 11 239 create trigger tri_xs 240 on 学生表 241 for insert 242 as 243     select * from  学生表 244 sp_helptext tri_xs 245 246 247 create trigger tri_update 248 on 学生表 249 for update 250 as 251  if  exists(select * from sysobjects where name='backuptable') 252     drop table backuptable     --多次按下update语句时,使得backtable中只有两条记录 253 254  select * into backuptable from deleted           --产生表格,并且拷贝记录 255  insert into backuptable select * from inserted   --已经产生了表格,现在往里面插入数据 256  select * from backuptable 257 go 258 259 update 学生表 set 出生年月=出生年月-1 where 学号='200600010001' 260 261 ------------------------------------------------ 262 263 declare @sum int ,@i int 264 select @sum=0,@i=1 265 266 while(@sum<1000) 267 begin 268     select @sum=@sum+@i 269     select @i=@i+1 270 271 end 272 print '1+2+3+......+n>1000时,n是?,sum?' 273 print 'sum:' 274 print @sum 275 print 'n:' 276 print @i 277 278

转载于:https://www.cnblogs.com/lifeOfIT/archive/2011/12/30/2308095.html

你可能感兴趣的文章
jquery 获取css position的值
查看>>
面向对象的程序设计
查看>>
a标签添加点击事件
查看>>
H3C Comware V3 端口聚合
查看>>
应该具备的能力
查看>>
五句话搞定JavaScript作用域
查看>>
关于Spring、Nhibrnate、Vue.JS、Node.JS、bootstarp,框架学习后的想法和总结(续)
查看>>
平台使用注意事项
查看>>
一些总结
查看>>
[CF888E] Maximum Subsequence 序列分治
查看>>
Csharp:Windowsform using CheckedListBox Datasource
查看>>
android 直接在屏幕上绘图
查看>>
[网络流24题] 方格取数问题/骑士共存问题 (最大流->最大权闭合图)
查看>>
PHP中curl模拟post上传及接收文件
查看>>
qt creator中添加自定义的类后需要执行qmake
查看>>
Openstack+Kubernetes+Docker微服务实践之路--选型
查看>>
操作系统学习---进程管理(二)
查看>>
如何简单形象又有趣地讲解神经网络是什么?知乎
查看>>
MVVM
查看>>
Sql 查询当天、本周、本月记录
查看>>