如何在mysql中导出sql表结构和数据?

时间:2013-06-12 06:54:44

标签: mysql backup

phpMyAdmin有一个名为 export 的功能。 它将导出表结构 及其数据。输出将是这样的:

--
-- Table structure for table `input`
--

CREATE TABLE IF NOT EXISTS `input` (
  `input_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `input_type` varchar(255) COLLATE utf8_general_ci DEFAULT NULL,
  PRIMARY KEY (`input_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci AUTO_INCREMENT=8 ;

--
-- Dumping data for table `input`
--

INSERT INTO `input` (`input_id`, `input_type`) VALUES(1, 'text');
INSERT INTO `input` (`input_id`, `input_type`) VALUES(3, 'textarea');
INSERT INTO `input` (`input_id`, `input_type`) VALUES(5, 'radio');
INSERT INTO `input` (`input_id`, `input_type`) VALUES(6, 'checkbox');
INSERT INTO `input` (`input_id`, `input_type`) VALUES(7, 'number');

根据我在本网站上的过去的问题,我了解到我可以导出我的表格结构 与SHOW CREATE TABLE

SHOW CREATE TABLE  `input`;

有没有办法导出数据,就像上面的例子一样?

3 个答案:

答案 0 :(得分:1)

你走了:

SELECT CONCAT(
    "INSERT INTO `input` (`input_id`, `input_type`) VALUES(",
    input_id,
    ", '",
    input_type,
    "');"
)
AS data
FROM input

答案 1 :(得分:0)

我们可以使用mysqldump仅生成插入命令(对于表中的所有条目),而不使用DB和Table创建命令。

mysqldump --no-create-db --no-create-info

对于其他选项,please look here

答案 2 :(得分:-1)

AFAIK,没有SQL语句可以让你生成类似的INSERTS。

但是,如果您正在寻找懒惰的自动处理,我猜您可以使用SELECT INTO OUTFILE转储数据,然后使用LOAD DATA INFILE重新加载。