导出sql文件
首先进入mysql的命令行模式
mysql -u root -p123456;
然后建立表以及插入数据
mysql> create table teacher(id int primary key ,name varchar(20),age int)engine=innodb;
Query OK, 0 rows affected (0.02 sec)
mysql> show tables;
+-------------------+
| Tables_in_student |
+-------------------+
| student |
| teacher |
+-------------------+
2 rows in set (0.00 sec)
mysql> insert into teacher values (1,"zhang",23);
Query OK, 1 row affected (0.01 sec)
mysql> insert into teacher values (2,"chen",21);
Query OK, 1 row affected (0.01 sec)
mysql> insert into teacher values (3,"wang",24);
Query OK, 1 row affected (0.00 sec)
mysql> insert into teacher values (4,"lu",26);
Query OK, 1 row affected (0.00 sec)
然后在linux终端执行下面这条语句,将student数据库里面的全部内容导出到teacher.sql文件中
格式为mysqldump -u root -p123456 数据库名>任意文件名.sql
mysqldump -u root -p123456 student>teacher.sql
这里student数据库中只有一张表,teacher表,因此teacher.sql里面只有一张表的信息,如下所示
如果在student数据库里面再创建一张表
mysql> create table student(id int primary key,name varchar(20));
Query OK, 0 rows affected (0.01 sec)
mysql> insert into student values (1001,"ding");
Query OK, 1 row affected (0.00 sec)
mysql> insert into student values (1002,"jiang");
Query OK, 1 row affected (0.01 sec)
删掉之前的teacher.sql,重新导出
因此如果只指定一个数据库的名字就是把整个数据库导出,而且之前的导出语句也没有给定输出路径,因此要具体导出数据库的一张表到指定路径应该这么写
mysqldump -u root -p123456 student teacher>/usr/local/soft/data/teacher.sql
这样就单独将teacher表导出为sql文件了
导入sql文件
先在mysql里面把上面创建的teacher表删除
drop table teacher;
然后将之前的teacher.sql文件导入mysql数据库里面
在mysql命令行里面输入下面的指令
source /usr/local/data/teacher.sql
导入成功,自动创建了teacher表并且加载了数据
当然也可以在linux终端进行导入
mysql -u root -p123456 student</usr/local/data/teacher.sql
同样导入数据成功