MySQL复制表结构 表数据sql语句总结

复制整个表

 代码如下 复制代码
create table new_table select * from old_table;

复制表,不复制数据

 代码如下 复制代码

create table new_table select * from old_table where 0;

主键,索引,自增等其他额外特征不会被带到新表中。这点和其他的数据库产品类似。

上面为核心两句了

1、MySQL复制表结构及数据到新表

 代码如下 复制代码

CREATE TABLE `新表` SELECT * FROM `旧表`

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、show create table 旧表;

这样会将旧表的创建命令列出。我们只需要将该命令拷贝出来,更改table的名字,就可以建立一个完全一样的表

时候这些MySQL界面工具会报错,这个时候用命令行更好。比如复制一个表字段数据到另外一个表的字段,可以这么写:

 代码如下 复制代码

 UPDATE tb_1 INNER JOIN tb_2 ON tb_1.tid = tb_2.tid  SET tb_1.tcontent = tb_2.tcontent

下面是一个实际例子,将PHPCMS已生成的静态页面的链接写入phpcms_content表中的url字段:

先这样拼凑出需要的url字段列。

 代码如下 复制代码

SELECT CONCAT(FROM_UNIXTIME(inputtime,'%Y/%m%d'), '/', contentid, '.html') AS dt FROM phpcms_content ORDER BY contentid DESC

然后再查询编辑器(navicat)中,将整段复制拷贝到phpcms_content表中的url列即可

时间: 2024-09-16 00:47:20

MySQL复制表结构 表数据sql语句总结的相关文章

Oracle与Sql Server复制表结构及数据的语句

1.Oracle create table 新表名 AS SELECT * FROM 源表名 2.Sql Server SELECT * into 新表名 from 源表名 查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/database/SQLServer/

mysql删除字段重复的数据sql语句

mysql删除字段重复的数据,经过搜索刚开始是这样做的: delete from v_togo where tel in (select tel from v_togo group by tel having count(tel) > 1) and togoid not in (select min(togoid) from v_togo group by tel having count(tel )>1) 结果mysql报错 you can't specify target table 'v

MySQL随机从表中取出数据sql语句

rand在手册里是这么说的: RAND() RAND(N) 例  代码如下 复制代码 SELECT * FROM table_name ORDER BY rand() LIMIT 5; 返回在范围0到1.0内的随机浮点值.如果一个整数参数N被指定,它被用作种子值.  代码如下 复制代码 mysql> select RAND(); -> 0.5925 mysql> select RAND(20); -> 0.1811 mysql> select RAND(20); ->

mysql中比较两个表中的数据sql语句

有两个表t_appinfo 和g_appinfo ,存储的信息基本一致,都包含package_name这个字段,现在需要查出package_name 存在于t_appinfo表,而且不存在于g_appinfo表的记录. 方法一:使用NOT EXISTS  代码如下 复制代码 SELECT a.name,a.package_name FROM t_appinfo a WHERE NOT EXISTS (SELECT 1 FROM g_appinfo g WHERE a.package_name=g

mysql 复制表结构和数据实例代码_Mysql

在mysql数据库开发中,我们有时候需要复制或拷贝一张表结构和数据到例外一张表,这个时候我们可以使用create ... select ... from语句来实现,本文章向大家介绍mysql复制表结构和数据一个简单实例,  比如现在有一张表,我们要将该表复制一份,以备以后使用,那么如何使用mysql语句来实现呢?其实我们可以直接使用create ... select ... from语句来实现,具体实现方法请看下面实例.  我们先来创建一张Topic表,创建Topic表的SQL语句如下: mys

oracle、mysql、sybase和sqlserver复制表结构和数据

Sql Server(sybase): 1.复制表结构: 新建表student2,并且结构同表syn_xj_student一致.Sql语句如下: select * into syn_xj_student2 from syn_xj_student where 1=2 2.复制表数据,并排除俩表中相同的数据: insert into syn_xj_student2 select * from syn_xj_student where f_id not in (select f_id from syn

sql server-不同数据库,不同表结构之间数据迁移

问题描述 不同数据库,不同表结构之间数据迁移 现在新旧系统切换,需要在新库中把老库的一些表数据导入到新库,但是新库的表结构是经过优化的,导致了新.老库表结构不一样的情况,请教一个迁移方案,谢谢(老库是sqlserver,新库是mysql) 解决方案 不同数据库表之间表数据复制不同数据库之间复制表的数据的方法:不同数据库之间复制表的数据的方法 解决方案二: 不同数据库表之间表数据复制不同数据库之间复制表的数据的方法:不同数据库之间复制表的数据的方法 解决方案三: 你数据库表的结构都有改变了.一般是

Oracle数据库向MS Sql表结构及数据如何迁移?

问题描述 新来的经理三把火了,要我们把数据库改了,可是我们没有数据库迁移的经验,网上的博客都是模棱两可的.请教下各位大牛.Oracle数据库向MS Sql2000表结构及数据如何迁移?我们使用了DTS但是提示"未知错误",就不得不中断,请问数据库迁移还有别的办法吗?或者这种未知错误有解? 解决方案 参考http://www.sql-server-performance.com/2003/migrating-from-oracle-to-sql-server/我其实为吐槽来的.Oracl

mysql利用命令导出数据sql语句

命令行source 导入数据库:  代码如下 复制代码 1,将要导入的.sql文件移至bin文件下,这样的路径比较方便 2,同上面导出的第1步 3,进入MySQL:mysql -u 用户名 -p 如我输入的命令行:mysql -u root -p    (输入同样后会让你输入ySQL的密码) 4,在MySQL-Front中新建你要建的数据库,这时是空数据库,如新建一个名为blog的目标数据库(mysql>create database blog;) 5,输入:mysql>use 目标数据库名