如何找到所有表中的二进制数据并显示表名?
答案 0 :(得分:1)
这在很大程度上取决于您使用的数据库。许多数据库(至少MySQL和PostgreSQL,可能全部)都有一个名为information_schema(或类似的东西)的数据库。这是一个数据库,描述数据库的结构以及所有表,它们的字段以及字段所包含的数据类型。所以这将是一个很好的起点。
答案 1 :(得分:1)
您能问DBA还是DB-developper?
如果没有,你在使用什么DB(Oracle,MySql,Microsoft,其他?)..
已编辑MySQL DB
使用
select table_schema
, table_name
, column_name
, data_type
from information_schema
where data_type like '%blob%'
or data_type in ('binary','varbinary')
答案 2 :(得分:1)
我需要知道哪个数据库,但这个(或类似的东西)应该适用于Oracle:
select *
from all_tab_columns
where data_type in ('BLOB', 'RAW')
;
答案 3 :(得分:1)
你需要选择系统表(在msssql 2000 - syscolumns中)或系统管理视图(在mssql 2005或2008 - sys.columns中)来查找你需要查找的system_type_id的列,然后找到相应的表连接sys_columns和sys_objects by object_id字段。
答案 4 :(得分:1)
对于MySql,您需要INFORMATION_SCHEMA COLUMNS表:
http://dev.mysql.com/doc/refman/5.1/en/columns-table.html
如果您需要找到所有具有二进制列的表,那么您可以创建一个与INFORMATION_SCHEMA TABLES表连接的查询: