oracle数据库,如何删除指定用户名下的所有数据?

oracle数据库,如何删除指定用户名下的所有数据?,第1张

连接到system用户,把用户test删除之后重建

conn / as sysdba

drop user test cascade;

create user test identified by password;

conn user/password

扩展资料:

Oracle数据库删除数据

一、Delete语句

语法:Delete From tableName;   //删除tableName中所有数据

Delete From tableName Where <条件表达式>;      //删除表中符合条件的所有数据

二、Truncate语句

语法:Truncate Table tableName;     //清空表数据

Delete From tableName;与Truncate Table tableName的区别:

1delete删除数据之后数据是可以恢复的。Truncate没有机会恢复。

2删完数据之后,重新对表进行查询的时候效率不一样。Truncate之后的表,查询速度很快。

共性:都可以删除表的全部数据。

最简单粗暴的办法就是删除用户并加上cascade,如果不想删除用户,那么就这么删除完之后再重建用户。
还有一般办法就是利用dba_table去查询,然后利用select拼出自己想要的所有删除语句,然后将语句放到执行窗口执行。

你是要删除数据库用户还是应用程序用户?
通过系统视图syssysusers可以找到用户信息,删除数据库用户可以用以下代码实现。
declare @u nvarchar(128)
set @u = N'test'
if exists(select from syssysusers where issqluser = 1 and name = @u)
begin
declare @drop nvarchar(1000)
set @drop = N'drop user ' + @u
execute(@drop)
end
当然,你必须具有足够的权限。
如果要删除应用程序存储的用户。
delete userstable uid= 'user_to_be_deleted'
不必做判断,因为即使用户不存在,也能执行成功,只是没有记录被删除。

oracle删除数据库,用不着用户名和密码,如果你是想drop database的命令删除数据库,后续的功夫还是蛮多的。
1、dbca删除数据库--傻瓜式, *** 作简单,直接选择你所需要删除的数据库,下一步一路下去,oracle全部自动搞定,删除比较干净。
2、通过用户登陆手动删除,oracle10g及以后的版本,必须在指定状态下执行drop database才能删除成功(备注:该命令仅删除控制文件、数据文件、日志文件,像spfile、alertlog等其他基本文件,还需要用户自己手动到目录下删除,很容易造成遗漏(占用多余空间)。当然,如果熟练,完全没问题)
3、手动直接删除系统文件,即无需命令,自己到系统目录下,把控制文件、数据文件、日志文件、参数文件、密码文件等等直接delete掉,同样起到删除数据库的效果。
我都回答到这种程度,LZ你看着办吧~


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

原文地址: http://outofmemory.cn/yw/13366498.html

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

发表评论

登录后才能评论

评论列表(0条)

保存