发新话题
打印

MySQL导出导入命令的用例

MySQL导出导入命令的用例

  随着数据的增多,数据的备份显得日益重要,下面是mysql常用的数据导入导出命令。
  1.导出整个数据库
  格式:mysqldump -u 用户名 -p 数据库名 > 导出的文件名
  举例:
  Cocuments and SettingsOwner>mysql -u root -p
  Enter password:
  Welcome to the MySQL monitor.  Commands end with ; or g.
  Your MySQL connection id is 5 to server version: 5.0.7-beta-nt   Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql> use testdb
Database changed
mysql> select * from user;
+--------+----------+----------+---------------+
| userid | username | password | email     |
+--------+----------+----------+---------------+
|    1 | aaa    | aaa    | aaaa      |
|    2 | bbb    | bbbb   | bbbb@sina.com|
+--------+----------+----------+---------------+
2 rows in set (0.00 sec)
  
mysql> select * from user1;
+--------+----------+----------+---------------+
| userid | username | password | email     |
+--------+----------+----------+---------------+
|    1 | cccc   | cccc   | cccc      |
|    2 | cccc   | cccc   | cccc@sina.com|
+--------+----------+----------+---------------+
2 rows in set (0.00 sec)

  在mysql的bin目录里面执行如下命令
  C:MySQLMySQL Server 5.0bin>mysqldump -u root -p testdb > testdb.sql
  Enter password:
  C:MySQLMySQL Server 5.0bin>
  testdb.sql内容如下:
-- MySQL dump 10.10
--
-- Host: localhost   Database: testdb
-- ------------------------------------------------------
-- Server version 5.0.7-beta-nt
  
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO__ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
  
--
-- Table structure for table `user`
--
  
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `userid` int(11) NOT NULL,
  `username` varchar(20) NOT NULL,
  `password` varchar(50) NOT NULL,
  `email` varchar(50) default NULL,
  PRIMARY KEY  (`userid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  
--
-- Dumping data for table `user`
--
  
/*!40000 ALTER TABLE `user` DISABLE KEYS */;
LOCK TABLES `user` WRITE;
INSERT INTO `user` S (1,'aaa','aaa','aaaa'),(2,'bbb','bbbb','bbbb@sina.com');
UNLOCK TABLES;
/*!40000 ALTER TABLE `user` ENABLE KEYS */;
  
--
-- Table structure for table `user1`
--
  
DROP TABLE IF EXISTS `user1`;
CREATE TABLE `user1` (
  `userid` int(11) NOT NULL,
  `username` varchar(20) NOT NULL,
  `password` varchar(50) NOT NULL,
  `email` varchar(50) default NULL,
  PRIMARY KEY  (`userid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  
--
-- Dumping data for table `user1`
--
  
/*!40000 ALTER TABLE `user1` DISABLE KEYS */;
LOCK TABLES `user1` WRITE;
INSERT INTO `user1` S (1,'cccc','cccc','cccc'),(2,'cccc','cccc','cccc@sina.com');
UNLOCK TABLES;
/*!40000 ALTER TABLE `user1` ENABLE KEYS */;
  
/*!40101 SET SQL_MODE=@OLD_SQL_MODE*/;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS*/;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS*/;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT*/;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS*/;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION*/;
/*!40111 SET [email=SQL_NOTES=@OLD_SQL_NOTES*/]SQL_NOTES=@OLD_SQL_NOTES*/[/email];

  2.导出一个表
  格式:mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
  举例:表结构与上面的相同,命令如下:
  C:MySQLMySQL Server 5.0bin>mysqldump -u root -p testdb user > user.sql
  Enter password:
  C:MySQLMySQL Server 5.0bin>
  user.sql内容如下:
-- MySQL dump 10.10
--
-- Host: localhost   Database: testdb
-- ------------------------------------------------------
-- Server version 5.0.7-beta-nt
  
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO__ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
  
--
-- Table structure for table `user`
--
  
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `userid` int(11) NOT NULL,
  `username` varchar(20) NOT NULL,
  `password` varchar(50) NOT NULL,
  `email` varchar(50) default NULL,
  PRIMARY KEY  (`userid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  
--
-- Dumping data for table `user`
--
  
/*!40000 ALTER TABLE `user` DISABLE KEYS */;
LOCK TABLES `user` WRITE;
INSERT INTO `user` S (1,'aaa','aaa','aaaa'),(2,'bbb','bbbb','bbbb@sina.com');
UNLOCK TABLES;
/*!40000 ALTER TABLE `user` ENABLE KEYS */;
  
/*!40101 SET SQL_MODE=@OLD_SQL_MODE*/;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS*/;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS*/;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT*/;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS*/;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION*/;
/*!40111 SET [email=SQL_NOTES=@OLD_SQL_NOTES*/]SQL_NOTES=@OLD_SQL_NOTES*/[/email];

  3.导出一个数据库结构
  格式:mysqldump -u 用户名 -p -d --add-drop-table 数据库 > 导出的文件名
  说明:-d 选项表示没有数据    
  --add-drop-table 选项说明在每个create语句之前增加一个drop table
  举例:表结构与上面的相同
  C:MySQLMySQL Server 5.0bin>mysqldump -u root -p -d --add-drop-table testdb > testdbstruct.sql
  Enter password:
  C:MySQLMySQL Server 5.0bin>
  testdbstruct.sql内容如下:
-- MySQL dump 10.10
--
-- Host: localhost   Database: testdb
-- ------------------------------------------------------
-- Server version 5.0.7-beta-nt
  
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO__ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
  
--
-- Table structure for table `user`
--
  
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `userid` int(11) NOT NULL,
  `username` varchar(20) NOT NULL,
  `password` varchar(50) NOT NULL,
  `email` varchar(50) default NULL,
  PRIMARY KEY  (`userid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  
--
-- Table structure for table `user1`
--
  
DROP TABLE IF EXISTS `user1`;
CREATE TABLE `user1` (
  `userid` int(11) NOT NULL,
  `username` varchar(20) NOT NULL,
  `password` varchar(50) NOT NULL,
  `email` varchar(50) default NULL,
  PRIMARY KEY  (`userid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  
/*!40101 SET SQL_MODE=@OLD_SQL_MODE*/;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS*/;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS*/;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT*/;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS*/;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION*/;
/*!40111 SET [email=SQL_NOTES=@OLD_SQL_NOTES*/]SQL_NOTES=@OLD_SQL_NOTES*/[/email];

 4.导入数据库
  格式:常用source 命令
  进入mysql数据库控制台:
  C:MySQLMySQL Server 5.0bin>mysql -u root -p
  Enter password:
  Welcome to the MySQL monitor.  Commands end with ; or g.
  Your MySQL connection id is 10 to server version: 5.0.7-beta-nt
  Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
  mysql> use testdb;
  Database changed
  mysql> source testdb.sql;
  Query OK, 0 rows affected (0.05 sec)
  Query OK, 0 rows affected (0.00 sec)
  Query OK, 0 rows affected (0.00 sec)
  Query OK, 0 rows affected (0.00 sec)
  Query OK, 0 rows affected (0.00 sec)
  Query OK, 0 rows affected (0.00 sec)
  Query OK, 0 rows affected (0.00 sec)
  Query OK, 0 rows affected (0.00 sec)
  Query OK, 0 rows affected (0.13 sec)
  Query OK, 0 rows affected (0.10 sec)
  Query OK, 0 rows affected (0.01 sec)
  Query OK, 0 rows affected (0.00 sec)
  Query OK, 2 rows affected (0.04 sec)
  Records: 2  Duplicates: 0  Warnings: 0
  Query OK, 0 rows affected (0.00 sec)
  Query OK, 0 rows affected (0.00 sec)
  Query OK, 0 rows affected (0.03 sec)
  Query OK, 0 rows affected (0.09 sec)
  Query OK, 0 rows affected (0.00 sec)
  Query OK, 0 rows affected (0.01 sec)
  Query OK, 2 rows affected (0.03 sec)
  Records: 2  Duplicates: 0  Warnings: 0

  Query OK, 0 rows affected (0.00 sec)
  Query OK, 0 rows affected (0.00 sec)
  Query OK, 0 rows affected (0.01 sec)
  Query OK, 0 rows affected (0.00 sec)
  Query OK, 0 rows affected (0.00 sec)
  Query OK, 0 rows affected (0.00 sec)
  Query OK, 0 rows affected (0.00 sec)
  Query OK, 0 rows affected (0.00 sec)
  Query OK, 0 rows affected (0.00 sec)
  mysql>
  其中testdb.sql放在C:MySQLMySQL Server 5.0bin目录下,如果不在这个目录下则要指定路径
记住该记住的,忘记该忘记的。改变能改变的,接受不能改变的!

www.lihuasoft.net

TOP

发新话题