在mytest數(shù)據(jù)庫中,用復制的方式創(chuàng)建一個名為user_copy1的表,表結構直接取自user表;另再創(chuàng)建一個名為user_copy2的表,其結構和內(nèi)容(數(shù)據(jù))都取自user表。
網(wǎng)站建設哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、小程序設計、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了通化免費建站歡迎大家使用!
(1)創(chuàng)建user_copy1表:
use mytest
create table user_copy1 like user;
(2)創(chuàng)建user_copy2表:
create table user_copy2 as
(select * from user);
這個確實簡單
mysql支持這種復制
語法:
insert
into
`tb`(`field1`,`field2`..)
select
`field1`,`field2`..
from
`tb`;
注意修改為你自己的表名和字段名
兩個字段列表(`field1`,`field2`..)數(shù)量要相同
你要全字段復制,就把除了自增字段之外的所有字段都列出來
MySQL 復制表
如果我們需要完全的復制MySQL的數(shù)據(jù)表,包括表的結構,索引,默認值等。 如果僅僅使用CREATE TABLE … SELECT 命令,是無法實現(xiàn)的。
本章節(jié)將為大家介紹如何完整的復制MySQL數(shù)據(jù)表,步驟如下:
使用 SHOW CREATE TABLE 命令獲取創(chuàng)建數(shù)據(jù)表(CREATE TABLE) 語句,該語句包含了原數(shù)據(jù)表的結構,索引等。
復制以下命令顯示的SQL語句,修改數(shù)據(jù)表名,并執(zhí)行SQL語句,通過以上命令 將完全的復制數(shù)據(jù)表結構。
如果你想復制表的內(nèi)容,你就可以使用 INSERT INTO … SELECT 語句來實現(xiàn)。
-from 樹懶學堂 - 一站式數(shù)據(jù)知識平臺
一、復制表里面的一條記錄并插入表里面\x0d\x0a ① insert into article(title,keywords,desc,contents) select title,keywords,desc,contents from article where article_id = 100;\x0d\x0a\x0d\x0a二、復制表里的多條數(shù)據(jù)/記錄,并插入到表里面\x0d\x0a ① INSERT INTO `power_node`(title,type,status) SELECT title,type,status FROM power_node WHERE id
回答于?2022-11-16
本文給大家分享了好幾種復制表結構、表數(shù)據(jù)的示例介紹,具體詳情請看下文吧。
1、復制表結構及數(shù)據(jù)到新表
CREATE
TABLE
新表SELECT
*
FROM
舊表
這種方法會將oldtable中所有的內(nèi)容都拷貝過來,當然我們可以用delete
from
newtable;來刪除。
不過這種方法的一個最不好的地方就是新表中沒有了舊表的primary
key、Extra(auto_increment)等屬性。需要自己用"alter"添加,而且容易搞錯。
2、只復制表結構到新表
CREATE
TABLE
新表SELECT
*
FROM
舊表WHERE
1=2
或CREATE
TABLE
新表LIKE
舊表
3、復制舊表的數(shù)據(jù)到新表(假設兩個表結構一樣)
INSERT
INTO
新表SELECT
*
FROM
舊表
4、復制舊表的數(shù)據(jù)到新表(假設兩個表結構不一樣)
INSERT
INTO
新表(字段1,字段2,.......)
SELECT
字段1,字段2,......
FROM
舊表
5、可以將表1結構復制到表2
SELECT
*
INTO
表2
FROM
表1
WHERE
1=2
6、可以將表1內(nèi)容全部復制到表2
SELECT
*
INTO
表2
FROM
表1
7、
show
create
table
舊表;
這樣會將舊表的創(chuàng)建命令列出。我們只需要將該命令拷貝出來,更改table的名字,就可以建立一個完全一樣的表
8、mysqldump
用mysqldump將表dump出來,改名字后再導回去或者直接在命令行中運行
9、復制舊數(shù)據(jù)庫到新數(shù)據(jù)庫(復制全部表結構并且復制全部表數(shù)據(jù))
#mysql
-u
root
-ppassword
CREATE
DATABASE
new_db;
#mysqldump
old_db
-u
root
-ppassword--skip-extended-insert
--add-drop-table
|
mysql
new_db
-u
root
-ppassword
10、表不在同一數(shù)據(jù)庫中(如,db1
table1,
db2
table2)
sql:
insert
into
db1.table1
select
*
from
db2.table2
(完全復制)
insert
into
db1.table1
select
distinct
*
from
db2.table2(不復制重復紀錄)
insert
into
tdb1.able1
select
top
5
*
from
db2.table2
(前五條紀錄)以上內(nèi)容就是本文的全部敘述,希望大家喜歡。