Artikel Directory
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 )
Hopelijk is het artikel "Hoe kopieer ik de tabelstructuur in een MySQL-database? Instructies voor het kopiëren van tabelgegevens" dat gedeeld is op de blog van Chen Weiliang ( https://www.chenweiliang.com/ ) nuttig voor u.
Deel gerust de link naar dit artikel: https://www.chenweiliang.com/cwl-490.html
