打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
sql数据库的设置

创建学生表:

create table 学生(学号char (1) not null,

姓名varchar (6),

年龄int ,check (年龄between 0 and 100),

性别char (2),

varchar (10),

primary key (学号));

创建课程表

create table 课程(课程号 char (2)not null,

课程名 varchar (10),

先修学科 int not null,

学分 int , check (学分between 0 and 100),

primary key (课程号));

创建选课表

create table 选课(学号 char (1) not null,

课程号 char (2) not null,

成绩 int , check (成绩 between 0 and 100),

primary key (学号,课程号),

foreign key (课程号) references 课程(课程号),

foreign key (学号) references 学生(学号));

查看这三个表

select * from 学生

select * from 课程

select * from 选课

给这三个表插入数据

insert into 学生 values ('1','张三','20','','中文');

insert into 学生 values ('2','李四','21','','英语');

insert into 学生 values ('3','王五','22','','数学');

insert into 学生 values  ('4','赵六','23','','物理');

insert into 学生 values  ('5','马八','25','','计算机');

insert into 课程 values  ('01','语文','01','30');

insert into 课程 values  ('02','数学','02','40');

insert into 课程 values  ('03','英语','03','50');

insert into 课程 values  ('04','物理','04','60');

insert into 课程 values  ('05','计算机','05','80');

insert into 选课 values  ('1','01','20');

insert into 选课 values  ('2','02','30');

insert into 选课 values  ('3','03','40');

insert into 选课 values  ('4','04','50');

insert into 选课 values  ('5','05','60');

 

删除基本表

drop table 选课

 

删除表中所有的行

truncate table 学生

 

创建索引

create unique index 索引名 on 表名(学号次序)

给学生表创建一个名为学生_索引年龄降序排列的唯一索引

create unique index 学生_索引 on 学生(年龄desc)

给学生表创建一个名为学生表_索引年龄升序排列的不唯一索引(默认是升序)

create unique index 学生表_索引 on 学生(年龄asc)

给学生表创建一个名为学生的_索引年龄降序排列的聚簇索引

create clustered index 学生的_索引 on 学生(年龄)

 

删除索引

drop index 表名.索引名

删除学生表_索引

drop index 学生.学生表_索引名

 

修改数据

update 表名 set 列名=表达式 where 条件

将学生表中的张三的年龄变为岁

update 学生 set 年龄='22' where 学号='1'

将所有学生的年龄都加一岁(不加where代表全部)

update 学生 set 年龄=年龄+1

 

删除数据

delete from 表名 where 条件

删除学生表中的学号的学生

delete from 学生 where 学号=1

删除所有学生选课记录(不加where代表全部)

delete from 学生

删除计算机系所有学生的选课记录

delete from 选课 where 学号in (select 学号 from 学生 where ='计算机')

 

 

查询学生表中选择中文系的学号

select 学号 from 学生 where ='中文'

查询学生表中的所有学号

select all 学号 from 学生

查询学生表中学生的学号并去除重复的学号:

select distinct 学号 from 学生

查看学生的出生日期并命名该列

select 年龄,2009-年龄 as 出生日期 from 学生

查看成绩不及格的学生的学号:

select 学号 from 选课 where 成绩<60

查看成绩及格的学生的学号

select 学号 from 选课 where 成绩>=60

修改一个已有的元组

update 学生 set 姓名='牛七' ,性别='' where 学号='4';

将所有选了中文系的学生的成绩清零:

update 选课 set 成绩=0 where 学号in (select 学号 from 学生 where ='中文');

删除一个元组

delete from 学生 where 学号='1'

将选课中学生的成绩都提升百分之五

update 选课 set 成绩=成绩*1.05

查看选择中文系的学生的学号:

select 学号 from 学生 where ='中文'

删除选课中所有选择中文系的信息

delete from 选课 where 学号in (select 学号 from 学生 where ='中文');

清空已有元组中的一列:

update 学生 set 年龄=null

查询学生的成绩在-90之间的学生的学号,所在系,课程名,年龄,姓名,性别,年龄按.降序排列,且是女生:

select 学生.学号,,年龄,姓名,性别,  课程.课程名,  选课.成绩 from 学生,课程,选课

where 学生.学号=选课.学号 and 课程.课程号=选课.课程号 and 选课.成绩 between 40 and 90 and 学生.性别=''

order by 学生.年龄 desc

插入时间格式

create table qq(qs char (2),

qdate datetime,/*datetime 1753.1.1-9999.12.31*/

qtime datetime,/*smalldatetime 1900.1.1-2079.12.31*/

qsdate smalldatetime,

primary key (qs));

select * from qq

set dateformat  mdy /* myd ymd ydm dmy dym*/

insert into qq values ('02','05/15/1788','16:50:28.000','05/15/2078');

所有学生他们每个人的平均成绩及格的学生学号和平均成绩

select 学号,avg(成绩) from 选课 group by 学号 having avg(成绩) in(

select avg(成绩)from 选课 group by 学号) and avg (成绩)>=60;

 

select 学号,avg(成绩) from 选课 group by 学号 having avg (成绩)>=60

 

1.列出成绩不合格的学号

select 学号 from 选课 where 成绩<60

2.不重复的学号

select distinct 学号 from 学生

 

 

 

1.中文系,数学系学生的姓名,性别,系号:

select 姓名,性别, from 学生 where ='中文' or ='英语' or ='数学';

2.年龄在15至25之间的学生信息:

select 年龄 from 学生 where 年龄between 15 and 25;

3.性别是男的学生的姓名和性别所在的系:

select 姓名, from 学生 where 性别= '';

4.中文系及格的学生的姓名 学号

select 姓名,学号 from 学生 where 学号in (select 学号 from 选课 where 课程号in (select 课程号 from 选课 where 成绩>=60)) and ='中文'

5.张三的网络布线的考试成绩

select 成绩 from 选课 where 学号 in (select 课程号 from 选课 where 学号 in (select 学号 from 学生 where 姓名='张三'))

6.中文系的学生及年龄不大于22的学生

select 姓名 from 学生 where 年龄<=22 and ='中文'

7.既选修了1号课程又选择了5号课程的学生

select 姓名 from 学生 where 学号 in (select 学号 from 选课 where 课程号='1' and  课程号='5')

8.年龄在岁以上的一个视图,体现学号,姓名,年龄

create view 视图(学号,姓名,年龄) as select 学号,姓名,年龄 from 学生 where 年龄>20

9.只有学分的课程代号.课程名的视图

create view 好的(课程号,课程名,先选修课)

as select 课程号,课程名,先修学科 from 课程 where 课程号 in (select 课程号 from 选课 where 成绩='4')

10.绩及格和参加选课但没有考试成绩的视图.学号,课程号和成绩

create view 我的视图(学号,课程号,成绩)

as select 学号,课程号,成绩 from 选课 where 成绩>=60 or 成绩 is null

11.创建选择号课程的学生的学号,姓名,成绩

create view 我的又一个视图 as select 学生.学号,学生.姓名,选课.成绩 from 学生,选课 where 学生.学号=选课.学号and 选课.程号='05'

 

 

insert into 视图名 as select 学号,姓名,年龄 from 学生 where ='中文' with check option;

 

12.显示大于年龄的学生学号和姓名,学号按照升学输出

select 学号,姓名 from 学生 where 年龄>(select avg(年龄)from 学生) order by 学号

 

13.显示学生表中姓名和最小年龄

select 姓名,年龄最小年龄 from 学生 where 年龄 in (select min(年龄) from 学生)

 

14.完全备份mgc数据库

use mgc

exec sp_addumpdevice 'disk','wodebeifen','c:\wodebeifen\wodebeifen.bak'

backup database mgc to wodebeifen

 

15.差异备份mgc数据库

use mgc

backup database mgc to disk='c:\wodebeifen\wodechalingbeifen.bak' with diffrential

注:差异备份需要一个全库(完全)备份做基础,差异备份就是备份最后一次全库备份以来的数据库改变的部分

 

16.备份日志文件

use mgc

exec sp_addumpdevice 'disk','rizhidebeifen','c:\wodebeifen\rizhibeifen.bak'

backup log mgc to wodebeifen

 

17.

 

 

课本第五章复习题:(全部内容)

create table 学生(学号char(2),

姓名varchar(10),

性别char (2),

年龄int,

所在系varchar (10),

primary key(学号));

 

create table 课程(课程号 char(2)default '1',

课程名 varchar (6),

先修课号 char (2),

学分 int,

primary key (课程号));

 

create table 选课(学号 char (2),

课程号 char (2),

成绩 int check (成绩between 0 and 100),

primary key (学号,课程号),

foreign key (学号) references 学生(学号),

foreign key (课程号) references 课程(课程号));

select* from 学生

select * from 课程

select * from 选课

insert into 学生 values ('1','马一','','20','中文')

insert into 学生 values ('2','赵二','','21','英语')

insert into 学生 values ('3','张三','','22','物理')

insert into 学生 values ('4','李四','','23','化学')

insert into 学生 values ('5','王五','','24','生物')

insert into 学生 values ('6','钱六','','25','计算机')

insert into 学生 values ('7','刘七','','26','地理')

insert into 学生 values ('8','马八','','27','历史')

insert into 学生 values ('9','付九','','28','政治')

insert into 学生 values ('10','孙十','','29','中文')

insert into 学生 values ('11','程十一','','30','中文')

insert into 学生 values ('12','刘十二','','31','英语')

insert into 学生 values ('13','牛十三','','32','英语')

insert into 学生 values ('14','虎十四','','33','计算机')

 

update 学生 set 姓名='马一'where 学号='1'

delete from 学生 where 学号='10'

select* from 学生

select * from 课程

select * from 选课

insert into 课程 values ('1','语文','1','90')

insert into 课程 values ('2','数学','2','80')

insert into 课程 values ('3','英语','3','70')

insert into 课程 values ('4','物理','4','60')

insert into 课程 values ('5','化学','5','50')

insert into 课程 values ('6','生物','6','40')

insert into 课程 values ('7','历史','7','30')

insert into 课程 values ('8','地理','8','20')

insert into 课程 values ('9','政治','9','10')

insert into 课程 values ('10','linux','9','10')

insert into 课程 values ('11','win','9','10')

insert into 课程 values ('12','sql','9','10')

insert into 课程 values ('13','路由器','9','10')

insert into 课程 values ('14','交换机','9','10')

insert into 课程 values ('15','pix','9','10')

 

insert into 选课 values ('1','1','90')

insert into 选课 values ('2','2','80')

insert into 选课 values ('3','3','70')

insert into 选课 values ('4','4','60')

insert into 选课 values ('5','5','50')

insert into 选课 values ('6','6','40')

insert into 选课 values ('7','7','30')

insert into 选课 values ('8','8','20')

insert into 选课 values ('9','9','10')

insert into 选课 values ('1','9','10')

insert into 选课 values ('1','2','10')

insert into 选课 values ('2','1','10')

insert into 选课 values ('2','3','10')

insert into 选课 values ('3','2','10')

insert into 选课 values ('3','5','10')

insert into 选课 values ('3','4','10')

insert into 选课 values ('2','4','10')

insert into 选课 values ('1','3','10')

 

 

查询选修了号课程的全部学生的姓名,出生年份,(假定当前为年)

select 姓名,年龄,2002-年龄 from 学生 where 学号in (select 学号 from 选课 where 课程号='1')

将年龄大于岁的的学生所有成绩设为零

update 选课 set 成绩='0' where 学号in (select 学号 from 学生 where 年龄>25)

name,birthday为标题,显示学生表中所有学生的姓名,出生年份,(假定当前是年),按姓名降序排列

select 姓名 as name, 2002-年龄 as birthday from 学生 order by 姓名 desc

显示选修一号课程的学生的最高分,最低分,平均分,总分及人数

select max(成绩),min(成绩),avg(成绩),sum(成绩),count(*) from 选课 where 课程号='1'

显示选课数目大于3的学生的学号及选课数

select 学号,count(课程号) from 选课 group by 学号

having count(课程号)>=3

为计算机系建一个视图名为cs,包含如下信息:学号,姓名,性别,年龄,课程号,成绩

create view cs (学号,姓名,性别,年龄,课程号,成绩)

as select 学生.学号,姓名,性别,年龄,课程.课程号,选课.成绩 from 学生,课程,选课 where 学生.学号=选课.学号and 课程.课程号=选课.课程号

select * from cs

至少选修了34号课的学生姓名

select 学号 from 选课 where 学号in (select 学号 from 选课 where 课程号='3') and 学号in (select 学号 from 选课 where 课程号='4')

查询和张三在一个系的学生姓名和年龄

select 姓名,年龄 from 学生 where 所在系in (select 所在系 from 学生 where 姓名='张三')

查询选了号课且没选号课的学生的姓名

select 姓名 from 学生 where 学号in (select 学号 from 选课 where 课程号='2' and 课程号!='1')

只选 1 2号课程的学生姓名

select 学号 from 学生 where 学号in( select 学号 from 选课 where 课程号='02') and 学号in (select 学号 from 选课 where 课程号='03') and 学号in (select 学号 from 选课 group by 学号 having count(课程号)='2')

 

 

创建数据库:

create database school

on primary (name=school,

filename='c:\shujuku\school.mdf',

size=200mb,

maxsize=1gb,

filegrowth=5mb)

log on (name=school_log,

filename='c:\shujuku\school_log.ldf',

size=100mb,

maxsize=2gb,

filegrowth=10%);

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
超经典MySQL练习50题,做完这些你的SQL就过关了
经典SQL查询题解答
查询分析器的使用(简单使用)
MySQL经典练习题及答案,常用SQL语句练习50题
一套Oracle SQL练习题及答案
SQL总结 - 博客文库 - 博客园
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服