Mysql的mysqldump和outfile

mysqldump

语法如下

[root@standby ~]# mysqldump -u root -p mysql > /tmp/mysql_20250326.sql
Enter password:
[root@standby ~]# ll /tmp/mysql_20250326.sql
-rw-r--r-- 1 root root 1208798 Mar 26 17:54 /tmp/mysql_20250326.sql

可以加-d参数来只备份表结构

[root@standby ~]# mysqldump -u root -p Y_S -d TEST_1  > /tmp/mysql_20250326.sql
Enter password:
[root@standby ~]# vi /tmp/mysql_20250326.sql

可以在库名后面加表名备份特定表

[root@standby ~]#  mysqldump -u root -p Y_S TEST_1 > /tmp/mysql_20250326.sql
Enter password:
[root@standby ~]# cat /tmp/mysql_20250326.sql

根据where条件导出

mysqldump -u root -p Y_S TEST_1 --where "id=1" > /tmp/mysql_20250326.sql

导入:
语法

mysql -u [用户名] -p [数据库名] < [导出的文件.sql]

删除TEST_1表

mysql> USE Y_S
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> SELECT * FROM TEST_1;
+------+-------+
| ID   | NAME  |
+------+-------+
|    1 | Mysql |
+------+-------+
1 row in set (0.00 sec)

mysql> DROP TABLE TEST_1;
Query OK, 0 rows affected (0.00 sec)

导入测试

 mysql -u root -p Y_S < /tmp/mysql_20250326.sql

查询结果

mysql> USE Y_S
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> SELECT * FROM TEST_1;
+------+
| ID   |
+------+
|    1 |
+------+
1 row in set (0.00 sec)

mysql> SELECT * FROM test_1;
Empty set (0.00 sec)

注意导出用mysqldump,导入用mysql
如果导出的是全备份文件,而导入时只想导入结构或者部分数据,则需要修改备份文件

还可以在导出时指定-B参数导出创建库的语句
测试:
先做个-B备份

mysqldump -u root -p y_s  -B  > /tmp/mysql_20250326.sql

然后删除y_s库

mysql> drop database y_s;
Query OK, 0 rows affected (0.00 sec)

再进行导入

mysql -u root -p  < /tmp/mysql_20250326.sql

outfile和load

语法:

SELECT * INTO OUTFILE '/path/to/output.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM [表名];

示例:
默认分隔符来导出

SELECT * INTO OUTFILE '/tmp/tables.csv' FROM TABLES;

指定分隔符来导出

SELECT * INTO OUTFILE '/tmp/tables.csv'
FIELDS TERMINATED BY '|' 
LINES TERMINATED BY '\n'
FROM tables;

outfile导出的数据需要用load导入:

LOAD DATA INFILE '/path/to/file.csv'
INTO TABLE [表名]
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"' 
LINES TERMINATED BY '\n';
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值