1
我可以查詢通過創建特定表:phpMyAdmin的出口數據庫創建腳本
SHOW CREATE TABLE `table_name`
如果我這樣做了所有的表,我可以通過運行收集SQL重建整個數據庫查詢。有沒有更簡單的方法來獲得表創建腳本,即sql導出文件,它只是通過使用CREATE
語句創建數據庫?
我可以查詢通過創建特定表:phpMyAdmin的出口數據庫創建腳本
SHOW CREATE TABLE `table_name`
如果我這樣做了所有的表,我可以通過運行收集SQL重建整個數據庫查詢。有沒有更簡單的方法來獲得表創建腳本,即sql導出文件,它只是通過使用CREATE
語句創建數據庫?
我會用mysqldump解決這個問題。這是一個隨MySQL提供的命令行工具。以下是文檔:https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html
您可以在命令提示符處運行它,而不是在phpMyAdmin中運行它。您必須能夠訪問與運行MySQL服務器的主機相同的shell環境,或者至少可以通過網絡訪問該主機。
例如:
mysqldump --no-data mydatabase mytable
的輸出效果:(。還有的說我忽略多個輸出)
--
-- Table structure for table `mytable`
--
DROP TABLE IF EXISTS `mytable`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `mytable` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`c1` int(11) DEFAULT NULL,
`c2` int(11) DEFAULT NULL,
`c3` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4;
您可以一次傾倒許多表的結構這種方式,以及視圖,觸發器,程序等等。
如果您不使用--no-data
,它還包括您轉儲的每個表中的數據。這使其成爲數據備份的有效工具。默認情況下,它會以很多INSERT
語句的形式轉儲數據。因此,就像CREATE TABLE語句可以重新創建數據庫的結構(如果您針對另一個MySQL實例運行它們),INSERT語句可以重新創建數據。
意外的聲明開始: (在位置0處的「mysqldump」附近) – user2340939
'mysqldump'是您運行的程序,而不是SQL語句。 –