使用select … into outfile导出数据
mysql> select * from paper
-> into outfile 'E:/paper.txt';
把paper表中的数据导出到E:/paper.txt中
下面是以某种格式导出表的数据
mysql> select * from paper into outfile 'E:/paper.txt'
-> fields terminated by ',' enclosed by '"'
-> lines terminated by '\r\n';
MySQL命令导出原始数据
mysqldump 是 mysql 用于转存储数据库的实用程序。它主要产生一个 SQL 脚本,其中包含从头重新创建数据库所必需的命令 CREATE TABLE INSERT 等。
C:\Users\fantasy>mysqldump -u root -p test paper > E:/backup.sql
Enter password: ****
导出test数据库的paper表,内容如下
--
-- Table structure for table `paper`
--
DROP TABLE IF EXISTS `paper`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `paper` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`numb` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `paper`
--
LOCK TABLES `paper` WRITE;
/*!40000 ALTER TABLE `paper` DISABLE KEYS */;
INSERT INTO `paper` VALUES (1,'路小路','13'),(2,'北小北','22');
/*!40000 ALTER TABLE `paper` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
也可以导出整个test数据库
C:\Users\fantasy>mysql -uroot -p test > E:/backup.sql
Enter password: ****
将指定主机的数据库备份到本地
如果你需要将远程服务器的数据拷贝到本地,你也可以在 mysqldump 命令中指定远程服务器的IP、端口及数据库名。
在源主机上执行以下命令,将数据备份到 dump.txt 文件中:
请确保两台服务器是相通的:
mysqldump -h 192.168.x.xx -P 3306 -u root -p test paper > dump.txt
password ****
MySQL命令导入数据
C:\Users\fantasy>mysql -uroot -p test < E:/backup.sql
Enter password: ****
就是说在test数据库下执行sql语句,就是导出paper的语句。
source命令导入
source 命令导入数据库需要先登录到数库终端:
mysql> create database abc; # 创建数据库
mysql> use abc; # 使用已创建的数据库
mysql> set names utf8; # 设置编码
mysql> source /home/abc/abc.sql # 导入备份数据库
使用 LOAD DATA 导入数据
MySQL 中提供了LOAD DATA INFILE语句来插入数据。 以下实例中将从当前目录中读取文件 dump.txt ,将该文件中的数据插入到当前数据库的 mytbl 表中。
mysql> LOAD DATA LOCAL INFILE ‘dump.txt’ INTO TABLE mytbl;