Hoe de tabelstructuur in de MySQL-database te repliceren?Inhoudsverklaring tabelgegevens kopiëren

Hoe kopieer ik de tabelstructuur in een MySQL-database ? Welke statements gebruik ik om tabelgegevens te kopiëren?

MySQLTabel kopiëren

Als we een MySQL-tabel volledig willen kopiëren, inclusief de structuur, indexen, standaardwaarden, enz., kan dat niet eenvoudig met het commando `CREATE TABLE … SELECT` .

In dit hoofdstuk wordt uitgelegd hoe u de MySQL-gegevenstabel volledig kunt kopiëren. De stappen zijn als volgt:

  • 使用TOON CREATE TABELopdracht get create datatable (MAAK EEN TABEL) statement, dat de structuur, index, enz. van de oorspronkelijke gegevenstabel bevat.
  • Kopieer de SQL-instructie die wordt weergegeven door de volgende opdracht, wijzig de naam van de gegevenstabel en voer de SQL-instructie uit. De structuur van de gegevenstabel wordt volledig gekopieerd via de bovenstaande opdracht.
  • Als u de inhoud van de tabel wilt kopiëren, kunt u gebruik maken vanINVOEGEN IN … SELECTEREN verklaring te bereiken.

Voorbeeld

Probeer het volgende voorbeeld om de tabel chenweiliang_tbl te repliceren.

stap een:

Krijg de volledige structuur van de 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 twee:

Wijzig de naam van de gegevenstabel van de SQL-instructie en voer de SQL-instructie uit.

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 drie:

Na het voltooien van de tweede stap maakt u een nieuwe kloontabel met de naam clone_tbl aan in de database. Als u gegevens uit de tabel wilt kopiëren, kunt u de INSERT INTO … SELECT- instructie gebruiken.

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 

Nadat u de bovenstaande stappen hebt uitgevoerd, heeft u een volledige kopie van de tabel, inclusief de tabelstructuur en tabelgegevens.

Een andere manier om een ​​tabel te kopiëren

Een andere manier om een ​​volledige kopie van de tabel te maken:

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

andere:

U kunt enkele van deze velden in een tabel kopiëren:

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

U kunt de velden van de nieuw gemaakte tabel hernoemen:

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

Een deel van de gegevens kan worden gekopieerd:

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

Veldinformatie in de tabel kan worden gedefinieerd tijdens het maken van de tabel:

CREATE TABLE newadmin
 (
    id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY
)
如
(
    SELECT * FROM admin
 )  

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

Scroll naar boven