请问SQL如何实现批量查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问SQL如何实现批量查询相关的知识,希望对你有一定的参考价值。

好像解决办法有点愚蠢,但是确实可以这么用
先把那1000多个号码导出成文本
然后在sqlserver里建一张表
create
table
shenfenzheng
(shengfenzheng_id
varchar(18));
然后把导出的文本用UE编辑成
insert
into
shenfenzheng
values
('xxxxxxxxxxxxxxxxxx');
insert
into
shenfenzheng
values
('yyyyyyyyyyyyyyyyyy');
.
.
.
共1000条
然后在sqlserver里执行上述语句,记得后边一定要带分号
然后写个查询
select
*
from
工资表
where
身份证号
in(select
shenfenzheng_id
from
shenfenzheng);
得到的就是你想要的结果
---------补充---------
你所说的用户是指客户端程序的用户,和数据库用户关系应该不大,各个客户端应该在程序里都有连接数据库的文件,也就是实际操作的用户连接数据库时用的都是数据库同一个用户,所以不用在每个用户下都建临时表
参考技术A 好像解决办法有点愚蠢,但是确实可以这么用
先把那1000多个号码导出成文本
然后在sqlserver里建一张表
create
table
shenfenzheng
(shengfenzheng_id
varchar(18));
然后把导出的文本用UE编辑成
insert
into
shenfenzheng
values
('xxxxxxxxxxxxxxxxxx');
insert
into
shenfenzheng
values
('yyyyyyyyyyyyyyyyyy');
.
.
.
共1000条
然后在sqlserver里执行上述语句,记得后边一定要带分号
然后写个查询
select
*
from
工资表
where
身份证号
in(select
shenfenzheng_id
from
shenfenzheng);
参考技术B 很简单,直接在工资表所在的数据库里导入access的身份证号表,然后联合查询就可以了。
联合查询语句如下:
select
A.身份证号,B.工资
from
工资表
A
left
join
工资表
B
on
A.身份证号=B.身份证号
如果你不会把access导入SQL
server可以给我留言或网上查询资料。
参考技术C 好像解决办法有点愚蠢,但是确实可以这么用
先把那1000多个号码导出成文本
然后在sqlserver里建一张表
create table shenfenzheng (shengfenzheng_id varchar(18));

然后把导出的文本用UE编辑成
insert into shenfenzheng values ('xxxxxxxxxxxxxxxxxx');
insert into shenfenzheng values ('yyyyyyyyyyyyyyyyyy');
.
.
.
共1000条
然后在sqlserver里执行上述语句,记得后边一定要带分号

然后写个查询
select * from 工资表 where 身份证号 in(select shenfenzheng_id from shenfenzheng);
得到的就是你想要的结果
---------补充---------
你所说的用户是指客户端程序的用户,和数据库用户关系应该不大,各个客户端应该在程序里都有连接数据库的文件,也就是实际操作的用户连接数据库时用的都是数据库同一个用户,所以不用在每个用户下都建临时表
参考技术D mysql使用limit进行筛选
select
*
from
user
where
1=1
limit
10;(取10条)
oracle用number
select
*
from
user
where
1=1
number
10;(取10条)

请问oracle数据库如何导出数据库的表结构?

我现在要把oracle的数据库表结构导到另外一个库,就是只导表,不导表内的数据。由于表比较多,请问有什么方便的方法可以实现呢?
PLSQL可以实现么?
先谢谢各位了

to tj_angela:
这个是比较方便,但是这样会不会更好:
create table newtable as
select *
from oldtable
where 1=2;
而且好像很难做到批量的生成哦,因为我有很多表呢

to hotyxm:
方法应该是可行的,但是用PLSQL可以实现么,谢谢 ^_^

to badkano;
PLSQL中DBMS_Metadata->dll的方法好像只是对一个表操作吧?我选了几个表,但是最后只帮我创建我选的最后一个表的?不知道如何一次把N多的表导出来

----------------------2009-02-26

谢谢三位!
呵呵,其实hotyxm和badkano的都想采纳为答案呢,方法都是可行,不错!
不过只能选一个呢,badkano的方法可以任意选表,方便好用,呵呵!

oracle数据库导出数据库的表结构:

1、电脑键盘同时按windows键和R键

2、在弹出的运行栏输入【cmd】,点击确定

3、进入oracle命令行界面,输入用户名和密码,点击回车

4、登录成功设置导出数据参数,选择数据文件导出路径,点击回车

5、操作完成,找到存放的路径,可以看到此书生成一个DMP文件。

扩展资料:

数据导出数据库的命令总结:

1 将数据库zxcc完全导出,用户名kf 密码zx 导出到D:\\zxcc.dmp中

exp kf/zx@zxcc file=d:\\zxcc.dmp full=y (一般full=n,否则会全库的所有对象导出)

(exp user/password@192.168.0.46/orcl10g file=F:/fileSys.dmplog=F:/fileSys.log

statistics=nonetables=file_attach,file_tree,file_permission)

full=y 表示全库导出。full总共有2个可选项yes(y)/no(n),缺省情况下full=no,这时只会将该用户下的对象导出。

2 将数据库zxcc中kf用户与cc用户的表导出

exp kf/zx@zxcc file=d:\\zxcc_ur.dmp owner=(kf,cc)

full方式可以备份所有用户的数据库对象,包括表空间、用户信息等,owner=XX只能备份指定用户的对象,其他用户下的就不备份了,EXP中full=y和owner=XX是不能同时使用的。

3 将数据库zxcc中的表kf_operator、kf_role导出

exp kf/zx@zxcc file= d:\\zxcc_tb.dmp tables=(kf_operator,kf_role)

tables=xx 表示备份相关表,不能同时和owner、full使用。

参考技术A

oracle数据库导出数据库的表结构,使用sql查询将查到的数据复制到Excel表中保存中即可。查询代码:

SELECT t.table_name,

t.colUMN_NAME,

t.DATA_TYPE || '(' || t.DATA_LENGTH || ')',

t1.COMMENTS

FROM User_Tab_Cols t, User_Col_Comments t1

WHERE t.table_name = t1.table_name

AND t.column_name = t1.column_name;

扩展资料

Oracle Export导出为.dmp的文件格式,.dmp文件是二进制的,可以跨平台,还能包含权限,效率也很不错,用得最为广泛 。

Sql Insert导出为.sql文件的,可用文本编辑器查看,通用性比较好,适合小数据量导入导出。尤其注意的是表中不能有大字段(blob,clob,long),如果有会提示不能导出。

(提示如下: table contains one or more LONG columns cannot export in sql format,user Pl/sql developer format instead)。  

pl/sql developer导出为.pde格式的,.pde为Pl/sql developer自有的文件格式,只能用Pl/sql developer自己导入导出,不能用编辑器查看。

参考资料:百度百科 Oracle数据库

百度百科 数据表结构

参考技术B

1、打开PLSQL,找到工具栏,打开“导出表”,如图。

2、进入导出主页,输入需要导出的文件名称。

3、点击保存。

4、点击一下右下角的“导出”,就可以看到导出数据的概况。

5、流程: Tools –> Export User Objects。

6、最后点击导出就可以了,导出的文件格式为.sql ,查看文本编辑器查看person.sql文件。

7、如图所示,中途若无报错,则可以根据选定的路径找到文件,备份操作完成。

参考技术C 哪有那么麻烦?
进入plsql
找到table那个大项,点出来,下边会罗列出许多表
右键点中你所需要的那个表名
找到DBMS_Metadata
然后选项里有ddl
弹出来那个窗口就是你的表结构,拷贝出来直接在另一个库里执行就可以啦
-----------------------------补充------------------------

PLSQL里
tools下
export user objects of
按shift批量选择表
执行就行了本回答被提问者采纳
参考技术D 有个办法,先插一条记录
create table newtable as
select *
from oldtable
where rownum<=1

再删掉这条记录

以上是关于请问SQL如何实现批量查询的主要内容,如果未能解决你的问题,请参考以下文章

请问SQL如何实现批量查询

请问一个MSSQl数据库,如何按id批量删除记录?

jsp如何实现模糊查询

mysql如何实现先查询后更新的sql语句

请问oracle数据库如何导出数据库的表结构?

SQL 怎么实现模糊查询?