十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
如果是整表删除且不考虑恢复,直接用truncate table 表名,如果是删除大部分数据,那么新建一个相同结构的表,插入保留的数据,将新表与原表互换表名即可。
超过10年行业经验,技术领先,服务至上的经营模式,全靠网络和口碑获得客户,为自己降低成本,也就是为客户降低成本。到目前业务范围包括了:成都网站制作、成都网站设计,成都网站推广,成都网站优化,整体网络托管,小程序定制开发,微信开发,APP应用开发,同时也可以让客户的网站和网络营销和我们一样获得订单和生意!
有个取巧的办法.
先创建一个临时表 ,假设源表是aaa
第一步:创建临时表
create table aaa_temp as select distinct * from aaa;
第二步,清空源表(清空zhiqian,最好确认一下aaa_temp表数据的正确性)
truncate table aaa;
第三步:把临时表中的数据复制回来
Insert into aaa select * from aaa_temp ;
第四步: 删除临时表
Drop table aaa_temp;
先写一个sql文件,比如叫del_tables.sql,在sql文件里写DROP
TABLE的命令(DROP的内容根据你的需要,可以是单独的多个DROP
TABLE指令,也可能是从USER_TABLES里查询出若干表名),然后bat文件里写
sqlplus
用户名/密码@库名
@del_tables.sql
如果sql文件的内容需要帮助写,那请你给出你要删除的表名,或者表名的规律,比如TEMP为开头的所有表。
第一、如果有plsql客户端,则可以使用该用户登录,选中所有表——右键drop即可。
第二、如果有删除用户的权限,则可以:
drop
user
user_name
cascade;
加了cascade就可以把用户连带的数据全部删掉。
--创建用户
create
user
用户名
profile
default
identified
by
密码
default
tablespace
表空间名称
temporary
tablespace
temp
account
unlock;
--授权
grant
dba
to
用户名;
grant
connect,resource
to
用户名;
第三、如果没有删除用户的权限,则可以执行:
select
'drop
table
'||table_name||';'
from
cat
where
table_type='table'