Bagaimana untuk meniru struktur jadual dalam pangkalan data MySQL?Salin pernyataan kandungan data jadual

Bagaimana untuk menyalin struktur jadual dalam pangkalan data MySQL ? Pernyataan apakah yang digunakan untuk menyalin data jadual?

MySQLsalin jadual

Jika kita perlu menyalin sepenuhnya jadual MySQL, termasuk struktur, indeks, nilai lalai, dan sebagainya, ia tidak boleh dicapai hanya dengan menggunakan arahan `CREATE TABLE … SELECT` .

Bab ini akan memperkenalkan anda cara menyalin sepenuhnya jadual data MySQL. Langkah-langkahnya adalah seperti berikut:

  • 使用TUNJUKKAN CIPTA JADUALarahan dapatkan buat jadual data (BUAT JADUAL) pernyataan, yang mengandungi struktur, indeks, dsb. jadual data asal.
  • Salin pernyataan SQL yang dipaparkan oleh arahan berikut, ubah suai nama jadual data dan laksanakan pernyataan SQL. Perintah di atas akan menyalin sepenuhnya struktur jadual data.
  • Jika anda ingin menyalin kandungan jadual, anda boleh menggunakanMASUKKAN KE DALAM … PILIH kenyataan untuk dicapai.

contoh

Cuba contoh berikut untuk meniru jadual chenweiliang_tbl.

步骤 一:

Dapatkan struktur penuh jadual data.

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 秒) 
 
  

错误:没有指定查询

步骤 二:

Ubah suai nama jadual data bagi pernyataan SQL dan laksanakan pernyataan SQL.

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 秒) 
 
 

步骤 三:

Selepas melengkapkan langkah kedua, anda akan mencipta jadual klon baharu bernama clone_tbl dalam pangkalan data. Jika anda ingin menyalin data daripada jadual, anda boleh menggunakan pernyataan INSERT INTO … SELECT.

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 

Selepas melakukan langkah di atas, anda akan mempunyai salinan lengkap jadual, termasuk struktur jadual dan data jadual.

Cara lain untuk menyalin jadual

Satu lagi cara untuk membuat salinan penuh jadual:

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

lain:

Anda boleh menyalin beberapa medan ini dalam jadual:

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

Anda boleh menamakan semula medan jadual yang baru dibuat:

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

Sebahagian daripada data boleh disalin:

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

Maklumat medan dalam jadual boleh ditakrifkan semasa membuat jadual:

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

发表 评论

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

Tatal ke