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 )
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) dielde "Hoe kin ik de tabelstruktuer replikearje yn MySQL-database?Kopiearje Tabelgegevensynhâldferklearring" om jo te helpen.
Wolkom om de keppeling fan dit artikel te dielen:https://www.chenweiliang.com/cwl-490.html
Om mear ferburgen trúks te ûntsluten🔑, wolkom om mei te dwaan oan ús Telegram-kanaal!
Diel en like as jo it leuk fine! Jo oandielen en likes binne ús oanhâldende motivaasje!