实验三:学生工作管理系统sql代码

来源:互联网 发布:手机计时器软件 编辑:程序博客网 时间:2024/05/22 05:13

use database2015 --建立表格 create table 政治面貌表 (    政治面貌编号 int identity NOTNULL,--系统自动增    政治面貌 varchar(8)notnullunique,    primary key(政治面貌编号) )--查询标识值identity--DBCCCHECKIDENT('表名', NORESEED)/*检查标识信息:当前标识值'1002',当前列值'1002'。DBCC 执行完毕。如果DBCC输出了错误信息,请与系统管理员联系。*/--重置标识值--DBCCCHECKIDENT('表名', RESEED)无动作--使用重置标识值--DBCCCHECKIDENT('表名', RESEED,目的位置的前一个序号) create table 民族编号表 (  民族编号 intidentitynotnullprimarykey,  民族 varchar(10)notnullunique, ) create table 籍贯编号表 (  籍贯编号 intidentitynotnullprimarykey,  籍贯   varchar(18)notnullunique, ) create table 院系表 (   院系编号 int identity notnullprimarykey,   系名 varchar(20)notnullunique,)create table老师信息 (   教师编号 char(4)notnullprimarykey,   密码 varchar(16)notnull,   姓名 varchar(12)notnull,   性别 varchar(2)constraintfd_老师信息default('男'),   constraint ck_老师信息 check(性别in('女','男')),   身份证号 varchar(18)notnullunique,   民族编号 int not null,   籍贯编号 int not null,   政治面貌编号 int not null,   foreign key(民族编号)references民族编号表(民族编号),   foreign key(籍贯编号)references籍贯编号表(籍贯编号),   foreign key(政治面貌编号)references政治面貌表(政治面貌编号), )create table班级信息 (   班级编号 char(7) not nullprimarykey,   年级  varchar(4)notnull,   班级名称 varchar(30),   班级人数 decimal(3,0)notnull,--decimal (小数点左边,小数点右边)   教师编号 char(4)notnull,--定长字符串   院系编号 int not null,   foreign key(教师编号)references老师信息(教师编号),   foreign key(院系编号)references院系表(院系编号), )create table管理员( 登入名 char(4)notnullprimarykey, 密码 varchar(16)notnull)create table学生信息(  学号 char(8)notnullprimarykey,  密码 varchar(16)notnull,  姓名 varchar(12)notnull,  性别 varchar(2)constraintfd_学生信息default('男'),   constraint ck_学生信息 check(性别in('女','男')),  身份证号 varchar(18)notnullunique,  民族编号 intnotnull,  班级编号 char(7)notnull,  籍贯编号 intnotnull,  政治面貌编号 int not null,  foreign key(民族编号)references民族编号表(民族编号),  foreign key(班级编号)references班级信息(班级编号),  foreign key(籍贯编号)references籍贯编号表(籍贯编号),  foreign key(政治面貌编号)references政治面貌表(政治面貌编号),) create table 课程信息(  课程编号 intidentitynotnullprimarykey,  课程名称 varchar(20)notnull,  教师编号 char(4)notnull,  院系编号 intnotnull,  人数 decimal(3,0)check(人数>=60),  学分 intcheck(学分>=0and学分<6),  foreign key (教师编号)references老师信息(教师编号),  foreign key (院系编号)references院系表(院系编号))create table成绩表(  成绩编号 intidentitynotnullprimarykey,  学号 char(8)notnull,  课程编号 intnotnull,  成绩 intcheck(成绩>=0and成绩<=100),  是否补修 char(2)default('否'),  check(是否补修in('是','否')),  是否重考 char(2)default('否'),  check(是否重考in('是','否')),  foreign key(学号)references学生信息(学号),  foreign key(课程编号)references课程信息(课程编号))create table课程表( 课序号 intidentitynotnullprimarykey, 课程编号 intnotnull, 上课时间天 decimal(2,0)notnull, 上课时间节 decimal(2,0)notnull, 上课地点 varchar(20)notnull, 考试时间 datetime, 考试地点 varchar(20), foreign key (课程编号)references课程信息(课程编号))create table选课表(  选课编号 intidentitynotnullprimarykey,  课程编号 intnotnull,  学号 char(8),  foreign key (课程编号)references课程信息(课程编号),  foreign key (学号)references学生信息(学号) )create table开课时间表(  项目 char(1)primarykey,  提示信息 char(2)default('否'),  check(提示信息in('是','否')),  起始时间 datetime,  结束时间 datetime)--插入数据insert into政治面貌表(政治面貌)values('党员')insert into政治面貌表(政治面貌)values('共青团员')insert into政治面貌表(政治面貌)values('群众') insert into民族编号表(民族)values('汉族')insert into民族编号表(民族)values('阿昌族')insert into民族编号表(民族)values('鄂温克族')insert into民族编号表(民族)values('傈僳族')insert into民族编号表(民族)values('水族')insert into民族编号表(民族)values('白族')insert into民族编号表(民族)values('高山族')insert into民族编号表(民族)values('珞巴族')insert into民族编号表(民族)values('塔吉克族')insert into民族编号表(民族)values('保安族')insert into民族编号表(民族)values('仡佬族')insert into民族编号表(民族)values('满族')insert into民族编号表(民族)values('塔塔尔族')insert into民族编号表(民族)values('布朗族')insert into民族编号表(民族)values('哈尼族')insert into民族编号表(民族)values('毛南族')insert into民族编号表(民族)values('土家族')insert into民族编号表(民族)values('布依族')insert into民族编号表(民族)values('哈萨克族')insert into民族编号表(民族)values('门巴族')insert into民族编号表(民族)values('土族')insert into民族编号表(民族)values('朝鲜族')insert into民族编号表(民族)values('蒙古族')insert into民族编号表(民族)values('佤族')insert into民族编号表(民族)values('达斡尔族')insert into民族编号表(民族)values('赫哲族')insert into民族编号表(民族)values('苗族')insert into民族编号表(民族)values('维吾尔族')insert into民族编号表(民族)values('傣族')insert into民族编号表(民族)values('回族')insert into民族编号表(民族)values('仫佬族')insert into民族编号表(民族)values('乌孜别克族')insert into民族编号表(民族)values('德昂族')insert into民族编号表(民族)values('基诺族')insert into民族编号表(民族)values('纳西族')insert into民族编号表(民族)values('锡伯族')insert into民族编号表(民族)values('东乡族')insert into民族编号表(民族)values('京族')insert into民族编号表(民族)values('怒族')insert into民族编号表(民族)values('瑶族')insert into民族编号表(民族)values('侗族')insert into民族编号表(民族)values('景颇族')insert into民族编号表(民族)values('普米族')insert into民族编号表(民族)values('彝族')insert into民族编号表(民族)values('独龙族')insert into民族编号表(民族)values('柯尔克孜族')insert into民族编号表(民族)values('羌族')insert into民族编号表(民族)values('裕固族')insert into民族编号表(民族)values('俄罗斯族')insert into民族编号表(民族)values('拉祜族')insert into民族编号表(民族)values('撒拉族')insert into民族编号表(民族)values('藏族')insert into民族编号表(民族)values('鄂伦春族')insert into民族编号表(民族)values('黎族')insert into民族编号表(民族)values('畲族')insert into民族编号表(民族)values('壮族') insert into籍贯编号表(籍贯)values('福建')insert into籍贯编号表(籍贯)values('重庆')insert into籍贯编号表(籍贯)values('辽宁')insert into籍贯编号表(籍贯)values('宁夏')insert into籍贯编号表(籍贯)values('吉林')insert into籍贯编号表(籍贯)values('四川')insert into籍贯编号表(籍贯)values('贵州')insert into籍贯编号表(籍贯)values('甘肃')insert into籍贯编号表(籍贯)values('北京')insert into籍贯编号表(籍贯)values('内蒙古')insert into籍贯编号表(籍贯)values('新疆')insert into籍贯编号表(籍贯)values('澳门')insert into籍贯编号表(籍贯)values('天津')insert into籍贯编号表(籍贯)values('香港')insert into籍贯编号表(籍贯)values('台湾')insert into籍贯编号表(籍贯)values('黑龙江')insert into籍贯编号表(籍贯)values('浙江')insert into籍贯编号表(籍贯)values('上海')insert into籍贯编号表(籍贯)values('青海')insert into籍贯编号表(籍贯)values('江苏')insert into籍贯编号表(籍贯)values('安徽')insert into籍贯编号表(籍贯)values('山东')insert into籍贯编号表(籍贯)values('广东')insert into籍贯编号表(籍贯)values('广西')insert into籍贯编号表(籍贯)values('江西')insert into籍贯编号表(籍贯)values('山西')insert into籍贯编号表(籍贯)values('陕西')insert into籍贯编号表(籍贯)values('西藏')insert into籍贯编号表(籍贯)values('河南')insert into籍贯编号表(籍贯)values('湖南')insert into籍贯编号表(籍贯)values('海南')insert into籍贯编号表(籍贯)values('云南')insert into籍贯编号表(籍贯)values('河北')insert into籍贯编号表(籍贯)values('湖北')   insert into院系表(系名)values('计算机')insert into院系表(系名)values('软件工程')insert into院系表(系名)values('土木工程')insert into院系表(系名)values('音乐')insert into院系表(系名)values('建筑')insert into院系表(系名)values('工商管理')insert into院系表(系名)values('会计')insert into院系表(系名)values('管理科学与工程')insert into院系表(系名)values('数学')insert into院系表(系名)values('财政金融')insert into院系表(系名)values('紫金矿业')insert into院系表(系名)values('人文社会科学')insert into院系表(系名)values('生物科学与工程')insert into院系表(系名)values('电子与通信工程')insert into院系表(系名)values('电气工程与自动化')  insert into老师信息(教师编号,密码,姓名,性别,身份证号,民族编号,籍贯编号,政治面貌编号)values('0000','0000','武曌','女','351811198808123450',1,1,1) insert into 老师信息(教师编号,密码,姓名,性别,身份证号,民族编号,籍贯编号,政治面貌编号)values('0001','0001','嬴政','男','351811198004103451',1,1,1)  insert into班级信息(班级编号,年级,班级名称,班级人数,教师编号,院系编号)values('0113001','2013','13级计算机一班',31,'0001',1)insert into班级信息(班级编号,年级,班级名称,班级人数,教师编号,院系编号)values('0113002','2013','13级计算机二班',33,'0001',1)  insert into管理员(登入名,密码)values('GLH1','1234')  insert into学生信息(学号,密码,姓名,性别,身份证号,民族编号,班级编号,籍贯编号,政治面貌编号)values('01130101','01130101','高月','女','354671199312201540',1,'0113001',1,3)insert into学生信息(学号,密码,姓名,性别,身份证号,民族编号,班级编号,籍贯编号,政治面貌编号)values('01130102','01130102','石兰','女','354671199312201542',1,'0113001',1,3)insert into学生信息(学号,密码,姓名,性别,身份证号,民族编号,班级编号,籍贯编号,政治面貌编号)values('01130103','01130103','上官婉儿','女','354671199312201544',1,'0113001',1,3)insert into学生信息(学号,密码,姓名,性别,身份证号,民族编号,班级编号,籍贯编号,政治面貌编号)values('01130104','01130104','吕雉','女','354671199312201548',1,'0113001',1,3)insert into学生信息(学号,密码,姓名,性别,身份证号,民族编号,班级编号,籍贯编号,政治面貌编号)values('01130105','01130105','石铁心','女','354671199312201550',1,'0113001',1,3)insert into学生信息(学号,密码,姓名,性别,身份证号,民族编号,班级编号,籍贯编号,政治面貌编号)values('01130106','01130106','辛追','女','354671199312201552',1,'0113001',1,3)insert into学生信息(学号,密码,姓名,性别,身份证号,民族编号,班级编号,籍贯编号,政治面貌编号)values('01130107','01130107','李清照','女','354671199312201554',1,'0113001',1,3)insert into学生信息(学号,密码,姓名,性别,身份证号,民族编号,班级编号,籍贯编号,政治面貌编号)values('01130108','01130108','项羽','男','354671199312201541',1,'0113001',20,3)insert into学生信息(学号,密码,姓名,性别,身份证号,民族编号,班级编号,籍贯编号,政治面貌编号)values('01130109','01130109','曹擦','男','354671199312201543',1,'0113001',8,3)insert into学生信息(学号,密码,姓名,性别,身份证号,民族编号,班级编号,籍贯编号,政治面貌编号)values('01130110','01130110','追风','男','354671199312201545',1,'0113001',2,3)insert into学生信息(学号,密码,姓名,性别,身份证号,民族编号,班级编号,籍贯编号,政治面貌编号)values('01130201','01130201','追风','男','354671199312201547',1,'0113002',2,3)insert into开课时间表values('1','否','2015-05-22 00:00:00','2015-05-23 00:00:00')insert into开课时间表values('2','否','2015-05-22 00:00:00','2015-05-23 00:00:00') 视图:create view学生信息视图asselect 学生信息.学号,       学生信息.姓名,       学生信息.性别,       学生信息.身份证号,       民族编号表.民族,       班级信息.班级名称,       籍贯编号表.籍贯,       政治面貌表.政治面貌       from 学生信息,民族编号表,班级信息,籍贯编号表,政治面貌表       where 学生信息.政治面貌编号=政治面貌表.政治面貌编号and             学生信息.籍贯编号=籍贯编号表.籍贯编号and             学生信息.班级编号=班级信息.班级编号 and             学生信息.民族编号=民族编号表.民族编号 create view老师信息视图asselect 老师信息.教师编号,       老师信息.姓名,       老师信息.性别,       老师信息.身份证号,       民族编号表.民族,       籍贯编号表.籍贯,       政治面貌表.政治面貌       from       老师信息,       民族编号表,       籍贯编号表,       政治面貌表       where       老师信息.政治面貌编号=政治面貌表.政治面貌编号and       老师信息.籍贯编号=籍贯编号表.籍贯编号and       老师信息.民族编号=民族编号表.民族编号  create view班级信息视图asselect 班级信息.班级编号,       班级信息.年级,       班级信息.班级名称,       班级信息.班级人数,       (老师信息.姓名)as'辅导员',       院系表.系名from班级信息,院系表,老师信息where  班级信息.教师编号=老师信息.教师编号and       班级信息.院系编号=院系表.院系编号 create view开课信息视图asselect  课程信息.课程编号,  课程信息.课程名称,  (老师信息.姓名)as'授课教师',  课程信息.学分,  课程信息.人数,  (院系表.系名)as'开课学院'from 课程信息,老师信息,院系表where 课程信息.教师编号=老师信息.教师编号and      课程信息.院系编号=院系表.院系编号  create view学生成绩视图asselect 课程信息.课程名称, 学生信息.姓名, 成绩表.*from 学生信息,课程信息,成绩表where 学生信息.学号=成绩表.学号and      课程信息.课程编号=成绩表.课程编号  create view学生课表视图asselect  课程信息.课程名称,  成绩表.学号,  课程表.上课时间天,  课程表.上课时间节,  课程表.上课地点,  课程表.考试时间,  课程表.考试地点from  课程表,课程信息,成绩表where  课程表.课程编号=课程信息.课程编号and      课程信息.课程编号=成绩表.课程编号create view老师课表视图asselect   课程信息.课程名称,  课程表.上课时间天,  课程表.上课时间节,  课程表.上课地点,  课程表.考试时间,  课程表.考试地点,  课程信息.教师编号from 课程表,课程信息where 课程表.课程编号=课程信息.课程编号 create view老师开课信息视图asselect 系名,       课程编号,       课程名称,       教师编号,       学分,       人数 from 课程信息,院系表      where 课程信息.院系编号=院系表.院系编号 create procedure成绩按课程名查询@coursename varchar(20)asset nocounton/*【可有可无】当SET NOCOUNT为ON时,不返回计数(表示受Transact-SQL语句影响的行数)。当SET NOCOUNT为OFF时,返回计数。如果存储过程中包含的一些语句并不返回许多实际的数据,则该设置由于大量减少了网络流量,因此可显著提高性能。*/beginif @coursenameis nullreturnselect AVG(成绩)from学生成绩视图where课程名称=@coursenameselect 成绩from学生成绩视图where 课程名称=@coursenameand成绩>=all(select成绩from学生成绩视图 where 课程名称=@coursename)select 成绩from学生成绩视图where 课程名称=@coursenameand成绩<=all(select成绩from学生成绩视图 where 课程名称=@coursename)select COUNT(*)from学生成绩视图where课程名称=@coursenameand成绩>89and成绩is not nullselect COUNT(*)from学生成绩视图where课程名称=@coursenameand成绩>79and成绩<90and成绩is not nullselect COUNT(*)from学生成绩视图where课程名称=@coursenameand成绩>69and成绩<80and成绩is not nullselect COUNT(*)from学生成绩视图where课程名称=@coursenameand成绩>59and成绩<70and成绩is not nullselect COUNT(*)from学生成绩视图where课程名称=@coursenameand成绩>0and成绩<60and成绩is not nullselect count(*)from学生成绩视图where课程名称=@coursenameend  grant exec on 成绩按课程名查询 to增删改查表格


时间获取:我们可以通过使用DataTime这个类来获取当前的时间。通过调用类中的各种方法我们可以获取不同的时间:如:日期(2008-09-04)、时间(121212)、日期+时间(2008-09-04 121110)等。


//
获取日期+时间
DateTime.Now.ToString();            
// 2008-9-4 20:02:10
DateTime.Now.ToLocalTime().ToString();        // 2008-9-4 20:12:12

//获取日期
DateTime.Now.ToLongDateString().ToString();    
// 2008年9月4日
DateTime.Now.ToShortDateString().ToString();    // 2008-9-4
DateTime.Now.ToString("yyyy-MM-dd");        // 2008-09-04
DateTime.Now.Date.ToString();            // 2008-9-4 0:00:00

//获取时间
DateTime.Now.ToLongTimeString().ToString();   
// 20:16:16
DateTime.Now.ToShortTimeString().ToString();   // 20:16
DateTime.Now.ToString("hh:mm:ss");        // 08:05:57
DateTime.Now.TimeOfDay.ToString();        // 20:33:50.7187500

//其他
DateTime.ToFileTime().ToString();       
// 128650040212500000
DateTime.Now.ToFileTimeUtc().ToString();   // 128650040772968750
DateTime.Now.ToOADate().ToString();       // 39695.8461709606
DateTime.Now.ToUniversalTime().ToString();   // 2008-9-4 12:19:14

DateTime.Now.Year.ToString();          获取年份   // 2008
DateTime.Now.Month.ToString();      获取月份   // 9
DateTime.Now.DayOfWeek.ToString(); 获取星期   // Thursday
DateTime.Now.DayOfYear.ToString(); 获取第几天   // 248
DateTime.Now.Hour.ToString();          获取小时   // 20
DateTime.Now.Minute.ToString();     获取分钟   // 31
DateTime.Now.Second.ToString();     获取秒数   // 45

//n为一个数,可以数整数,也可以事小数
dt.AddYears(n).ToString();   
//时间加n
dt.AddDays(n).ToString();   
//n
dt.AddHours(n).ToString();   
//n小时
dt.AddMonths(n).ToString();   
//n个月
dt.AddSeconds(n).ToString();   
//n
dt.AddMinutes(n).ToString();   
//n


SQL
语句使用时间和日期的函数


getdate():
获取系统当前时间
dateadd(datepart,number,date):
计算在一个时间的基础上增加一个时间后的新时间值,比如:dateadd(yy,30,getdate())
datediff(datepart,startdate,enddate):
计算两个时间的差值,比如:datediff(yy,getdate(),'2008-08-08')
dataname(datepart,date):
获取时间不同部分的值,返回值为字符串
datepart(datepart,date):
datename相似,只是返回值为整型
day(date):
获取指定时间的天数
month(date):
获取指定时间的月份
year(date):
获取指定时间的年份

select year(getdate())  :当前年份

 

0 0
原创粉丝点击