脚本如下:

[oracle@ycr python]$ more t_del.py 
#/usr/bin/python
#coding:utf8

import sys
import cx_Oracle

i=0
conn=cx_Oracle.connect('%s/%s@%s' % (sys.argv[1],sys.argv[2],sys.argv[3]))
cursor=conn.cursor()
cursor.execute('select table_name from user_tables')
rows=cursor.fetchall()
for row in rows:
    cursor.execute('drop table %s cascade constraints purge' % row) 
    i+=1

cursor.close()
conn.close()
print 'Drop table complete! %d tables droped' % i

测试
创建测试表,使用test用户执行如下脚本:
create table t1 as select * from user_tables;
create table t2 as select * from user_tablespaces;
create table t3 as select * from user_objects;

执行程序:
python t_del.py test oracle YCR2
此小程序有三个参数,test为要删除表的用户名,oracle为密码,YCR2为连接字符串。

执行结果如下:
python t_del.py test oracle YCR2
Drop table complete! 3 tables droped

------------------------------------------------------------------------------
本脚本写来练习用,实际意义不是很大,昨天开发同时让帮忙spool出来一个删除表的脚本,自动化要求较高,所以写了个小程序。
不过执行此程序需要安装cx_Oracle模块,相对繁琐。

Clark
2016.08.03

转载于:https://www.cnblogs.com/Clark-cloud-database/p/7813563.html

python编写脚本,删除固定用户下的所有表相关推荐

  1. DB2 删除某用户下的所有表

    DB2数据库删除某schema下的 所有表 select 'DROP TABLE ' || tabname ||' ;' from syscat.tables where tabschema='YOU ...

  2. Oracle删除当前用户下的所有表、视图、序列、函数、存储过程、包

    先登录需要删除的用户,查询以下SQL得到用户下的所有需要删除的信息,拷贝查询到的的信息执行. --delete tables select 'drop table ' || table_name || ...

  3. 删除一个用户下的所有表脚本

    spool droptable.sql SELECT 'DROP TABLE '|| table_name || ';' FROM USER_TABLES ORDER BY TABLE_NAME; s ...

  4. ORACLE删除当前用户下所有的表的方法

    1.如果有删除用户的权限,则可以: drop user user_name cascade; 加了cascade就可以把用户连带的数据全部删掉. 删除后再创建该用户. --创建管理员用户 create ...

  5. ORACLE 删除当前用户下所有的表

    1.如果有删除用户的权限,则可以: -- 加了cascade就可以把用户连带的数据全部删掉drop user HM_dev cascade; 删除后再创建该用户,重新授权即可 SQL> crea ...

  6. oracle 删除表 索引也会删除吗,Oracle 删除当前用户下所有的表、索引、序列

    通过下面语句可以得到要删除Oracle的所有表.索引.序列... 的语句 select 'drop table ' || table_name ||';'||chr(13)||chr(10) from ...

  7. 用python写脚本看什么书-终于知晓python编写脚本入门教程

    PyQt5是基于Digia公司强大的图形程式框架Qt5的python接口,由一组python模块构成.PyQt5本身拥有超过620个类和6000函数及方法.在可以运行于多个平台.PyQt5拥有双重协议 ...

  8. oracle删除当前用户下所有表

    oracle删除当前用户下所有表 1.如果有删除用户的权限,则可以: drop user user_name cascade; 加了cascade就可以把用户连带的数据全部删掉. 删除后再创建该用户. ...

  9. oracle如何删除一个用户下的所有数据?

    在oracle中,如何删除一个用户下的所有数据? 1.用sql*plus,或者在plsql.toad中使用sys身份登陆数据库 2.然后执行下面语句: DROP USER user_name (用户名 ...

最新文章

  1. 所有接口添加plist文件的写法 swift
  2. CTabCtrl - 如何使用TabCtrl控件
  3. Tensorflow中padding的两种类型SAME和VALID
  4. CPPUNIT的安装和编译
  5. muduo之Logger
  6. 文巾解题1588. 所有奇数长度子数组的和
  7. Centos显示-bash-4.1$问题的修复及原因探究
  8. 传统数据中心如何实现向云的平滑升级
  9. tiny4412移植tslib库
  10. Visio图形自动编号
  11. find 命令示例_数组find()方法以及JavaScript中的示例
  12. vue组件在ios不渲染_VueJS:点击后渲染新组件
  13. 转发:关于数据权限设计的思考
  14. Nginx+PHP+MySQL+Ubuntu14.04 64位环境搭建
  15. log4j配置文件(详细)
  16. Arduino教程: 斯通恩 STWI101WT-01 人机交互显示屏和Arduino
  17. Rust盒子小程序更新拍照查外挂功能,还能查Steam账户信息
  18. 散列表及散列冲突解决方案
  19. 【四十六】Python全栈之路--bootstrap
  20. @Autowired vs @PersistenceContext for EntityManager bean

热门文章

  1. spring解析配置文件(三)
  2. 中间的数(若已经排好序)
  3. javascript 减少回流
  4. 安装了多个Oracle11g的客户端,哪个客户端的tnsnames.ora会起作用?
  5. ionic+AnjularJs实现省市县三级联动效果
  6. 分享25个高质量的移动设备wordpress主题(Mobile theme)
  7. 用Delphi编写ASP的ActiveX
  8. PE文件的感染C++源代码
  9. C#DNS域名解析工具(DnsLookup)
  10. dll文件的c++制作dll文件的c++制作