zoukankan      html  css  js  c++  java
  • sql常用语句

    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
  • 相关阅读:
    javascript设计模式(一)职责链模式China of responsibility
    javascript设计模式(一)策略模式Strategy
    angularjs提示消息弹出框
    Javascript设计模式(一)States
    Javascript设计模式(一)Facade
    NOIP2020
    RMQ & ST表
    NOI Linux
    初赛解析
    贪心大解析
  • 原文地址:https://www.cnblogs.com/lifeOfIT/p/2308095.html
Copyright © 2011-2022 走看看