按某个参数导出数据库

时间:2018-01-10 19:35:20

标签: sql oracle oracle-sqldeveloper

有一个包含很多表的数据库。 我需要从数据库中导出某个用户的所有信息。

是否可以做这样的事情?

Select * from * where user_id='123';

1 个答案:

答案 0 :(得分:0)

不,这不是有效的SQL语法。表名必须在查询中显式。

我们可以为每个包含名为user_id ...

的列的表运行单独的查询
SELECT * FROM mytable        WHERE user_id = '123';
SELECT * FROM othertable     WHERE user_id = '123';
SELECT * FROM anothertable   WHERE user_id = '123';
SELECT * FROM anotherone     WHERE user_id = '123';

为了帮助我们生成语句,我们可以获取当前数据库中包含名为user_id的列的表列表...

SELECT CONCAT('`',c.table_schema,'`.`',c.table_name,'`') AS `-- table`  
  FROM information_schema.columns c
 WHERE c.table_schema = DATABASE()
   AND c.column_name = 'user_id'
 ORDER BY c.table_name

我们还可以在SELECT列表中扩展表达式以生成完整的SELECT语句。