Foxtable(狐表)用户栏目专家坐堂 → 如何在数据库中直接复制数据


  共有2192人关注过本帖树形打印复制链接

主题:如何在数据库中直接复制数据

帅哥哟,离线,有人找我吗?
zhangchi96
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
如何在数据库中直接复制数据  发帖心情 Post By:2018/1/25 13:52:00 [只看该作者]

    Conn_ections.Add("test", "Provider=Micro_soft.Jet.OLEDB.4.0;Data Source=" & Project_Path & "data\信息数据库.mdb;Persist Secu_rity Info=False;Jet OLEDB:Data_base Password=888888")
    Dim cmd2 As new SQLCom_mand
    cmd2.Co_nnecti
    cmd2.Com_mandText = "se_lect * from {教职工信息表} where 1=2"
    Dim dt2 As Data_Table = cmd2.Execut_eReader
     cmd2.Com_mandText = "a_lter table _{教职工信息表} ad_d 上年档案工资 DOUBLE;"  '那么就建立一个【】列,数据类型为数字,双精度
        cmd2.Exe_cuteNonQuery
        cmd2.Com_mandText = "up_date {教职工信息表} set 上年档案工资=备用054;"    '将【备用054】的值赋值给【上年档案工资】
        cmd2.Execu_teNonQuery
        cmd2.Comma_ndText = "al_ter Table {教职工信息表} drop Column 备用054;"    '删除【备用054】列
        cmd2.ExecuteN_onQuery

请教,这是我对数据库的一个操作,现在我想把数据库进行数据复制,复制后的数据也存在数据库中

数据库含有列名:年、性别

我想把数据库中{年}是2017的并且{性别}为男的复制一下,复制后{年}改为2018,其余不变,请老师指点一下命令的写法


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/25 14:38:00 [只看该作者]

你要把复制的数据复制到哪里去?

 

如果是复制到一个新表,就用 select into 的sql语句,然后对新表的年update成2018即可。


 回到顶部
帅哥哟,离线,有人找我吗?
zhangchi96
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2018/1/25 15:08:00 [只看该作者]

就是复制在原来的数据库表里面

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/25 15:36:00 [只看该作者]

以下是引用zhangchi96在2018/1/25 15:08:00的发言:
就是复制在原来的数据库表里面

 

insert into {表A} (第一列, 第二列, 第三列) select 第一列, 第二列, 2018 from {表A} where 第四列 = '123'


 回到顶部
帅哥哟,离线,有人找我吗?
zhangchi96
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2018/1/25 17:27:00 [只看该作者]

这里要写所有的列名,我有100多个列

我想变通一下,

第一步 :把{表A}数据复制到{表B},条件是 年度 = '2017' and 性别 = '女'

第二步:把{表B}中的 列:年度 中所有的值改为2018

由于对这方面特别不熟悉,请老师帮我写下详细些的代码,谢谢甜老师的指导!

[此贴子已经被作者于2018/1/25 17:49:43编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/25 18:38:00 [只看该作者]

select * into {表abc} from {表A} where 年度 = '2017' and 性别 = '女'

 

update {表abc} set 年度 = 2018


 回到顶部
帅哥哟,离线,有人找我吗?
zhangchi96
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2018/1/25 19:56:00 [只看该作者]

删除表B的所有数据:   DE_LETE From {表B} Where [_identify] Is not null

 

删除表B中符合某种条件的数据 DELE_TE Fr_om {表B} Where 年度 = '2017' and 性别 = '女'

 

请问老师,这样的写法有问题吗?

[此贴子已经被作者于2018/1/25 19:56:40编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
zhangchi96
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2018/1/25 20:09:00 [只看该作者]

以下是引用有点甜在2018/1/25 18:38:00的发言:

select * into {表abc} from {表A} where 年度 = '2017' and 性别 = '女'

 

update {表abc} set 年度 = 2018

如果我的表A在文件 数据库1.mdb 中,表B在数据库1.mdb 中,上面的复制命令该怎么写?


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/25 21:17:00 [只看该作者]

以下是引用zhangchi96在2018/1/25 20:09:00的发言:

如果我的表A在文件 数据库1.mdb 中,表B在数据库1.mdb 中,上面的复制命令该怎么写?

 

如果是插入一个已经存在的表,就只能用 insert into 语句;

 

select into 语句,必须是生成一个新表的;

 

跨数据库处理参考 http://blog.csdn.net/jolin678/article/details/52109206

 


 回到顶部