数据库文件如何删除

数据库文件如何删除,第1张

问题一:数据库满了怎么删除 首先看数据库文件所在硬盘的空间足不足,可以扩容解决这个问题;

第二,什么数据库MS-SQL的话可以删除日志文件,如果是ORACEL的话看看表空间足不足,不足的话扩表空间。

你的问题太笼统了。

问题二:如何删除sql数据库的日志文件 其中database为你的库名 --压缩日志1:截断事务日志:BACKUP LOG 数据库名 WITH NO_LOG2:清空日志DUMP TRANSACTION 库名 WITH NO_LOG再:企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了3: 删除LOG1:分离数据库 企业管理器->服务器->数据库->右键->分离数据库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/pubs.mdf'4: 如果想以后不让它增长企业管理器--服务器--右键数据库--属性--事务日志--将文件增长限制为xM(x是你允许的最大数据文件大小)--SQL语句的设置方式:alter database 数据库名 modify file(name=逻辑文件名,maxsize=20)5.设置为自动收缩

问题三:怎么用SQL语句删除数据库中多个文件 REMOVE FILE 只有在文件为空时才能删除。

正常 *** 作步骤:

以下 *** 作在查询分析器上执行即可:

--转到要处理的数据库:

use 库名

go

--查看该库所有的文件:

select [name],[filename] from sysfiles

go

--对指定的文件进行数据移除:

dbcc shrinkfile (上面查询得到的“逻辑文件名”(定Name那列), EMPTYFILE)

go

--将一定移除了数据的指定文件删除:

ALTER DATABASE 库名 REMOVE FILE 上面查询得到的“逻辑文件名”

Go

问题四:如何删除数据库中所有数据 你租用数据库时,提供商会给你提供数据库连接IP、登陆用户和密码。你在本地sql数据库管理平台(企业管理器)中远程连接你的数据库,然后进入删除所有表或视图、存订过程等资料。光留一个空库,也没啥大碍。

还有个方法就是主动联系客服,申请删除你的数据库。

管理页面上我也没有发现删除数据库的功能。

问题五:怎么删除数据库中SQL文件。 数据库上传sql文件,不是太理解。你是不是说你导入了一份sql文件五次。而这份sql文件是执行插入命令。如果是这样,你可以通过编写存储过程加上带条件的删除语句对重复的数据进行处理。

问题六:sql数据库我把表删除了,为什么数据库文件还是那么大?请问怎么才能彻底把数据库文件弄小? create database dbName

on( ...

size=10mb,

...)

是不是建库的时候初始设置大了?

----------

数据库在使用过程中会因需要而不断扩张,你删除表或者大量数据,数据库虽然内容少了,但占用的资源不会少.需要使用数据库收缩命令.

DBCC SHRINKDATABASE(dbName)

或者右键:

企业管理器--目标数据库--所有任务--收缩数据库--收缩文件 --选择数据文件

问题七:数据库文件被人为删除,怎么办? 数据库删除后,普通的软件是无法找回的了。比如网上下载的软件,最好别尝试,尝试还是浪费时间的。我们公司之前也是由于误删除MDF,找了多家公司修复,附加都置疑,最后联系了广州拓飞,那里的工程师专业做数据库修复,我们公司的数据库后来在拓飞修复好了。“请注意,最好不要往那个分区(误删除的那个分区),如果覆盖数据会很麻烦,甚至无法修复了。”,在百度搜索广州拓飞数绩恢复“,可以找到他们的电话,地址,祝你们成功

问题八:怎么删除oracle的数据文件 一、使用offline数据文件的方法

非归档模式使用:alter database datafile '...' offline drop

归档模式使用: alter database datafile '...' offline

说明:

1) 以上命令只是将该数据文件OFFLINE,而不是在数据库中删除数据文件。该数据文件的信息在控制文件种仍存在。查询v$datafile,仍显示该文件。

2) 归档模式下offline和offline drop效果是一样的

3) offline后,存在此datafile上的对象将不能访问

4) noarchivelog模式下,只要online redo日志没有被重写,可以对这个文件recover后进行online *** 作

实际使用案例:

直接删除数据文件后无法进入系统的解决方案

正常情况下,删除表空间的正确方法为:

DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES

如果没有通过以上命令删除而直接删除了数据文件,将导致数据库无法打开。

如果直接删除了数据文件

普通用户登录时,则报错:

ORA-01033: ORACLE initialization or shutdown in progress

sys用户可以正常登录

但进行 *** 作时(SELECT count(1) FROM user_tables),则会报错:

ORA-01219: 数据库未打开: 仅允许在固定表/视图中查询

如果执行命令alter database open以打开数据库时,又报如下错:

ORA-01157: 无法标识/锁定数据文件 12 - 请参阅 DBWR 跟踪文件

ORA-01110: 数据文件 12: 'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/TSTEST001.DBF'

说明数据库没找到这个数据文件

因为数据文件在没有被offline的情况下物理删除了,导致oracle的数据不一致,因此启动失败.

通过以下方法即可解决

解决方法:

sqlplus [email protected] as sysdba

SQL>alter database datafile 'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/TSTEST001.DBF' offline drop

SQL>alter database open

SQL>drop tablespace CTBASEDATA

二、Oracle 10G R2开始,可以采用:Alter tablespace tablespace_name drop datafile file_name来删除一个空数据文件,并且相应的数据字典信息也会清除:

[email protected] >select file_id,file_name,tablespace_name from dba_data_files

2 where tablespace_name='USERS'

FILE_ID FILE_NAME ......>>

问题九:怎么修改或删除mdb数据库文件里面的东西呀? mdb是access数据库的文件,你可以安装office专业版(2003以上的版本),就可以打开这些文件对其进行修改或删除,但是由于其原先是网站后台数据,可能会有密码否则是无法打开的。

插入数据

insert into 表名(字段) values(‘数据’);

insert into 表名1(name,age) select name,age from 表2; #表2 数据信息复制到表1

修改数据

update 表名 set '字段'='数据';    #修改数据

delect from 表名 where 字段=值;   #删除数据

truncate table 表名;           #清空所有数据 且无法恢复

DQL (数据查询语言,用来查询数据)

select 要查询字段 from 表名 [where 满足条件];

[group by 分组依据]

[order by 排序依据]

[limit 限定输出结果]

select * from 表名;         #查询 表 所有数据

select 字段 字段 from 表名;      #查询指定字段数据

select st.name,st.age,th.name,th.age from st,th            #查询一个或多个  表中的数据

SELECT 字段名 FROM 表名 WHERE 条件1 OR 条件2 [...OR 条件n]

例:SELECT * FROM students WHERE age<20 OR education!='大专'#查询年龄小于20或 者学历不等于大专的学生信息

SELECT 字段名 FROM 表名 WHERE 条件1 AND 条件2 [...AND 条件n]

例:SELECT * FROM students WHERE age>22 AND education='大专'# 查询年龄大于22 且学历为大专的学生信息

select 字段 from 表名 where age in (12,17,23)              #数据在指定 数据 里面

select 字段 from 表名 where age between 23 and 28       #数据在23-28 之间

select * from 表名 order by 字段名;                      #排序,升序

select 字段 from 表名 order by desc                        #   字段降序

select 字段1,字段2…… from 表名 group by  分组依据字段;          #每个字段只显示一条

例:SELECT id,sname,age,phone,place,GROUP_CONCAT(age,place) FROM students GROUP BY age,place#查询学生信息,根据age,place分组并显示每一组的记 录

select  distinct  字段 from  表名;                          #去除结果重复行

例:SELECT DISTINCT age FROM students# 查询学生的年龄段情况

selcet 字段1,字段2,group_concat(分组依赖字段名) from 表名 group by 分组依赖字段名;    #查询每个组中记录数量,显示出来(使用关键字GROUP BY与GROUP_CONCAT()函数一起使用,可以将每个组中的记录数量都显 示出来)

例:selcet id,sname,age,phone,GROUP_CONCAT(age) FROM students GROUP BY age# 查询学生id,姓名,年龄,电话,根据age分组并显示每一组的记录

SELECT 字段名 FROM 表名 [其他条件] LIMIT int,int参数1是开始读取的第一条记录的 编号,参数2是要查询记录的个数

例:SELECT * FROM students ORDER BY age LIMIT 0,5# 查询学生信息,根据age 排序从第0位开始显示,只显示5条

select 字段名 from 表名where字段名 regexp '匹配方式'

(^匹配以特定字符或 字符串开头的记录,

$匹配以特定字符或 字符串结尾的记录

[^字符集 合]匹配除“字符集合”以 外的任意一个字符

S1|S2|S3匹配S1 S2 S3中 的任意一个字符串

字符串{N }匹配字符串出现N次

字符串 {M,N}匹配字符串出现至 少M次,最多N次)

聚合函数查询

select count(字段名) from 表名           #对于除"*"以外的任何参数,返回所选择集合中非NULL值的行的数目;对于参数“*”,返回选择集 合中所有行的数据,包含NULL值的行

例:SELECT COUNT(*) FROM students

select sum(字段名) from 表名          #表中某个字段取值的总和

select avg(字段名) from 表名;       #表中某个字段取值的平均值

select max(字段名) from 表名;        #表中某个字段取值的最大值

select min(字段名) from 表名;         #表中某个字段取值的最小值

连接查询

a.内连接:列出数据表中与连接条件相匹配的数据行,组合成新记录【只有满足条件的记录才出现在查询结 果】 内连接的最常见的例子是相等连接,也就是连接后的表中的某个字段与每个表中的都相同

select 字段名1,字段名2  from 表名1 inner join 表名2 where 连接条件

例:select s.name,d.dname from staff s inner join department d WHERE s.dpid = d.id# 连接员工表的dpid字段和部门表的id字段,并查询员工姓名和部门名称

b.外连接:与内连接不同,外连接是指使用OUTER JOIN关键字将两个表连接起来。外连接生成的结果集不仅 包含符合连接条件的行数据 ,而且还包含左表(左外连接时的表) 右表(右外连接时的表)或 两边连接表(全外连接时的表)中所有的数据行。

select 字段名称 from 表名1 LEFT|RIGHT join 表名2 on 表名1.字段名1 = 表名2.字段名2

例:select s.name,d.dname FROM staff s LEFT JOIN department d ON s.dpid = d.id#连接员工表的dpid字段和部门表的id字段,并查询员工姓名和部门名称,如果右表中没有对应的 连接数据,会自动添加NULL值

例:SELECT s.name,d.dname FROM staff s RIGHT JOIN department d ON s.dpid = d.id# 连接员工表的dpid字段和部门表的id字段,并查询员工姓名和部门名称,如果左表中没有对应 的连接数据,会自动添加NULL值

例:SELECT 字段名1,字段名2 FROM 表名1,表名2 WHERE 连接条件 AND 限制条件例:SELECT s.name,d.dname FROM staff s,department d WHERE s.dpid = d.id AND s.dpid>1# 查询员工姓名和部门名称,条件是员工表的dpid字段与部门表中的id字段相等,并且dpid大于1

合并查询结果

select 字段名 from  表名 UNION select 字段名  from 表名   #关键字UNION是将所 有的查询结果合并到一起,并且去除相同记录

例:SELECT dpid FROM staff UNION SELECT id FROM department# 查询员工表dpid与部门表id,如果有重复数据,只显示一次

select 字段名 drom 表名 UNION ALL select 字段名from表名   #关键字UNION ALL 则只是简单地将结果合并到一 起

例:SELECT dpid FROM staff UNION ALL SELECT id FROM department# 查询员工表dpid与部门表id,全部显示


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10042721.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存