mysql中用命令行复制表结构的方法主要有一下几种

mysql中用命令行复制表结构的方法主要有一下几种,第1张

假如我们有以下这样一个表:

id username password

-----------------------------------

1admin*************

2sameer *************

3stewart *************

CREATE TABLE IF NOT EXISTS `admin` ( `id` int(6) unsigned NOT NULL auto_increment, `username` varchar(50) NOT NULL default '', `password` varchar(100) default NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=4

1. 下面这个语句会拷贝表结构到新表newadmin中。 (不会拷贝表中的数据)

CREATE TABLE newadmin LIKE admin

2. 下面这个语句会拷贝数据到新表中。 注意:这个语句其实只是把select语句的结果建一个表。所以newadmin这个表不会有主键,索引。

CREATE TABLE newadmin AS ( SELECT * FROM admin )

3. 如果你要真正的复制一个表。可以用下面的语句。

CREATE TABLE newadmin LIKE admin INSERT INTO newadmin SELECT * FROM admin

4. 我们可以 *** 作不同的数据库。

CREATE TABLE newadmin LIKE shop.admin CREATE TABLE newshop.newadmin LIKE shop.admin

5. 我们也可以拷贝一个表中其中的一些字段。

CREATE TABLE newadmin AS ( SELECT username, password FROM admin )

6. 我们也可以讲新建的表的字段改名。

CREATE TABLE newadmin AS ( SELECT id, username AS uname, password AS pass FROM admin )

7. 我们也可以拷贝一部分数据。

CREATE TABLE newadmin AS ( SELECT * FROM admin WHERE LEFT(username,1) = 's' )

8. 我们也可以在创建表的同时定义表中的字段信息。

MySQL 复制表

如果我们需要完全的复制MySQL的数据表,包括表的结构,索引,默认值等。 如果仅仅使用CREATE TABLE … SELECT 命令,是无法实现的。

本章节将为大家介绍如何完整的复制MySQL数据表,步骤如下:

使用 SHOW CREATE TABLE 命令获取创建数据表(CREATE TABLE) 语句,该语句包含了原数据表的结构,索引等。

复制以下命令显示的SQL语句,修改数据表名,并执行SQL语句,通过以上命令 将完全的复制数据表结构。

如果你想复制表的内容,你就可以使用 INSERT INTO … SELECT 语句来实现。

-from 树懒学堂 - 一站式数据知识平台


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6219053.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-18
下一篇 2023-03-18

发表评论

登录后才能评论

评论列表(0条)

保存