它不会复制与表关联的其他数据库对象

作者: 官方时时彩app下载-数据库  发布:2019-10-21

(百尺竿头)将旧表复制到新表

1、CREATE TABLE新表 SELECT* FROM旧表;

该语句只是复制表结构以至数据,它不会复制与表关联的别的数据库对象,如索引,主键约束,外键约束,触发器等。

 

  1. CREATE TABLE if not exists new_table

  2. SELECT col1, col2, col3

  3. FROM

  4. existing_table

  5. WHERE

  6. conditions;

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复制表到另三个数据库

拜望分化数据库中的表:数据库名.表名 ,采取点 的格局。

突发性,您要将表复制到别的数据库。 在这里种气象下,可使用以下语句:

  1. CREATE TABLE destination_db.new_table

  2. LIKE source_db.existing_table;

  3.  

  4. INSERT destination_db.new_table

  5. SELECT *

  6. FROM source_db.existing_table;

SQL

切实流程:

  1. CREATE DATABASE IF NOT EXISTS testdb;

SQL

附带,通过将其布局从示例数据库(yiibaidb)中的offices表复制出来,在testdb中成立了offices表。

  1. CREATE TABLE testdb.offices LIKE yiibaidb.offices;

SQL

其三,大家将数据从yiibaidb.offices表复制到testdb.offices表中。

  1. INSERT testdb.offices

  2. SELECT *

  3. 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:arcgisworkspacezypdoctest.sql
3:(导出某张表的表结商谈数目,不加-d)
mysqldump -h 127.0.0.1 -u root -p test pollution > G:arcgisworkspacezypdoctest.sql
mysqldump-u root -p yiibaidb >d:database_bakyiibaidb.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:UsersAdministrator> mysql -u root -p
Enter password: **********

Shell

然后,使用CREATE DATABASE语句如下:

  1. CREATE DATABASE yiibaidb_backup;

SQL

第三,使用SHOW DATABASES指令验证:

  1. SHOW DATABASES

SQL

 

步骤2

 

使用mysqldump工具将数据库对象和数量转储到SQL文件中。

假若要将数据库对象和数据库转储到放在D:database_bak文本夹的SQL文件中,这里是以下命令:

  1. C:UsersAdministrator> mysqldump -u root -p yiibaidb > d:database_bakyiibaidb.sql

  2. Enter password: **********

SQL

基本上,此命令提醒mysqldump运用全数密码的root客商帐户登入到MySQL服务器,并将数据库对象和yiibaidb数据库的数目导出到d:database_bakyiibaidb.sql。 请注意,运算符(>)表示导出。

步骤2

d:database_bakyiibaidb.sql文本导入到yiibaidb_backup数据库。

C:UsersAdministrator> mysql -u root -p yiibaidb_backup < d:database_bakyiibaidb.sql
Enter password: **********

Shell

请注意,运算符(<)表示导入。

要证实导入,能够应用SHOW TABLES指令快速检查。

mysql> SHOW TABLES FROM yiibaidb_backup;

 

本文由时时彩平台发布于官方时时彩app下载-数据库,转载请注明出处:它不会复制与表关联的其他数据库对象

关键词:

上一篇:则无法查询出任何记录
下一篇:没有了