MySQL mysqldump表格不包含主键的方法

MySQL mysqldump表格不包含主键的方法

在使用MySQL mysqldump命令备份表格时,默认情况下会将主键也进行备份。但是在某些情况下,我们希望只备份表格中的数据而不包含主键。

阅读更多:MySQL 教程

方法一:不包含主键备份

使用–ignore-table选项,可以忽略某个表格中的内容,例如:

mysqldump -u root -p --ignore-table=mydatabase.mytable mydatabase > outfile.sql

在上述命令中,我们使用–ignore-table选项指定忽略mydatabase.mytable表格。

方法二:自定义输出字段

如果您希望包含表格中的所有内容,但是不包含主键,则可以自定义字段输出。例如,我们可以使用以下命令将表格数据导出到一个新文件中:

mysqldump -u root -p mydatabase mytable --no-create-info --skip-triggers --compact --order-by-primary --skip-add-locks | sed 's/^\(INSERT INTO `mytable` VALUES \).*/\1/' > outfile.sql

在上述命令中,我们使用–no-create-info选项注释掉了CREATE TABLE语句,使用–skip-triggers选项跳过了触发器,使用–compact选项使输出的语句更为简洁,使用–order-by-primary选项按照主键进行排序,使用–skip-add-locks选项跳过了加锁语句。

我们使用sed命令将INSERT语句的后半部分替换为空,从而去除了主键。

总结

无论是使用–ignore-table选项还是自定义输出字段,都可以在备份MySQL表格时去除主键。根据实际需要选择合适的方法。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程