利用navicat匯出資料表結構和insert語句,navicatinsert
用了navicat一段時間了,發現navicat確實非常方便,可支援多種資料庫。以前一直覺得他的到處sql檔案比較麻煩,每個表都會產生一個sql檔案,不方便進行匯入操作。今天突然發現它也有批量到出成一個sql檔案的功能。
操作步驟
菜單 : 資料轉送
目標選擇,然後進行相應的設定後點擊開始。
怎用navicat怎匯出資料,sql語句,表結構
開啟navicat,然後開啟你要匯出的資料庫,右鍵,選擇轉儲sql檔案,即可!或者開啟資料庫,在頂部有個匯出嚮導,選擇匯出的東西即可!
資料庫以insert語句形式從表中匯出資料
既然有人提出用語句實現,那我們就用語句,我把她做成一個預存程序,在環境sql2005下測試通過,有一點說明:表中的欄位值不可為空,否則將返回一個空值:
第一步:--首先建立一張結果表,儲存要輸出的資料
create table out_data
(flag int,--標識
tb_name varchar(1000),--表名稱
insert_info varchar(8000))--插入的語句
第二步,建立預存程序:
create proc [dbo].[out_table_data]
@tb_name varchar(1000)--表名稱
as
declare @str varchar(8000),--存放欄位名稱
@insert_str varchar(8000),--存放處理結果串
@bl varchar(8000),--存放變數及其資料類型
@bl2 varchar(8000),--存放變數名稱
@bl3 varchar(8000),--資料類型
@bd varchar(1000),--引號使用開始
@bd2 varchar(1000),--引號使用結束
@sum_str varchar(8000),--存放賦值變數和欄位
@sum_str_column varchar(8000),--存放要提取的變數欄位
@j varchar(3000),--欄位個數
@i varchar(3000)--迴圈起始量
set @str=''
set @bl='declare '--聲明變數(保留中間的空格)
set @bl2=''
set @bl3=''
set @i=1
set @sum_str=''
set @sum_str_column=''
set @bd='''''''+'
set @bd2='+'''''''
--欄位個數
select @j=count(a.[name]) from syscolumns A inner join sysobjects B
on A.id = B.id and b.name = @tb_name
--自動定義變數放入串@bl中(case when c.[name] in('char','nchar','varchar','nvarchar') then '('+convert(varchar(500),a.length)+')' else '' end)
select @bl=@bl+'@'+a.[name]+' '+'varchar(8000)'+',' ,@bl3=@bl3+c.[name]+',' from syscolumns A inner join sysobjects B on A.id = B.id
inner join systypes c
on A.xtype=C.xusertype
and b.name = @tb_name
set @bl=left(@bl,len(@bl)-1)
--要查詢的表欄位......餘下全文>>