mysql复制表以及复制数据库
(一)将旧表复制到新表
1、CREATE TABLE新表 SELECT* FROM旧表;
该语句只是复制表结构以及数据,它不会复制与表关联的其他数据库对象,如索引,主键约束,外键约束,触发器等。
CREATE TABLE if not exists new_tableSELECT col1, col2, col3FROMexisting_tableWHEREconditions;
2、MySQL 数据库不支持 SELECT ... INTO 语句,但支持 INSERT
INTO ... SELECT
其中在使用select into 语句与insert into select 语句时,新表要提前建立,并且新表与旧表的字段属性要一样才可以。
create table 新表 like 旧表;
新表建立之后才可以使用下面的两个语句:
SELECT * INTO 新表 FROM 旧表;
INSERT INTO 新表 SELECT * FROM 旧表;
只复制希望的列插入到另一个已存在的表中:
INSERT INTO 新表 (column_name(s))
SELECT column_name(s) FROM 旧表;
实例:INSERT
INTO Websites (name, country) SELECT app_name, country FROM apps;
(二)复制相同表结构
对于mysql的复制相同表结构方法,有create
table as 和create table like 两种
create
table 新表 like 旧表;
create
table 新表 as select * from 旧表 limit 0;
二者的区别:
as用来创建相同表结构并复制源表数据
like用来创建完整表结构和全部索引
oracle支持as,也是只有表结构没有索引
oracle不支持like。
(三)MySQL复制表到另一个数据库
访问不同数据库中的表:数据库名.表名 ,采用点 的形式。
有时,您要将表复制到其他数据库。 在这种情况下,可使用以下语句:
CREATE TABLE destination_db.new_tableLIKE source_db.existing_table;INSERT destination_db.new_tableSELECT *FROM source_db.existing_table;
具体流程:
CREATE DATABASE IF NOT EXISTS testdb;
其次,通过将其结构从示例数据库(yiibaidb)中的offices表复制出来,在testdb中创建了offices表。
CREATE TABLE testdb.offices LIKE yiibaidb.offices;
第三,我们将数据从yiibaidb.offices表复制到testdb.offices表中。
INSERT testdb.officesSELECT *FROM yiibaidb.offices;
(四)MySQL数据库导入导出
1、使用mysqldump工具将数据库导出并转储到sql文件:mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -h IP -u 用户名 -p 数据库名 > 导出的文件名
2 :(导出某张表的表结构不含数据)
mysqldump -h localhost -u root -p -d test pollution > G:\arcgisworkspace\zypdoc\test.sql
3:(导出某张表的表结构和数据,不加-d)
mysqldump -h 127.0.0.1 -u root -p test pollution > G:\arcgisworkspace\zypdoc\test.sql
mysqldump-u root
-p yiibaidb >d:\database_bak\yiibaidb.sql
其中>表示导出。
2、导入sql文件
在MySQL中新建数据库,这时是空数据库,如新建一个名为news的目标数据库
create database if not exists news;
use news;
导入文件:
source 路径+导入的文件名;
source d:\mysql.sql;
要复制一个MySQL数据库,您需要执行以下步骤:
- 首先,使用CREATE
DATABASE语句创建一个新的数据库。 - 其次,使用
mysqldump工具导出要复制的数据库的所有数据库对象和数据。 - 第三,将SQL转储文件导入新的数据库。
作为一个演示,假设要把yiibaidb数据库复制到yiibaidb_backup数据库:
步骤1, 创建yiibaidb_backup数据库:
首先,登录到MySQL数据库服务器:
C:\Users\Administrator> mysql -u root -p
Enter password: **********
然后,使用CREATE DATABASE语句如下:
CREATE DATABASE yiibaidb_backup;
第三,使用SHOW DATABASES命令验证:
SHOW DATABASES
步骤2
使用mysqldump工具将数据库对象和数据转储到SQL文件中。
假设要将数据库对象和数据库转储到位于D:\database_bak文件夹的SQL文件中,这里是以下命令:
C:\Users\Administrator> mysqldump -u root -p yiibaidb > d:\database_bak\yiibaidb.sqlEnter password: **********
基本上,此命令指示mysqldump使用具有密码的root用户帐户登录到MySQL服务器,并将数据库对象和yiibaidb数据库的数据导出到d:\database_bak\yiibaidb.sql。 请注意,运算符(>)表示导出。
步骤2
将d:\database_bak\yiibaidb.sql文件导入到yiibaidb_backup数据库。
C:\Users\Administrator> mysql -u root -p yiibaidb_backup < d:\database_bak\yiibaidb.sql
Enter password: **********
请注意,运算符(<)表示导入。
要验证导入,可以使用SHOW TABLES命令快速检查。
mysql> SHOW TABLES FROM yiibaidb_backup;
mysql复制表以及复制数据库的更多相关文章
- sql server 复制表从一个数据库到另一个数据库
sql server 复制表从一个数据库到另一个数据库 /*不同服务器数据库之间的数据操作*/ --创建链接服务器 exec sp_addlinkedserver 'ITSV ', ' ', 'SQL ...
- SQLSERVER 复制表--和复制有关的系统表
主数据库中的复制表 表名 说明 MSreplication_options 表存储供复制在内部使用的元数据. 此表存储在 master 数据库中. msdb 数据库中的复制表 表名 说明 MSagen ...
- oracle 复制表结构 复制表数据 sql 语句
1. 复制表结构及其数据: create table table_name_new as select * from table_name_old 2. 只复制表结构: create table ta ...
- mysql关联表的复制
1. 复制被参照的表: CREATE TABLE clone_product_1 LIKE product_1; INSERT INTO clone_product_1 SELECT * FROM p ...
- mysql建表和建数据库语句
一.数据库操作语言 数据库在操作时,需要使用专门的数据库操作规则和语法,这个语法就是 SQL(Structured Query Language) 结构化查询语言. SQL 的主要功能是和数据库建立连 ...
- mysql查看表使用的数据库引擎
看某个使用的引擎,在显示结果里参数engine后面的就表示该表当前用的存储引擎: mysql> show create table 表名; 看mysql支持哪些存储引擎: mysql> s ...
- 复制表结构和数据SQL语句(转)
http://www.cnblogs.com/zhengxu/articles/2206894.html 1.复制表结构及数据到新表 CREATE TABLE 新表 SELECT * FROM 旧表 ...
- 【MySQL】表的操作
" 目录 #. 表操作 1. 创建数据库 2. 进入指定库 3. 创建表 4. 添加记录 5. 查询表的数据和结构 /. 查指定表中的存储数据 /. 查指定表的结构 6. 复制表 /. 即复 ...
- Mysql数据库表的迁移和表的复制
同一台服务器上的,数据库之间的表的迁移: create table db.tablename as select * from db2.tablename; 此sql使用于mysql,从一台服务器上的 ...
随机推荐
- react组件生命
组件的生命周期主要由三个部分组成: Mounting:组件正在被插入DOM中 Updating:如果DOM需要更新,组件正在被重新渲染 Unmounting:组件从DOM中移除 React提供了方法, ...
- 广义线性模型(Generalized Linear Models)
在线性回归问题中,我们假设,而在分类问题中,我们假设,它们都是广义线性模型的例子,而广义线性模型就是把自变量的线性预测函数当作因变量的估计值.很多模型都是基于广义线性模型的,例如,传统的线性回归模型, ...
- Tkinter Relief styles(样式)
Tkinter Relief styles: 构件的浮雕式是指某些模拟的3-D周围的部件外的影响.下面是一排按钮的屏幕截图展示了所有可能的救济风格 构件的浮雕式是指某些模拟的3-D周围的部件外 ...
- 「小程序JAVA实战」小程序的组件(23)
转自:https://idig8.com/2018/08/11/xiaochengxu-chuji-23/ 开始了解下小程序的组件.源码:https://github.com/limingios/wx ...
- delphi IOS BLE 代理
代理方法 centralManagerDidUpdateState: peripheralManagerDidUpdateState:代理方法. centralManager:willRestoreS ...
- C++Primer笔记-----day04
1.函数指针.函数指针指向某种特定类型,函数的类型由它的返回类型和形参类型决定,与函数名无关.比如:bool lengthCompare(const string &,const string ...
- Elasticsearch-PHP 索引操作2
索引操作 索引在客户端非常容易.因为关联数组很容易转换为JSON文档,索引文档只是提供正确和结构性的关联数组和调用方法. 单文档索引 当你索引你个文档时,可以自己提供一个ID,也可以让elastics ...
- Linux实战教学笔记39:Mha-Atlas-MySQL高可用方案实践(一)
一,mysql-mha环境准备 1.1 实验环境: 主机名 IP地址(NAT) 描述 mysql-db01 eth0:192.168.0.51 系统:CentOS6.5(6.x都可以) 安装:mysq ...
- FreeSWITCH--配置代接电话
配置代接电话,需要更改 分机.拨号计划.外线 的配置 一.配置分机 代接组内分机的这个“组”, 不是“conf/directory/default.xml"中配置的 group,而是要在分机 ...
- Spring Data Solr操作solr的简单案例
Spring Data Solr简介 虽然支持任何编程语言的能力具有很大的市场价值,你可能感兴趣的问题是:我如何将Solr的应用集成到Spring中?可以,Spring Data Solr就是为了方便 ...