mysql表之间的复制,同数据库和见仁见智数据库

发布时间:2019-04-01  栏目:NoSQL  评论:0 Comments

(壹)将旧表复制到新表

mysql表之间的复制,同数据库和见仁见智数据库

Mysql的语句

大家能够先把test下的t1表的结构导出来,然后新建立多少个test壹.t一表。

推行上边语句

insert into test1.t1 select * from test.t壹 limit 2 (limit限制条数)

如果在一个数据库中正是

insert into t1 select * from t2 limit 2

借使表结构不①致的两张表,能够思索、、参考上面包车型客车讲话

 

INSERT into db_ds_edu.t_exam_student(stu_id,stu_number,stu_name,school_id,campus_id,grade_id,class_id,xuebu_id) 
  SELECT stu.id 
     , stu.student_num 
    ,person.name 
     , stu.school_id 
     , stu.campus_id 
     , stu.grade_id 
     , stu.clas_id 
     , stu.xuebu_id 
FROM 
  db_ds.t_stu_info AS stu 
    ,db_ds.t_p_person_info as person 
    WHERE stu.person_id = person.id 

 

 

insert into test1.t1 select * from test.t1 limit 2

http://www.bkjia.com/Mysql/924603.htmlwww.bkjia.comtruehttp://www.bkjia.com/Mysql/924603.htmlTechArticlemysql表之间的复制,同数据库和不同数据库
Mysql的语句
我们得以先把test下的t一表的布局导出来,然后新建立一个test一.t一表。
执行上面语句…

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;

二、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;

 

(2)复制相同表结构

 

对此mysql的复制相同表结构方式,有create
table as 和create table like 三种

create table 新表 like
旧表;

create table 新表 as select
* from 旧表 limit 0;

两岸的分别:

 

as用来创造相同表结构并复制源表数据

like用来创设完整表结构和全方位索引

oracle帮忙as,也是唯有表结构未有索引
oracle不支持like。

(三)MySQL复制表到另2个数据库

访问分化数据库中的表:数据库名.表名 ,选择点
的花样。

有时候,您要将表复制到别的数据库。 在那种景色下,可应用以下语句:

  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

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

  1. INSERT testdb.offices

  2. SELECT *

  3. FROM yiibaidb.offices;

 

(4)MySQL数据库导入导出

1、使用mysqldump工具将数据库导出并转储到sql文件:mysqldump -u 用户名 -p 数据库名 > 导出的文书名  mysqldump -h IP -u 用户名 -p 数据库名 > 导出的文本名

二 :(导出某张表的表结构不含数据)
mysqldump -h localhost -u root -p -d test pollution >
G:\arcgisworkspace\zypdoc\test.sql
三:(导出某张表的表结构和数量,不加-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;

 

要复制1个MySQL数据库,您须求实施以下步骤:

  • 首先,使用CREATE
    DATABASE
    言语创设三个新的数据库。
  • 其次,使用mysqldump工具导出要复制的数据库的富有数据库对象和多少。
  • 其叁,将SQL转储文件导入新的数据库。

用作三个示范,假诺要把yiibaidb数据库复制到yiibaidb_backup数据库:

步骤1, 创建yiibaidb_backup数据库:

率先,登录到MySQL数据库服务器:

C:\Users\Administrator> 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:\Users\Administrator> mysqldump -u root -p yiibaidb > d:\database_bak\yiibaidb.sql

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

SQL

基本上,此命令提示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: **********

Shell

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

要表达导入,能够选择SHOW TABLES一声令下火速检查。

mysql> SHOW TABLES FROM yiibaidb_backup;

 

留下评论

网站地图xml地图