Straipsnių katalogas
MySQL duomenų bazėKaip nukopijuoti lentelės struktūrą?Nukopijuokite lentelės duomenų turinio pareiškimą
MySQLKopijuoti lentelę
Jei mums reikia visiškai atkartoti MySQL duomenų lentelę, įskaitant lentelės struktūrą, indeksus, numatytąsias reikšmes ir kt.Jei tik naudotiKURTI LENTELĘ ... PASIRINKTIįsakymas neįmanomas.
Šiame skyriuje bus pristatyta, kaip visiškai nukopijuoti MySQL duomenų lentelę, veiksmai yra tokie:
- naudojimasRODYTI KURTI LENTELĘkomanda gauti sukurti duomenų lentelę (SUKURTI LENTEL.) teiginį, kuriame yra pradinės duomenų lentelės struktūra, indeksas ir kt.
- Nukopijuokite SQL sakinį, rodomą šia komanda, pakeiskite duomenų lentelės pavadinimą ir vykdykite SQL sakinį. Duomenų lentelės struktūra bus visiškai nukopijuota naudojant aukščiau pateiktą komandą.
- Jei norite nukopijuoti lentelės turinį, galite naudotiINSERT INTO … PASIRINKTI pareiškimą pasiekti.
pavyzdys
Išbandykite šį pavyzdį, kad atkartotumėte lentelę chenweiliang_tbl.
Pirmas žingsnis:
Gaukite visą duomenų lentelės struktūrą.
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 秒) 错误:没有指定查询
XNUMX žingsnis:
Pakeiskite SQL sakinio duomenų lentelės pavadinimą ir paleiskite SQL sakinį.
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 秒)
XNUMX veiksmas:
Atlikę antrą veiksmą, duomenų bazėje sukursite naują klonų lentelę clone_tbl.Jei norite nukopijuoti duomenis iš duomenų lentelės, galite naudotiINSERT INTO … PASIRINKTI pareiškimą pasiekti.
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
Atlikę aukščiau nurodytus veiksmus, turėsite visą lentelės kopiją, įskaitant lentelės struktūrą ir lentelės duomenis.
Kitas būdas nukopijuoti lentelę
Kitas būdas padaryti visą lentelės kopiją:
CREATE TABLE targetTable LIKE sourceTable ; INSERT INTO targetTable SELECT * FROM sourceTable ;
kita:
Kai kuriuos iš šių laukų galite nukopijuoti į lentelę:
CREATE TABLE newadmin AS ( SELECT用户名,密码从管理员 )
Galite pervardyti naujai sukurtos lentelės laukus:
CREATE TABLE newadmin AS ( SELECT id ,username AS uname ,password AS pass FROM admin )
Dalį duomenų galima nukopijuoti:
CREATE TABLE newadmin AS ( SELECT * FROM admin WHERE LEFT (username ,1 )= 's' )
Lentelėje esantį lauko informaciją galima apibrėžti kuriant lentelę:
CREATE TABLE newadmin ( id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY ) 如 ( SELECT * FROM admin )
Hope Chen Weiliang tinklaraštis ( https://www.chenweiliang.com/ ) pasidalino "Kaip atkartoti lentelės struktūrą MySQL duomenų bazėje?Nukopijuokite lentelės duomenų turinio pareiškimą“, kad jums padėtumėte.
Kviečiame pasidalinti šio straipsnio nuoroda:https://www.chenweiliang.com/cwl-490.html
Norėdami atskleisti daugiau paslėptų triukų🔑, prisijunkite prie mūsų „Telegram“ kanalo!
Dalinkitės ir like jei patiko! Jūsų pasidalinimai ir mygtukai „Patinka“ yra mūsų nuolatinė motyvacija!