自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

mysql不同數(shù)據(jù)庫不同數(shù)據(jù)表導入數(shù)據(jù)

數(shù)據(jù)庫 MySQL
今天在一個庫里面相互到兩張表的數(shù)據(jù),我之前只會一種方法:這個方法的意思是將b表的所有數(shù)據(jù)全部導入到a表中......

今天在一個庫里面相互到兩張表的數(shù)據(jù),我之前只會一種方法:

  1. INSERT INTO A SELECT * FROM B; 

這個方法的意思是將b表的所有數(shù)據(jù)全部導入到a表中,注意:

mysql不同數(shù)據(jù)庫不同數(shù)據(jù)表導入數(shù)據(jù)

a、b表的數(shù)據(jù)結(jié)構(gòu)相同;

相當于復制了b表數(shù)據(jù)到a表

這樣可以簡單完成功能,但是當需求變成這樣:

a、b表數(shù)據(jù)結(jié)構(gòu)不一樣;

或者只需導一部分數(shù)據(jù)

或者導入數(shù)據(jù)是有重復的

這個sql就無能為力了,我們以各種情況來說。

首先有a表,結(jié)構(gòu)如下:

 

  1. CREATE TABLE `table_a` ( 
  2. `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主鍵,長整型,自增'
  3. `user_id` varchar(32) DEFAULT NULL COMMENT '用戶id'
  4. `namevarchar(50) DEFAULT NULL COMMENT '名字'
  5. `email` varchar(30) NOT NULL COMMENT '郵箱'
  6. PRIMARY KEY (`id`) 
  7. ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

然后是b表,結(jié)構(gòu)如下,

 

  1. CREATE TABLE `table_b` ( 
  2. `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主鍵,長整型,自增'
  3. `user_id` varchar(32) DEFAULT NULL COMMENT '用戶id'
  4. `user_name` varchar(50) DEFAULT NULL COMMENT '名字'
  5. `email` varchar(30) NOT NULL COMMENT '郵箱'
  6. `course` varchar(30) NOT NULL COMMENT '課程'
  7. PRIMARY KEY (`id`) 
  8. ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

情形如下:

(1)導入的數(shù)據(jù)在a表中完全不存在

  1. INSERT INTO table_a (id,user_id,name,email) SELECT id,user_id,user_name,email FROM table_b; 

或者不需要id的情況,

  1. INSERT INTO table_a (user_id,name,email) SELECT user_id,user_name,email FROM table_b; 

如果有重復的可以使用replace into 這個,但是請慎重使用replace,保證你對replace有足夠的了解!

(2)導入的數(shù)據(jù)部分存在

數(shù)據(jù)部分存在為了區(qū)分需要在兩個表添加唯一索引

兩個表中分別為user_name和name字段添加唯一索引

第一種情形,

使用replace into的方式進行導入數(shù)據(jù)(這里根據(jù)唯一索引進行判斷,如果不添加唯一索引的方式,除了id主鍵不同外,其他均相同的情況下也視為相同)

第二種情形,

忽略重復的,即如果有發(fā)現(xiàn)重復的行,則跳過此行數(shù)據(jù)的插入,必須使用ignore關(guān)鍵字,

  1. INSERT IGNORE INTO table_a (id,user_id,name,email) SELECT id,user_id,user_name,email FROM table_b; 
責任編輯:未麗燕 來源: 時間記憶
相關(guān)推薦

2011-08-04 15:55:25

SQL Server數(shù)

2011-05-18 10:36:21

數(shù)據(jù)庫數(shù)據(jù)導入

2010-05-28 11:05:40

MSSQL Serve

2010-05-19 15:01:14

MySQL數(shù)據(jù)導入

2011-02-25 13:10:23

兩個數(shù)據(jù)庫服務器兩個數(shù)據(jù)庫兩張表連接查詢

2011-05-13 09:42:21

2011-04-08 10:43:08

mysql數(shù)據(jù)access數(shù)據(jù)庫

2010-06-30 16:48:19

SQL Server數(shù)

2010-05-24 18:49:13

MySQL數(shù)據(jù)庫

2024-12-06 08:29:29

2011-06-30 15:26:28

Update數(shù)據(jù)庫

2024-08-09 08:28:14

品牌數(shù)據(jù)庫產(chǎn)品

2011-08-03 14:02:02

數(shù)據(jù)庫連接ACCESS

2010-05-21 17:51:58

MySQL數(shù)據(jù)庫

2009-04-30 09:28:05

SynonymOpenquerySQL Server

2010-11-29 13:22:45

sybase數(shù)據(jù)表

2010-11-22 13:53:46

MySQL數(shù)據(jù)表

2011-08-15 10:22:19

分頁查詢數(shù)據(jù)庫

2017-05-19 13:42:51

JavaSpring框架數(shù)據(jù)庫

2009-06-24 07:55:36

Hibernate不同SQL方言
點贊
收藏

51CTO技術(shù)棧公眾號