mysql 语句的使用清库数据转移

mysql清空数据库表

方法1:重建库和表
用mysqldump --no-data把建表SQL导出来,而后drop database再create database,执行一下导出的SQL文件;mysql

方法2:生成清空全部表的SQLweb

select CONCAT('TRUNCATE TABLE ',table_name,';') from information_schema.tables where TABLE_SCHEMA = 'db1'sql

导出到文件
select CONCAT('TRUNCATE TABLE ',table_name,';') into outfile '/website/truncatetable.sql' from information_schema.tables where TABLE_SCHEMA = 'db1'数据库

清空数据库表而且重置自动增加列的值为0:
TRUNCATE TABLE TableName
 仅仅清空数据库表:
DELETE FROM TableName

mysql中把一个表的数据批量转移到另外一个表中

类别1、 若是两张张表(导出表和目标表)的字段一致,而且但愿插入所有数据,能够用这种方法:(此方法只适合导出两表在同一database)
 
INSERT INTO 目标表 SELECT * FROM 来源表;
例如,要将 articles 表插入到 newArticles 表中,则能够经过以下SQL语句实现:
 
INSERT INTO newArticles SELECT * FROM articles;
类别2、 若是只但愿导入指定字段,能够用这种方法:
 INSERT INTO 目标表 (字段1, 字段2, ...) SELECT 字段1, 字段2, ... FROM 来源表;
请注意以上两表的字段必须一致(字段类型),不然会出现数据转换错误。
 
一、跨服务器复制表中数据
insert into openrowset('sqloledb','localhost';'sa';'123',Test.dbo.Table_B) 
select * from Test.dbo.Table_A 
 
//启用Ad Hoc Distributed Queries:
 
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure 
 
//使用完成后,关闭Ad Hoc Distributed Queries:
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure
 
二、//不跨服务器
insert into dbo.Table_B) select * from dbo.Table_A 
将表名和数据库链接字符串用代码拼接好 而后执行上述您须要的sql语句 程序功能便可完成
 

如何将一个mysql数据库中的一个表导入到另外一个mysql数据库中

db1为原数据库,db2为要导出到的数据库,fromtable 是要导出的表名

1.方法一:
  登陆导出到的数据库,执行
  create table fromtable select * from db1.fromtable;
2.方法二:
  在cmd下执行,mysqldump -u root -p db1 fromtable file=d:/fromtable.sql; 输入秘密,root为用户名
  登陆db2 执行 source d:/fromtable.sql;
3.方法三:
  登陆db1 执行 select * from fromtable into outfile "d:/fromtable .txt"; 导出纯数据格式
  登陆db2 执行 load   data   infile   d:/fromtable .txt   into   table   fromtable; 须要先建一张和原表结构同样的空表。
4.建一个odbc链接,先导出到access中,再导出到另外一个库中。
相关文章
相关标签/搜索