Hvordan replikeres tabelstruktur i MySQL-database?Kopiér tabeldataindholdserklæring

MySQL databaseHvordan kopierer man tabelstruktur i ?Kopiér tabeldataindholdserklæring

MySQLKopier tabel

Hvis vi skal fuldstændigt replikere MySQL-datatabellen, inklusive tabellens struktur, indekser, standardværdier osv.Hvis kun brugOPRET TABEL ... VÆLGkommando er umuligt.

Dette kapitel vil introducere, hvordan man fuldstændig kopierer MySQL-datatabel, trinnene er som følger:

  • brugVIS OPRET TABELkommando get create datatable (Opret tabel) sætning, som indeholder strukturen, indekset osv. af den originale datatabel.
  • Kopier SQL-sætningen, der vises af følgende kommando, modificer datatabelnavnet, og udfør SQL-sætningen. Ovenstående kommando kopierer datatabelstrukturen fuldstændigt.
  • Hvis du ønsker at kopiere indholdet af tabellen, kan du brugeINDSÆT I … VÆLG erklæring at opnå.

Instans

Prøv følgende eksempel for at replikere tabellen chenweiliang_tbl.

trin et:

Få den komplette struktur af datatabellen.

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  
 
  

错误没有指定查询

Trin to:

Rediger datatabelnavnet på SQL-sætningen, og udfør SQL-sætningen.

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  
 
 

Trin tre:

Efter at have udført det andet trin, vil du oprette en ny klone tabel clone_tbl i databasen.Hvis du vil kopiere dataene fra datatabellen, kan du brugeINDSÆT I … VÆLG erklæring at opnå.

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 

Når du har udført ovenstående trin, vil du have en komplet kopi af tabellen, inklusive tabelstrukturen og tabeldata.

En anden måde at kopiere en tabel på

En anden måde at lave en fuld kopi af tabellen på:

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

Andet:

Du kan kopiere nogle af disse felter i en tabel:

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

Du kan omdøbe felterne i den nyoprettede tabel:

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

En del af dataene kan kopieres:

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

Feltoplysninger i tabellen kan defineres, mens tabellen oprettes:

CREATE TABLE newadmin
 
    id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY

    SELECT * FROM admin
   

发表 评论

Din e-mailadresse vil ikke blive offentliggjort. 必填 项 已 用 * 标注

Rul til top