mysql复制表以致复制数据库

(意气风发卡塔 尔(英语:State of Qatar)将旧表复制到新表

正文给大家享用了一些种复制表结构、表数据的示范介绍,具体实际情况请看下文吧。

CREATE TABLE EMP1 AS SELECT * FROM EMP WHERE EMPNO=1

0、复制表结构及数量到新表
CREATE TABLE 新表 SELECT * FROM 旧表
这种方法会将oldtable中具备的剧情都拷贝过来,当然大家得以用delete from
newtable;来删除。
只是这种格局的三个最不好的地点就是新表中从未了旧表的primary
key、Extra(auto_increment卡塔 尔(阿拉伯语:قطر‎等属性。必要团结用"alter"增添,并且轻易搞错。

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

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

SELECT * INTO NEW_TABLE FROM EMP WHERE EMPNO=1   (IF NEW_TABLE IS EXIST ) 

 

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

CREATE TABLE 新表SELECT * FROM 旧表

 

 

 

这种方法会将oldtable中具备的剧情都拷贝过来,当然大家得以用delete from
newtable;来删除。

1.create database name; //创制数据库 (create 内部命令)


  1. CREATE TABLE if not exists new_table

  2. SELECT col1, col2, col3

  3. FROM

  4. existing_table

  5. WHERE

  6. conditions;

只是这种措施的几个最不佳之处就是新表中从未了旧表的primary
key、Extra(auto_increment卡塔 尔(英语:State of Qatar)等本性。须要和睦用”alter”增加,何况便于搞错。

  mysql>create  database  ;

 

2、MySQL 数据库不帮衬 SELECT … INTO
语句,但帮衬 INSERT INTO …
SELECT 

2、只复制表结构到新表

2.use databasename; //采取数据库 (use内部命令)

 

当中在采取select
 into 语句与insert into select
语句时,新表要超前营造,而且新表与旧表的字段属性要后生可畏致才得以。

CREATE TABLE 新表SELECT * FROM 旧表WHERE 1=2

  mysql>use  ;

 

create
table 新表 like 旧表;

或CREATE TABLE 新表LIKE 旧表

3.drop database name; //直接删除数据库,不晋升 (drop内部命令)

1、只复制表结构到新表
CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2
或CREATE TABLE 新表  LIKE 旧表

新表构建现在才足以动用上边包车型大巴七个语句:

3、复制旧表的数量到新表(假使四个表结构相通)

  mysql>drop  database  ;

create table score_youxiu select * from score where grade >90;

SELECT * INTO 新表   FROM  旧表;

INSERT INTO 新表SELECT * FROM 旧表

4.drop table name; // 间接删除表

//复制表的一些剧情

INSERT INTO  新表  SELECT * FROM  旧表;

4、复制旧表的数量到新表(若是五个表结构不相像)

  mysql>drop  table  ;

create table score_youxiu select * from score where id%4=0;

只复制希望的列插入到另两个已存在的表中:

INSERT INTO 新表(字段1,字段2,…….) SELECT 字段1,字段2,…… FROM
旧表

5.create table name; //创建表

//应用:分表办法(按专门的工作供给,取模(id%4卡塔 尔(阿拉伯语:قطر‎,取偏移量卡塔尔

INSERT INTO  新表  (column_name(s))
 SELECT   column_name(s)  FROM  旧表;

5、可以将表1构造复制到表2

  mysql>create  table  ;

 

实例:INSERT INTO Websites (name,
country) SELECT
app_name, country FROM
apps;

SELECT * INTO 表2 FROM 表1 WHERE 1=2

      **前提是先mysql>use;


 

6、能够将表1剧情总体复制到表2

6.show databases;//展现全体数据库

 

(二卡塔尔复制相像表结构

SELECT * INTO 表2 FROM 表1

  mysql>show  databases;

 

 

7、 show create table 旧表;

7.show tables; //显示数据库中的表 (show内部命令)

 

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

那样会将旧表的成立命令列出。大家只要求将该命令拷贝出来,校勘table的名字,就能够建设构造多少个截然风流洒脱致的表

  mysql>show  tables;

2、复制旧表的数码到新表(要是五个表结构雷同)
INSERT INTO 新表 SELECT * FROM 旧表

create table 新表 like
旧表;

8、mysqldump

      **提前是先mysql>use;

 

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

用mysqldump将表dump出来,改名字后再导回去或许直接在指令行中运维

8.describe tablename; //展现表的详细描述

 

多头的差异:

9、复制旧数据库到新数据库(复制全体表结构况兼复制全体表数据卡塔 尔(英语:State of Qatar)

  mysql>describe ;


 

#mysql -u root -ppassword
>CREATE DATABASE new_db;
#mysqldump old_db -u root -ppassword–skip-extended-insert
–add-drop-table | mysql new_db -u root -ppassword

9.select version(),current_date; //显示当前mysql版本和当下日子

 

as用来创设雷同表结构并复制源表数据

10、表不在同生机勃勃数据库中(如,db1 table1, db2 table2)
sql: insert into db1.table1 select * from db2.table2 (完全复制)
insert into db1.table1 select distinct * from
db2.table2(不复制重复纪录卡塔 尔(英语:State of Qatar)
insert into tdb1.able1 select top 5 * from db2.table2
(前五条纪录)以上内容正是本文的整整描述,希望大家爱怜。

  mysql>select  version(), current_date;

 

like用来创立完整表结商谈全路索引

您或者感兴趣的随笔:

  • MYSQL METADATA LOCK(MDL
    LOCK)MDL锁难题深入分析
  • mysql中复制表结构的措施小结
  • MySQL复制表结谈判内容到另一张表中的SQL语句
  • MySQL校勘表结构操作命令计算
  • Navicat for
    MySQL导出表结构脚本的粗略方法
  • MySQL优化之表结构优化的5大建议(数据类型采取讲的很好卡塔尔国
  • mysql纠正表结构情势实例详整
  • MySQL中期维修正表结构时要求小心的一些地点
  • MySQL数据源表结构图示
  • MySQL表结构改造你不可不知的Metadata
    Lock详细解释

  mysql>select  version(),

3、复制旧表的多少到新表(假使五个表结构不均等)
INSERT INTO 新表(字段1,字段2,…….) SELECT 字段1,字段2,…… FROM
旧表

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

      ->current_date;

insert into ss (id,stu_id) select id,stu_id from score;

(三卡塔 尔(英语:State of Qatar)MySQL复制表到另多少个数据库

  **select 内部命令 

insert into score3 (id,stu_id,c_name) select id,stu_id,c_name from score;

访谈不一样数据库中的表:数据库名.表名 ,接受点
的样式。

10.mysql>flush privileges ; //刷新数据库

 

有时,您要将表复制到别的数据库。 在这种情况下,可应用以下语句:

11.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;

 11.1 update //修改

 

SQL

       shell>mysql -u root -p

 

现实流程:

     mysql> update mysql.user set password=PASSWORD(’新密码’) where
User=’root’;

4、可以将表1结构复制到表2
SELECT * INTO 表2 FROM 表1 WHERE
1=2

  1. CREATE DATABASE IF NOT EXISTS testdb;

     mysql> flush privileges;

 

SQL

     mysql> quit


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

 11.2 mysqladmin//改善客商密码

 

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

     shell>mysqladmin -u root password new_password

 

SQL

 11.3 本人测验未经过

5、能够将表1内容总体复制到表2
SELECT * INTO 表2 FROM 表1

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

     shell>mysql -u root -p

 

  1. INSERT testdb.offices

  2. SELECT *

  3. FROM yiibaidb.offices;

    mysql>SET PASSWORD FOR root=PASSWORD(“root”);


 

12.创建帐号

 

(四卡塔 尔(阿拉伯语:قطر‎MySQL数据库导入导出

  mysql> grant all(delete,updatae,create,drop,insert) privileges on
*.* to @localhost identified  by  ;

 

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: **********

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;

13.重命名表:

6、show create table 旧表;
如此那般会将旧表的创造命令列出。我们只供给将该命令拷贝出来,改正table的名字,就足以成立贰个一心平等的表

 

  mysql > alter table   rename  ; //把表t1重命名称为t2

 

14.备份数据库


 14.1 导出一切数据库

 

          mysqldump -u 顾客名 -p 数据库名 > 导出的文件名

 

        mysqldump -u root -p asb >d:\asb.sql

7、mysqldump
用mysqldump将表dump出来,改名字后再导回去或然直接在指令行中运营

 

 

 14.2 导出三个表


    mysqldump -u 客户名 -p 数据库名 表名> 导出的文书名

 

mysqldump -u root -p asb yg>d:\yg.sql

 

 

8、复制旧数据库到新数据库(复制全体表结构并且复制整体表数据卡塔尔

 14.3 导出三个数据库结构

#mysql -u root -ppassword
>CREATE DATABASE new_db;
#mysqldump old_db -u root -ppassword–skip-extended-insert
–add-drop-table | mysql new_db -u root -ppassword

mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc
>d:\wcnc_db.sql

 

// (-d 未有数据 –add-drop-table 在各种create语句在此之前增加叁个drop table)


  mysqldump mysqladmin外部命令

 

 

 

 14.4 导入数据库

9、表不在同黄金年代数据库中(如,db1 table1,  db2 table2)
sql: insert into db1.table1 select * from db2.table2 (完全复制)
     insert into db1.table1 select distinct * from
db2.table2(不复制重复纪录卡塔尔
     insert into tdb1.able1 select top 5 * from   db2.table2
(前五条纪录) 

  /*用source 命令

 

  */步入mysql数据库调控台,先成立数据库,use数据库


  mysql -u root -p

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注