1. 程式人生 > >mysqldump匯出sql中insert語句的問題

mysqldump匯出sql中insert語句的問題

今天有同事問,mysqldump怎麼樣才能夠將匯出的sql中,每條記錄對應一個insert語句,預設總是匯出一個長的insert語句,如下所示:
[[email protected] ~]$ mysqldump --compact  -uroot test t1> a
[[email protected] ~]$ more a
CREATE TABLE `t1` (
  `id` int(10) default NULL,
  UNIQUE KEY `idx_1` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=gbk;
INSERT INTO `t1` VALUES (1),(2),(3);


我們希望把匯出語句中的insert改為:
INSERT INTO `t1` VALUES (1);
INSERT INTO `t1` VALUES (2);
INSERT INTO `t1` VALUES (3);

這樣在不支援insert多值的資料庫中,可以很方便的進行遷移,其實方法很簡單,只需要加--extented-insert=false即可:
[[email protected] ~]$ mysqldump --compact --extended-insert=false -uroot test t1> a
[[email protected] ~]$ more a
CREATE TABLE `t1` (

  `id` int(10) default NULL,
  UNIQUE KEY `idx_1` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=gbk;
INSERT INTO `t1` VALUES (1);
INSERT INTO `t1` VALUES (2);
INSERT INTO `t1` VALUES (3);

我們從mysqldump中可以看到此引數的預設值為true:
[[email protected] ~]$ mysqldump --help|grep extended-insert
。。。。。。
extended-insert                   TRUE

相關推薦

mysqldump匯出sqlinsert語句的問題

今天有同事問,mysqldump怎麼樣才能夠將匯出的sql中,每條記錄對應一個insert語句,預設總是匯出一個長的insert語句,如下所示:[[email protected] ~]$ mysqldump --compact  -uroot test t1&g

mysqldump匯出多條insert語句

mysqldump 會匯出一條insert語句,雖說執行起來會快一些。但是遇到大表,很可能因為緩衝區過載而掛掉。 而且不容易閱讀   mysqldump --skip-opt這個引數,就可以匯出多條insert   mysqldump --skip-opt -uroot -p datab

解析SQL語句INSERT語句的另一種寫法

substr(hbs_bh,1,4)=’<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />5400’,優化處理:hbs_bh like ‘5400%’ trunc(sk_rq)=

SQLDQL語句:select * from tb_name為什麼不介意使用,而建議使用select 欄位1,欄位2...欄位n from tb_name

  首先,其實select 欄位1,欄位2...欄位N from tb_name語句是select * from tb_name的優化。  1、執行效率。做一個實驗 select top 10000 gid,fariqi,reader,title from tgo

SQLSELECT語句詳解

本篇文章講述SQL語句中的SELECT查詢語句,以供參考,如有錯誤或不當之處還望大神們告知。 簡單查詢SELECT-FROM 用於無條件查詢單張表中的行或列 假設有表如圖所示 查詢名字叫 ‘葉清逸’ 的記錄: select * from T

sqlwhile語句多層迴圈例項

while語句是SQL中最常見的迴圈語句之一,下面就將為您介紹sql中while語句多層迴圈的例項,供您參考,希望對您學習SQL中的迴圈語句能夠有所幫助。 DECLARE @Name nvarchar(20); DECLARE @Type varchar(20); DECL

SQLlike語句萬用字元、轉義符與括號的使用

https://blog.csdn.net/kpchen_0508/article/details/45167481 可以搜尋萬用字元字元。有兩種方法可指定平常用作萬用字元的字元: 使用 ESCAPE 關鍵字定義轉義符。在模式中,當轉義符置於萬用字元之前時,該萬用字

工作總結15 sqlinsert語句插入大量字串到oracle的clob欄位

    當通過insert語句直接插入大量字串(主要是html的內容),超過4000字元時候,就會報:ORA-01489: 字串連線的結果過長.    雖然欄位是clob,足以儲存,但是通過這種直接插

SQLDelete語句表名不能用別名?!

昨天發現程式中資料分析的結果不對,重新進行分析後,原資料仍在,有值的欄位被累計。心說,不對啊,是重新生成記錄後才分析的啊。難道忘了DELETE了?查程式碼,發現有刪除語句。於是在查詢分析器中執行,報錯。反覆試幾次,明白了,Delete From不認表名別名!回頭想下,當初程

SQLcase語句的執行

informix的sql中,無論case語句是在普通查詢語句中還是在儲存過程中,執行情況基本一致。通常情況下條件只符合一條當然沒有疑問。就以下兩種情況尤其是第一種情況需要注意。 1、在滿足條件的when子句存在多條的情況下,僅第一條有效,後面的都不執行; 2、在儲存過程的ca

如何將sqlserver表的資料匯出sql語句或生成insert into語句

drop proc proc_insert go create proc proc_insert (@tablename varchar(256)) as begin set nocount on declare @sqlstr varchar(4000) declare @sqlstr1 varchar(4

SQL server 資料庫匯出表裡所有資料成insert 語句

        將SQL server資料庫中的某張表裡的所有資料匯入到另外一個數據庫或另外一臺計算機上的資料庫,有這樣的一種方法: 下面我以sql server 2008 R2,資料庫是[test]資料庫為例。 目標:把[test]資料庫的 Test_T

MS sql insert語句需要字串轉日期的sql語句方法

0  Feb 22 2006 4:26PM  CONVERT(CHAR(19), CURRENT_TIMESTAMP, 0)  1  02/22/06  CONVERT(CHAR(8), CURRENT_TIMESTAMP, 1)  2  06.02.22  CONVER

Mac下Mysql匯出sql語句的方法及可能遇到的mysqldump: command not found

最近切換到了Mac os的開發平臺,於是乎自己又琢磨了一套方法 度娘了一下,尚無針對Mac的SQL語句匯出方法的介紹,在這裡與大家分享。 步驟一: 開啟Terminal,輸入mysqldum

pl/sql 匯出insert語句和pl/sql匯出表結構

1.先選擇你需要匯出的資料,然後選擇如圖所示按鈕; 2.點選之後會出先下拉框,選擇‘SQL file’; 3.點選之後會彈出一個對話方塊,讓你選擇檔案儲存位置,選擇位置,給檔案起名,點選儲存即可。 ---------------------------------

專案sql insert語句一定要規範寫

背景:公司專案並沒有特別大的專案,所以大部分專案沒有使用ORM框架。只是使用了簡單的sqlheper幫助類進行對業務資料的處理。在專案中一個webservice介面中,由於偷懶一個insert語句並沒有寫插入的列,只是按之前的資料結構順序插入欄位,等到後期資料欄位增加或修改

mysqldump匯出insert sql指令碼具有欄位名

mysqldump --single-transaction --default-character-set=gbk -uabc -pabc -t -w'id=170418406' database_name > id.sql-t是不增加create table建表和d

sqlin和exist語句的區別?(補充了left join和right join)

有用 表數 from 部分匹配 exist 循環 targe 從表 exists in和exists(摘錄自百度)in 是把外表和內表作hash 連接,而exists是對外表作loop循環,每次loop循環再對內表進行查詢。如果兩個表中一個較小,一個是大表,則子查詢表大的用

SQL的SELECT 簡單查詢語句總結

clas 識別 結果集 -i ear get int 一個 lec --scott用戶不能使用,使用system登錄--修改用戶scott賬戶解鎖ALTER USER SCOTT ACCOUNT UNLOCK;--重新設置密碼identified被識別的alter user

sql的 IF 條件語句的用法

expr book blank OS body strcmp subst stat literal IF 表達式 IF( expr1 , expr2 , expr3 ) expr1 的值為 TRUE,則返回值為 expr2 expr2 的值為FALSE,則返回值為 ex