Hoe kinne jo tabelstruktuer replikearje yn MySQL-database?Kopiearje tabelgegevens ynhâld statement

MySQL databankHoe kinne jo tabelstruktuer kopiearje yn?Kopiearje tabelgegevens ynhâld statement

MySQLkopiearje tabel

As wy de MySQL-gegevenstabel folslein moatte replikearje, ynklusyf de struktuer fan 'e tabel, yndeksen, standertwearden, ensfh.As allinich gebrûkTABEL CREATE ... SELECTkommando is ûnmooglik.

Dit haadstik sil jo yntrodusearje hoe't jo MySQL-gegevenstabellen folslein kopiearje kinne. De stappen binne as folget:

  • 使用SHOW CREATE TABELkommando krije meitsje datatabel (TAFEL meitsje) ferklearring, dy't de struktuer, yndeks, ensfh fan 'e oarspronklike gegevenstabel befettet.
  • Kopiearje de SQL-statement werjûn troch it folgjende kommando, wizigje de gegevenstabelnamme en fier de SQL-statement út. It boppesteande kommando sil de gegevenstabelstruktuer folslein kopiearje.
  • As jo ​​de ynhâld fan 'e tabel kopiearje wolle, kinne jo gebrûk meitsjeYNFoegje ... SELECT ferklearring te berikken.

Instance

Besykje it folgjende foarbyld om de tabel te replikearjen chenweiliang_tbl.

stap ien:

Krij de folsleine struktuer fan 'e gegevenstabel.

mysql > SHOW CREATE TABLE chenweiliang_tbl \ G ; *************************** 1. row ******************** ******* Table chenweiliang_tbl
 Create Table CREATE TABLE`chenweiliang_tbl` `chenweiliang_id` int 11 NOT NULL auto_increment `chenweiliang_title` varchar 100 NOT NULL default '' 'chenweiliang_author` varchar 40 NOT NULL 默认'' 
 
         
   
   
   
  `submission_date` 日期默认NULL 
  PRIMARY KEY   `chenweiliang_id` ),
  UNIQUE KEY `AUTHOR_INDEX` `chenweiliang_author` ENGINE = InnoDB的1 集合0.00  
 
  

错误没有指定查询

Stap twa:

Feroarje de gegevenstabelnamme fan 'e SQL-statement en útfiere de SQL-statement.

mysql > CREATE TABLE`clone_tbl` - > `chenweiliang_id` int 11 NOT NULL auto_increment - > `chenweiliang_title` varchar 100 NOT NULL default '' - > `chenweiliang_author` varchar 40 NOT NULL default '' - > `submission_date` 日期默认为NULL - > PRIMARY KEY   `chenweiliang_id` ),- > UNIQUE KEY 
    
    
    
   
  
  `AUTHOR_INDEX` `chenweiliang_author` - > ENGINE = InnoDB ; 查询OK 0 行受影响1.80  
 
 

Stap trije:

Nei it útfieren fan de twadde stap, meitsje jo in nije kloontabel clone_tbl yn 'e databank.As jo ​​​​de gegevens fan 'e gegevenstabel kopiearje wolle, kinne jo gebrûk meitsjeYNFoegje ... SELECT ferklearring te berikken.

mysql > INSERT INTO clone_tbl chenweiliang_id - >                         chenweiliang_title - >                         chenweiliang_author - >                         submission_date - > SELECT chenweiliang_id chenweiliang_title - >         chenweiliang_author submission_date
     - > FROM chenweiliang_tbl ; 查询OK 3 行受影响0.07 记录3 重复0
    
    
    
    
    
 
      警告0 

Nei it útfieren fan de boppesteande stappen sille jo in folsleine kopy fan 'e tabel hawwe, ynklusyf de tabelstruktuer en tabelgegevens.

In oare manier om in tabel te kopiearjen

In oare manier om in folsleine kopy fan 'e tabel te meitsjen:

CREATE TABLE targetTable LIKE sourceTable ; 
INSERT INTO targetTable SELECT * FROM sourceTable ;

oar:

Jo kinne guon fan dizze fjilden kopiearje yn in tabel:

CREATE TABLE newadmin AS
 
    SELECT用户名密码从管理员
 

Jo kinne de fjilden fan 'e nij oanmakke tabel omneame:

CREATE TABLE newadmin AS
   
    SELECT id username AS uname password AS pass FROM admin
 

In part fan de gegevens kin kopiearre wurde:

CREATE TABLE newadmin AS
 
    SELECT * FROM admin WHERE LEFT username 1 = 's'   

Fjildynformaasje yn 'e tabel kin wurde definieare by it meitsjen fan de tabel:

CREATE TABLE newadmin
 
    id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY

    SELECT * FROM admin
   

发表 评论

Jo e-mailadres sil net publisearre wurde. Ferplichte fjilden wurde brûkt * Etiket

Scroll nei boppen