本文给大家分享了好几种复制表结构、表数据的示例介绍,具体详情请看下文吧。
创新互联是专业的英吉沙网站建设公司,英吉沙接单;提供网站制作、网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行英吉沙网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
1、复制表结构及数据到新表
CREATE
TABLE
新表SELECT
*
FROM
旧表
这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用delete
from
newtable;来删除。
不过这种方法的一个最不好的地方就是新表中没有了旧表的primary
key、Extra(auto_increment)等属性。需要自己用"alter"添加,而且容易搞错。
2、只复制表结构到新表
CREATE
TABLE
新表SELECT
*
FROM
旧表WHERE
1=2
或CREATE
TABLE
新表LIKE
旧表
3、复制旧表的数据到新表(假设两个表结构一样)
INSERT
INTO
新表SELECT
*
FROM
旧表
4、复制旧表的数据到新表(假设两个表结构不一样)
INSERT
INTO
新表(字段1,字段2,.......)
SELECT
字段1,字段2,......
FROM
旧表
5、可以将表1结构复制到表2
SELECT
*
INTO
表2
FROM
表1
WHERE
1=2
6、可以将表1内容全部复制到表2
SELECT
*
INTO
表2
FROM
表1
7、
show
create
table
旧表;
这样会将旧表的创建命令列出。我们只需要将该命令拷贝出来,更改table的名字,就可以建立一个完全一样的表
8、mysqldump
用mysqldump将表dump出来,改名字后再导回去或者直接在命令行中运行
9、复制旧数据库到新数据库(复制全部表结构并且复制全部表数据)
#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、表不在同一数据库中(如,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
(前五条纪录)以上内容就是本文的全部叙述,希望大家喜欢。
1、复制表结构(语法
creata
table
旧表
select
*
from
新表)
create
table
t1(
id
int
unsigned
auto_increment
primary
key,
name
varchar(32)
not
null
default
'',
pass
int
not
null
default
);
desc
查看表结构
创建表
t2
同时复制表
t1
表结构
create
table
t2
select
*
from
t1;
desc
t2
查看表结构
注意:两张的表字段结构一样,但是
主键
primary
key
和
自增
auto_increment
没有了,所以这种方法不推荐大家使用,那如何才能创建出两张完全一样的表呢,办法肯定有的,如下面语句。
create
table
t2
like
t1;
这就可以创建一张
t2
和
t1
完全一样的表了。
2、指定字段复制表结构
语法:
create
table
新表
select
字段1,字段2
…
from
旧表
3、复制表中数据
假设要把表
t1
中的数据全部复制到表
t2中
insert
into
t2
select
* from
t1;
如果只想复制某个字段
insert
into
t2(字段1,字段2)
select
字段1,字段2 from
t1;
这个确实简单
mysql支持这种复制
语法:
insert
into
`tb`(`field1`,`field2`..)
select
`field1`,`field2`..
from
`tb`;
注意修改为你自己的表名和字段名
两个字段列表(`field1`,`field2`..)数量要相同
你要全字段复制,就把除了自增字段之外的所有字段都列出来
MySQL 复制表
如果我们需要完全的复制MySQL的数据表,包括表的结构,索引,默认值等。 如果仅仅使用CREATE TABLE … SELECT 命令,是无法实现的。
本章节将为大家介绍如何完整的复制MySQL数据表,步骤如下:
使用 SHOW CREATE TABLE 命令获取创建数据表(CREATE TABLE) 语句,该语句包含了原数据表的结构,索引等。
复制以下命令显示的SQL语句,修改数据表名,并执行SQL语句,通过以上命令 将完全的复制数据表结构。
如果你想复制表的内容,你就可以使用 INSERT INTO … SELECT 语句来实现。
-from 树懒学堂 - 一站式数据知识平台