--1、利用SQL语句创建以上三张表,并指定每张表的主键和外键;
--学生表(S):
create table student
(
sid varchar2(20) primary key,
sname varchar2(20),
age number,
sex varchar2(4),
department varchar2(20),
address varchar2(50),
birthplace varchar2(50)
);
--选课表(SC):
create table class
(
sid varchar2(20) references student(sid),
cid varchar2(20) primary key,
grade number
);
--教师表(C):
create table teacher
(
cid varchar2(20) references class(cid),
cname varchar2(20),
teacher varchar2(20)
);
--2、以上三张表各插入一条记录,
--记录值分别为:(s20110101,王林,20,男,经济管理系,浙江省杭州市西湖区168号,浙--江杭州)、
--(s20110101,1001,85)、(1001,网络数据库与应用,李小波);
insert into student
values
('s20110101',
'王林',
20,
'男',
'经济管理系',
'浙江省杭州市西湖区168号',
'浙江杭州');
insert into class values ('s20110101', '1001', 85);
insert into teacher values ('1001', '网络数据库与应用', '李小波');
--3、查询李老师所教的课程号、课程名称;
select cid, cname from teacher where teacher like '李%';
--4、查询年龄在23岁26岁之间的女学生的学号和姓名;
select sid, sname
from student
where sex = '女'
and age >= 23
and age <= 26;
--5、查询“李小波”所选修的全部课程名称;
select tcname
from student s, class c, teacher t
where ssid = csid
and ccid = tcid
and asname = '李小波';
--6、查询所有成绩都在90分以上的学生姓名及所在系;
select ssname, sdepartment
from student s, class c
where ssid = csid
and cgrade > 90;
--7、查询没有选修“ *** 作系统”课的学生的姓名;
select ssname
from student s, class c, teacher t
where ssid = csid
and ccid = tcid
and tcname = ' *** 作系统';
--8、查询与“李小波”同乡的男生姓名及所在系;
select sname, department
from student
where sex = '男'
and address in (select address from student where sname = '李小波')
and sname <> '李小波';
--9、查询英语成绩比数学成绩好的学生;
select ssname
from student s
where ssid in (select c1sid
from (select csid, cgrade
from class c, reachar t
where ccid = tcid
and tname = '英语') c1,
class (select csid, cgrade
from class c, reachar t
where ccid = tcid
and tname = '数学') c2
where c1sid = c2sid
and c1grade > c2grade);
--10、查询选修同一门课程时,女生比男生成绩好的学生名单;
select fsname
from (select ssname, ccid, cgrade
from student s, class c
where ssid = csid
and ssex = '女') f,
(select ccid, cgrade
from student s, class c
where ssid = csid
and ssex = '男') m
where fcid = mcid
and fgrade > mgrade;
--11、查询至少选修两门以上课程的学生姓名、性别;
select ssname, ssex
from student s, class c, teachar t
where ssid = csid
group by ssname, ssex
having count(distinct ccid) > 2;
--12、查询选修了李老师所讲课程的学生人数;
select count(distinct ssid)
from student s, class c, teacher t
where ssid = csid
and ccid = tcid
and tteacher like '李%';
--13、查询没有选修李老师所讲课程的学生;
select ssname
from student s, class c
where ssid = csid
and ccid not in (select cid from teacher where teacher like '李%');
--14、查询“ *** 作系统”课程得最高分的学生姓名、性别、所在系;
select sname, sex, department
from student s, class c, teacher t
where ssid = csid ccid = tcid
and cname = ' *** 作系统'
and cgrade in (select max(grade)
from class c1, teacher t1
where c1cid = t1cid
and cname = ' *** 作系统');
全部手打,望采纳。。。
1、如果您的用友数据库已经移动或移动,首先需要确定它是否已经正确安装。可以检查安装程序是否正常运行,检查是否有任何服务正在运行,以及是否有任何错误日志。
2、如果数据库安装正确,可以尝试运行一些数据库检查工具,以查看可能存在的问题,这些工具可以在用友网站上找到。
3、如果检查工具没有发现任何问题,可以尝试使用一些数据库管理工具来查看是否存在任何系统分配错误,例如用友软件的数据库分配工具。
4、如果仍然无法解决,可以尝试使用远程协助工具来获取远程支持,这可以帮助您检查日志,检查数据库的运行状况,并解决任何发现的问题。
5、另外,您可以考虑重新安装数据库,或者重新安装 *** 作系统,以确保数据库的正确性。
一般在从库执行show slave status,看behind值是否为0来判断。
更准确的一些的方法是在主库做一个表,每秒insert一个时间戳,在从库读取,来看时间差是否超过1秒。
SQL SERVER数据库备份后的文件扩展名为BAK,它可以恢复数据库,如果你要查看备份数据库中的数据,得先还原数据库,具体还原方法是:打开企业管理器,在数据库节点右键,选择“所有任务”---“还原数据库”,系统d出“还原数据库”对话框,在“还原为数据库”下拉菜单中选择或录入一个新的数据库名称,选择“从设备(m)”圆按钮,在“参数”框中,单击“选择设备”按钮,此时,你选择你的备份数据库文件,单击确定,回到“还原数据库”界面,选择“选项”选项卡,确定你的逻辑文件名和物理文件名位置。确定系统即可还原数据库。
如果你需要查看文件中的内容,当然,你这个说法可能有错误,数据库备份文件还原后,还是在SQL SERVER中以存在,那么,你要查看里面的数据,这得需要用查询语句来实现或用企业管理器查询各表中数据内容或函数、过程等。。
查询语句可参考:SELECT FROM SYSTEM
问题一:数据库空间满了怎么处理 1:分离数据库 企业管理器->服务器->数据库->右键->分离数据库
2:删除LOG文件
3:附加数据库 企业管理器->服务器->数据库->右键->附加数据库
此法生成新的LOG,大小只有500多K
再将此数据库设置自动收缩
或用代码分离 pubs,然后将 pubs 中的一个文件附加到当前服务器:
EXEC sp_detach_db @dbname = 'pubs'
EXEC sp_attach_single_file_db @dbname = 'pubs',
@physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubsmdf'
问题二:数据库满了怎么办? 数据库是只读的(Readonly),也即不可以修改(增加\删除\修改都不行)
问题三:SQL server数据库日志满了怎么处理? 解决方法
日志文件满而造成SQL数据库无法写入文件时,可用两种方法:
一种方法:清空日志。
1.打开查询分析器,输入命令
DUMP TRANSACTION 数据库名 WITH NO_LOG
2再打开企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了。
另一种方法有一定的风险性,因为SQL SERVER的日志文件不是即时写入数据库主文件的,如处理不当,会造成数据的损失。
1: 删除LOG
分离数据库 企业管理器->服务器->数据库->右键->分离数据库
2:删除LOG文件
附加数据库 企业管理器->服务器->数据库->右键->附加数据库
此法生成新的LOG,大小只有500多K。
注意:建议使用第一种方法。
如果以后,不想要它变大。
SQL2000下使用:
在数据库丁点右键->属性->选项->故障恢复-模型-选择-简单模型。
或用SQL语句:
alter database 数据库名 set recovery simple
另外,如上图中数据库属性有两个选项,与事务日志的增长有关:
Truncate log on checkpoint
(此选项用于SQL70,SQL 2000中即故障恢复模型选择为简单模型)
当执行CHECKPOINT 命令时如果事务日志文件超过其大小的70% 则将其内容清除在开发数据库时时常将此选项设置为True
Auto shrink
定期对数据库进行检查当数据库文件或日志文件的未用空间超过其大小的25%时,系统将会自动缩减文件使其未用空间等于25% 当文件大小没有超过其建立时的初始大小时不会缩减文件缩减后的文件也必须大于或等于其初始大小对事务日志文件的缩减只有在对其作备份时或将Truncate log on checkpoint 选项设为True 时才能进行。
注意:一般立成建立的数据库默认属性已设好,但碰到意外情况使数据库属性被更改,请用户清空日志后,检查数据库的以上属性,以防事务日志再次充满。
问题四:数据库空间满了怎么处理 各数据库空间满处理方法
wenkubaidu/YexzIW
问题五:网站的虚拟空间,数据库满了怎么办? 肯定有影响啦,你自己说的,每天发很多文章,最终数据库满了,就是说文章保存在数据库中,一般来说数据库保存钉东西都是内存不是很大的东西,除了网站cms所必要的数据和系统日志之外,就是你文章的文字啦,至于和视频等等占用空间很多的东西就保存在网页空间里面了,和数据没有关系。
就如楼上的所说,问题不大,增加数据库的容量就行了,现在一般的IDC都会提供这样的服务,对你现在的网站不会有影响的。此外联系客服也很重要的。祝你早日解决问题!
问题六:SQL数据磁盘满了怎么解决? -- 清空日志
--压缩日志及数据库文件大小
/--特别注意
请按步骤进行,未进行前面的步骤,请不要做后面的步骤
否则可能损坏你的数据库
--/
selectfromsysfiles
--1清空日志
DUMPTRANSACTIONusernameWITHNO_LOG
--2截断事务日志:
BACKUPLOGusernameWITHNO_LOG
--3收缩数据库文件(如果不压缩,数据库的文件不会减小
-- 企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件
--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
--选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
-- 也可以用SQL语句来完成
--收缩数据库
DBCCSHRINKDATABASE(username)
--收缩指定数据文件,1是文件号,可以通过这个语句查询到:selectfromsysfiles
DBCCSHRINKFILE(2)
--4为了最大化的缩小日志文件(如果是sql70,这步只能在查询分析器中进行)
-- a分离数据库:
-- 企业管理器--服务器--数据库--右键--分离数据库
-- b在我的电脑中删除LOG文件
-- c附加数据库:
-- 企业管理器--服务器--数据库--右键--附加数据库
-- 此法将生成新的LOG,大小只有500多K
-- 或用代码:
-- 下面的示例分离username,然后将username中的一个文件附加到当前服务器。
execsp_dboptionusername,'singleuser',true
a分离
[email protected] ='username'
b删除日志文件
execmasterxp_cmdshell'delD:\ProgramFiles\SQL\database\username_LOGldf'
c再附加
[email protected] ='username',
@physname='D:\ProgramFiles\SQL\database\username_DataMDF'
--5为了以后能自动收缩,做如下设置:
-- 企业管理器--服务器--右键数据库--属性--选项--选择自动收缩
--SQL语句设置方式:
EXECsp_dboption'数据库名','autoshrink','TRUE'
--6如果想以后不让它日志增长得太大
-- 企业管理器--服务器--右键数据>>
问题七:数据库日志已满,如何处理? 先提供一种复杂的方法压缩日志及数据库文件如下:1清空日志 dump transaction 库名 with no_log2截断事务日志: backup log 数据库名 with no_log3收缩数据库文件(如果不压缩,数据库的文件不会减小 企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件 --选择日志文件--在收缩方式里选择收缩至xxm,这里会给出一个允许收缩到的最小m数,直接输入这个数,确定就可以了 --选择数据文件--在收缩方式里选择收缩至xxm,这里会给出一个允许收缩到的最小m数,直接输入这个数,确定就可以了 也可以用sql语句来完成 --收缩数据库 dbcc shrinkdatabase(客户资料) --收缩指定数据文件,1是文件号,可以通过这个语句查询到:select from sysfiles dbcc shrinkfile(1)4为了最大化的缩小日志文件(如果是sql 70,这步只能在查询分析器中进行) a分离数据库: 企业管理器--服务器--数据库--右键--分离数据库 b在我的电脑中删除log文件 c附加数据库: 企业管理器--服务器--数据库--右键--附加数据库 此法将生成新的log,大小只有500多k 或用代码: 下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。 a分离 e x e c sp_detach_db @dbname = 'pubs' b删除日志文件 c再附加 e x e c sp_attach_single_file_db @dbname = 'pubs', @physname = 'c:\program files\microsoft sql server\mssql\data\pubsmdf'5为了以后能自动收缩,做如下设置: 企业管理器--服务器--右键数据库--属性--选项--选择自动收缩 --sql语句设置方式: e x e c sp_dboption '数据库名', 'autoshrink', 'true'6如果想以后不让它日志增长得太大 企业管理器--服务器--右键数据库--属性--事务日志 --将文件增长限制为xm(x是你允许的最大数据文件大小) --sql语句的设置方式: alter database 数据库名 modify file(name=逻辑文件名,maxsize=20) 我来完善答案完善答案通过审核后,可获得3点财富值最新回答:2012-06-20 05:01 版本:1个历史版本
问题八:如何从根本上解决SQL数据库日志已满的问题 1、你设置了日志文件的最大数,数据库的恢复模式是完整恢复模式,所有的针对数据库的改动都会记录到日志,不仅仅是你的改动数据库,数据库本身的 *** 作也有记录到日志,所以,日志文件才会不断增长。
2、那是因为大部分的电脑上的数据库,基本没怎么变过,但生产用的数据库经常变动,所以日志记录也变得巨大,我见过数据库200MB,但是日志文件50GB,因为本来数据库有10GB,因为测试需要删除了大部分的数据,结果导致日志文件增长到了50GB。
3、定时备份日志并收缩日志文件。
4、通过备份日志,并收缩日志文件,这个语句你自己百度。
5、日志是一个以事务编号连续的记录,比如,我第一次备份的日志事务编号为1-1000,那么日志就会被截断,并从1001开始,之后的日志备份就从1001开始了,所以,初始备份一直到最后一次备份都不能删除,否则使用日志恢复时会出现问题。
问题九:oracle数据库空间占满了,怎么办 1、删除无用文件或数据,腾空间。
2、将空间紧张的数据移到其他空闲空间。
3、增加新存储空间。
问题十:如何清理sql server 已满的数据库日志 SQLSERVER的数据库日志占用很大的空间,下面提供三种方法用于清除无用的数据库日志文件
方法一:
1、打开查询分析器,输入命令
backup log database_name WITH NO_log
2、再打开企业管理器--右键要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至xxm,这里会给出一个允许收缩到的最小m数,直接输入这个数,确定就可以了。
方法二:
设置检查点,自动截断日志
一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此 *** 作以免数据库日志过大
1、设置数据库模式为简单模式:打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server-->SQL Server组-->双击打开你的服务器-->双击打开数据库目录-->选择你的数据库名称(如用户数据库cwbase1)-->然后点击右键选择属性-->选择选项-->在故障还原的模式中选择“简单”,然后按确定保存
2、在当前数据库上点右键,看所有任务中的收缩数据库,一般里面的默认设置不用调整,直接点确定
3、收缩数据库完成后,建议将您的数据库属性重新设置为标准模式, *** 作方法同第一点,因为日志在一些异常情况下往往是恢复数据库的重要依据
方法三:通过SQL收缩日志
把代码复制到查询分析器里,然后修改其中的3个参数(数据库名,日志文件名,和目标日志文件的大小),运行即可
SET NOCOUNT on
DECLARE @logicalFileName sysname,
@MaxMinutes int,
@NewSize int
USE tablename -- 要 *** 作的数据库名
select @logicalFileName = 'tablename_log', -- 日志文件名
@MaxMinutes = 10, -- Limit on time allowed to wrap log
@NewSize = 1 -- 你想设定的日志文件的大小(M)
-- Setup / initialize
DECLARE @OriginalSize int
select @OriginalSize = size
from sysfiles
WHERE name = @logicalFileName
select 'Original Size of ' + db_name() + ' log is ' +
ConVERT(VARCHAR(30),@OriginalSize) + ' 8K pages or ' +
ConVERT(VARCHAR(30),(@OriginalSize8/1024)) + 'mb'
from sysfiles
WHERE name = @logicalFileName
CREATE TABLE DummyTrans
(DummyColumn char (8000) not null)
DECLARE @Counter int,
@StartTime DATETIME,
@Trunclog VARCHAR(255)
select @StartTime = getdate(),
@Trunclog = 'backup log >>
具体步骤:
1首先确认数据库是不是正常启动了。
2如果是第一次安装,你的 *** 作系统是什么?vista和win7装sql2000不一定能装上,需要2005,而且如果是win7家庭版很可能出现数据库和软件连不上。
3如果是xp,以前是不是装过数据库后来卸载了,那么卸掉sql清除干净注册表,重新安装sql,最好用完整版,不要使用msde。
4如果是用了一段时间,很可能是杀毒软件误杀数据库文件,卸掉杀毒软件,在管理里面启动下数据库,看能否启动,如果还能启动。再启动速达看能否连接上。
5如果数据库已经无法启动,将数据作出备份,重装数据库吧。
6如果是本机连接没问题,其他连不上的话,关闭服务器和客户端window自带防火墙,数据库打sp4补丁,开启guest用户。
以上就是关于SQL网络数据库问题全部的内容,包括:SQL网络数据库问题、用友数据库说已经移动或移动怎么解决、如何检查mysql从数据库是否正常运行,脚本等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)