(风度翩翩)将旧表复制到新表
mysql表之间的复制,同数据库和区别数据库
Mysql的语句
咱俩得以先把test下的t1表的结构导出来,然后新创制二个test1.t1表。
实行上边语句
insert into test1.t1 select * from test.t1 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下的t1表的结构导出来,然后新确立二个test1.t1表。
执行下边语句…
1、CREATE
TABLE新表
SELECT*
FROM旧表;
该语句只是复制表结构以致数据,它不会复制与表关联的其他数据库对象,如索引,主键节制,外键限制,触发器等。
-
CREATE TABLE if not exists new_table
-
SELECT col1, col2, col3
-
FROM
-
existing_table
-
WHERE
-
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复制表到另叁个数据库
拜候分化数据库中的表:数据库名.表名 ,接收点
的样式。
有时候,您要将表复制到任何数据库。 在此种景色下,可接收以下语句:
-
CREATE TABLE destination_db.new_table
-
LIKE source_db.existing_table;
-
-
INSERT destination_db.new_table
-
SELECT *
-
FROM source_db.existing_table;
SQL
现实流程:
-
CREATE DATABASE IF NOT EXISTS testdb;
SQL
其次,通过将其布局从示例数据库(yiibaidb
)中的offices
表复制出来,在testdb
中开创了offices
表。
-
CREATE TABLE testdb.offices LIKE yiibaidb.offices;
SQL
其三,我们将数据从yiibaidb.offices
表复制到testdb.offices
表中。
-
INSERT testdb.offices
-
SELECT *
-
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: **********
Shell
然后,使用CREATE DATABASE
语句如下:
-
CREATE DATABASE yiibaidb_backup;
SQL
第三,使用SHOW
DATABASES指令验证:
-
SHOW DATABASES
SQL
步骤2
使用mysqldump
工具将数据库对象和多少转储到SQL文件中。
生龙活虎经要将数据库对象和数据库转储到放在D:\database_bak
文本夹的SQL文件中,这里是以下命令:
-
C:\Users\Administrator> mysqldump -u root -p yiibaidb > d:\database_bak\yiibaidb.sql
-
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;