第一篇:用sql语句完成下面题目
用sql语句完成下面题目:
1.创建数据库db_Student,在db_Student中创建四张表:
学生表tb_Student,字段:SID(编号),SName(姓名),Sage(年龄),SSex(性别)
教师表tb_Teacher,字段:TID(编号),TName(姓名)
课程表tb_Course,字段:CID(编号),CName(名称),TID(教师编号)
成绩表tb_Score,字段:SID(编号),CID(课程编号),Score(成绩)
要求:分析添加约束,如:主键约束,外键约束等(15分)
2.给表添加一些数据。(10分)
3.完成下列查询:(30分)
① 查询姓李的老师有多少位。
② 查询c#课程的平均分。
③ 查询sql最高分的学生编号,学生姓名及分数。
④ 查询sql课程超平均分的学生姓名及分数。
⑤ 查询没有考sql的学生编号及姓名。
⑥ 查询没有学王老师课程的学生编号及姓名。
⑦ 查询课程表的第5到第10条记录,条件为编号不连续。写两种方法。
⑧ 查询每个学生的编号,姓名,课程名称,成绩,老师信息。
⑨ 查询c#考试成绩前三名的学生,包含并列的行。(可能查询的结果超过三行)⑩ 查询c#课程比sql课程的考试分数高的学生编号及姓名。
4.写存储过程完成下列问题,并写出存储过程执行语句:(15分)
① 根据学生编号查询学生的各科成绩及所教课程的老师
② 根据教师编号,查询所教课程(教师编号,姓名,课程编号,课程名)。
③ 写一种分页的存储过程。
5.将第3 题的查询⑧⑨两题写成视图,然后执行查询视图。(10分)
6.创建存储过程,在存储过程里创建事务,执行删除课程表的行时,同时删除成绩表的相
应行。(10分)
7.创建触发器,实现删除教师表的行时,同时删除课程表的相应行。(首先删除相应表的约
束)(10分)
第二篇:用sql语句恢复数据库文件
用sql语句恢复数据库文件(*.dmf和*.ldf)
用sql语句恢复数据库文件(*.dmf和*.ldf)多用于,由于服务器操作系统崩溃或无法启动sql server 时常用的一种办法.方法1:
把备份的数据库数据文件(*.mdf)和日志文件(*.ldf)都拷贝到服务器的一个目录下,然后打开SQL Server Query(查询分析器)进行操作。
例如:D盘HisenseSysDate目录下存有: SysDB_data.mdf,和SysDB_log.ldf备份的文件。通过sql 语恢复
为SysDB的数据库名.(注:恢复为SysDB的数据库名在sql server 企管管理器下必须是唯一的,即没有SysDB数所库名才可以恢复为SysDB的数据库名)。
操作步骤:
1.打开sqlserver下面的queryAnalyzer(即查询分析器)
2.输入:
EXEC sp_attach_db @dbname = N'SysDB',@filename1 = N'D:dataSysDB_Data.MDF',@filename2 = N'D:dataSysDB _Log.LDF'
go
按”F5”执行。
3.以执行完成后,把第2步中的所有语句全部删除,然后输入如下语句:
USE SysDB
EXEC sp_updatestats
Go
按”F5”执行。
提示所有表已经恢复成功后,即可连接软件了.另附:只恢复数据文件(*.mdf)时,不恢复事务日志文件(*.ldf)的方法如下:
首先在企业管理器下,建立一个数据库名(如:SysDB)
然后,同样打开sql server 查询分析器,然后输入:
EXEC sp_attach_db @dbname = N'SysDB'
EXEC sp_attach_single_file_db @dbname = SysDB, @physname = 'd:DataSysDB_data.mdf'
go
按F5执行完后,再执行以下语句:
USE SysDB
EXEC sp_updatestats
Go
这个语句的作用是仅仅加载数据文件,日志文件可以由SQL Server数据库自动添加,但是原来的日志文件中记录的数据就丢失了。
注:SysDB是数据库名
文件名和路径一定要根据实际数据为文件(*.mdf)和事务日志文件(*.ldf)所在的目录要对应,否则路径输入的不对,则无法恢复。
方法2:
如果是由于操作系统或sql server不能启动,只有保留的数据为文件(如:SysDB_data.mdf)和事务日志文件(SysDB_log.ldf)时,需重新安装操作系统或重新安装sql server时,一定要与上一次安装的路径相同(如: d:Program FilesMicrosoft SQL ServerMSSQLDataSysDB.mdf')。
操作系统或sql server安装成功后,把sql server服务启动后,在查询分析器下面,建立与上次相同的数据库名(如:SysDB),数据库SysDB成功建立后,然后把sql server服务停止。
然后把保留的数据为文件(如:SysDB_data.mdf)和事务日志文件(SysDB_log.ldf)拷贝到,新建立的SysDB数据库所在的目录下进行覆盖(如: d:Program FilesMicrosoft SQL ServerMSSQLData..'))。最后,启动sql server服务后,SysDB数据库中即可恢复到原保留的数据了。
第三篇:sql常用语句
//创建临时表空间
create temporary tablespace test_temp
tempfile 'E:oracleproduct10.2.0oradatatestservertest_temp01.dbf'size 32m
autoextend on
next 32m maxsize 2048m
extent management local;
//创建数据表空间
create tablespace test_data
logging
datafile 'E:oracleproduct10.2.0oradatatestservertest_data01.dbf'size 32m
autoextend on
next 32m maxsize 2048m
extent management local;
//创建用户并指定表空间
create user username identified by password
default tablespace test_data
temporary tablespace test_temp;
//给用户授予权限
//一般用户
grant connect,resource to username;
//系统权限
grant connect,dba,resource to username
//创建用户
create user user01 identified by u01
//建表
create table test7272(id number(10),name varchar2(20),age number(4),joindate date default sysdate,primary key(id));
//存储过程
//数据库连接池
数据库连接池负责分配、管理和释放数据库连接
//
//创建表空间
create tablespace thirdspace
datafile 'C:/Program Files/Oracle/thirdspace.dbf' size 10mautoextend on;
//创建用户
create user binbin
identified by binbin
default tablespace firstspace
temporary tablespace temp;
//赋予权限
GRANT CONNECT, SYSDBA, RESOURCE to binbin
//null与""的区别
简单点说null表示还没new出对象,就是还没开辟空间
个对象装的是空字符串。
//建视图
create view viewname
as
sql
//建索引
create index indexname on tablename(columnname)
//在表中增加一列
alter table tablename add columnname columntype
//删除一列
alter table tablename drop columnname
//删除表格内容,表格结构不变
truncate table tableneme
//新增数据
insert into tablename()values()
//直接新增多条数据
insert into tablename()
selecte a,b,c
from tableabc
//更新数据 new除了对象,但是这“”表示
update tablename set columnname=? where
//删除数据
delete from tablename
where
//union语句
sql
union
sql
//case
case
when then
else
end
第四篇:SQL语句
SQL练习
一、设有如下的关系模式,试用SQL语句完成以下操作:
学生(学号,姓名,性别,年龄,所在系)
课程(课程号,课程名,学分,学期,学时)
选课(学号,课程号,成绩)
1. 求选修了课程号为“C2”课的学生学号
2. 求选修了课程号为“C2”课的学生学号和姓名
3. 求没有选修课程号为“C2”课的学生学号
4. 求选修了课程号为“C2”,又选修了课程号为“C3”课的学生学号
5.求选修了课程号为“C2”或“C3”课的学生学号
6.求选修了全部课程的学生学号
7.求至少选修了学号为“98002”的学生所学过的所有课程的学生的学号和姓名。
8.查询学生选课表中的全部数据
9.查询计算机系学生的姓名、年龄
10.查询成绩在70—80分之间的学生的学号、课程号和成绩
11.查询计算机系年龄在18—20之间且性别为“男”的学生的姓名和年龄
12.查询成绩在80分以上的学生的姓名、课程号和成绩,并按成绩的降序排列结果。
13.查询哪些课程没有人选修,要求列出课程号和课程名。
14.查询数学系成绩在80分以上的学生的学号,姓名
15.查询课程号为“C02”的课程的最高分数。
16.查询计算机系学生的最大年龄和最小年龄。
17.统计每个系的学生人数。
18.统计每门课程的选课人数和考试最高分。
19.统计每个学生的选课门数和考试总成绩,并按选课门数的升序显示结果。
20.查询总成绩超过200分的学生,要求列出学号、总成绩。
21.用子查询实现如下查询:
(1)查询选修了课程号“C01”的学生的姓名和所在系。
(2)查询数学系成绩在80分以上的学生的学号和姓名。
(3)查询计算机系考试成绩最高的学生的姓名。
22.删除选课成绩小于60分的学生的选课记录。
23.将所有选修了课程“C01”的学生的成绩加10分。
24.将计算机系所有选修了课程“计算机文化基础”课程的学生的成绩加10分。
25.创建查询学生的学号、姓名、所在系、课程号、课程名、课程学分的视图。
26.创建查询每个学生的平均成绩的视图,要求列出学生学号和平均成绩。
27.创建查询每个学生的选课学分的视图,要求列出学生学号及总学分。
第五篇:SQL语句
SQL语句,用友的SQL2000,通过查询管理器写的语句
1、查询
2、修改
3、删除
4、插入
表名:users 包含字段:id,sname,sage
查询 select * from users查询users表中所有数据
select id,sname,sage from users查询users表中id,sname,sage字段所有数据
可以限定查询条件比如:
select sname from users where sage>20查询年龄大于20岁的所有人的名字
修改 update users set sname='李四',sage=22将users表中数据都改为姓名李四,年龄22
update users set sname='李四',sage=22 where id=1限定id为1的人的信息修改为
姓名李四,年龄22
可以加where条件。
删除 delete from users where id=2删除users表中id为2的一行数据delete from users 代表删除users中所有数据
插入 insert into users(id,sname,sage)values(5,'刘三',21)插入一条数据
SQL四条最基本的数据操作语句:Insert,Select,Update和Delete。
例如:SELECT columns FROM tables;其中columns为列的名称,tables为表格名称
1、查询:select 字段名 from 表名 where 条件
查找在表(如A)中符合条件的字段
2、修改:update 表名 set 字段名=‘所要修改的内容’
修改在表(如A)中的字段的值为:所要修改的内容
3、删除: delete from 表名 where 条件
删除符合条件的表(如A)中的信息
4、插入: insert into 表名(字段名)(‘插入内容’)
在表(如A)中插入字段为:插入内容 的一条信息