导入数据的两种方式
第一种:
在MySQL中,可以使用LOAD DATA 语句将文本文件数据导入到对应的数据库表中,可以将LOAD DATA 语句看成是SELECT … INTO OUTFILE的反向操作。
示例:
load data infile ‘D:\employee.txt’ into table employee character set utf8
fields terminated by ‘,’
enclosed by ‘"’
lines terminated by ‘\r\n’;
实操:
1.先删原有的employee表
mysql> delete from employee;
Query OK, 13 rows affected (1.00 sec)
2.load data
load data infile 'C:\\ProgramData\\MySQL\\MySQL Server 8.0\\Uploads\\employee.txt' into table employee character set utf8
fields terminated by ','
enclosed by '"'
lines terminated by '\r\n';
显示如下:
mysql> load data infile 'C:\\ProgramData\\MySQL\\MySQL Server 8.0\\Uploads\\employee.txt' into table employee character set utf8
-> fields terminated by ','
-> enclosed by '"'
-> lines terminated by '\r\n';
Query OK, 13 rows affected, 1 warning (0.50 sec)
Records: 13 Deleted: 0 Skipped: 0 Warnings: 1
3.查看表格,可以发现数据已经导入
mysql> select * from employee;
+----+--------+------+--------+-------+
| id | name | sex | salary | dept |
+----+--------+------+--------+-------+
| 1 | 张三 | 男 | 5500 | 部门A |
| 2 | 李洁 | 女 | 4500 | 部门C |
| 3 | 李小梅 | 女 | 4200 | 部门A |
| 4 | 欧阳辉 | 男 | 7500 | 部门C |
| 5 | 李芳 | 女 | 8500 | 部门A |
| 6 | 张江 | 男 | 6800 | 部门A |
| 7 | 李四 | 男 | 12000 | 部门B |
| 8 | 王五 | 男 | 3500 | 部门B |
| 9 | 马小龙 | 男 | 6000 | 部门A |
| 10 | 龙五 | 男 | 8000 | 部门B |
| 11 | 冯小芳 | 女 | 10000 | 部门C |
| 12 | 马小花 | 女 | 4000 | 部门B |
| 13 | 墨菲 | 男 | 8800 | 部门A |
+----+--------+------+--------+-------+
13 rows in set (0.08 sec)
第二种
使用【source】命令
在MySQL中,可以使用source命令导入较大的【SQL文件】,source命令可以导入使用
mysqldump备份的sql文件.需要进入数据库进行使用,use mydb。
#source命令使用示例
source d:/mydb.sql
实操:
1.创建一个数据库,用于测试导入数据
mysql> create database testdb;
Query OK, 1 row affected (0.46 sec)
2.切换数据库
mysql> use testdb;
Database changed
3.source导入
source e:mydb_without_test_user.sql
总结:
通过select into outfile导出,通过load data infile导入
通过mysqldump导出,通过source 导入