sql導出表結構
A. sqlserver怎麼導出表結構
在日常的開發過程中,經常需要導出某個資料庫中,某些表數據;或者,需要對某個表的結構,數據進行修改的時候,就需要在資料庫中導出表的sql結構,包括該表的建表語句和數據存儲語句!在這個時候,就可以利用本方法來操作!
http://jingyan..com/article/3ea51489e672be52e61bba80.html
B. sqlserver 用命令如何導入導出表結構和表數據
平常從SQLSERVER中進行導入導出時,我們利用SQLSERVER中自帶的DTS轉換工具即可,很方便。但有些特殊的用法需要用語句進行導入導出,工作中碰到這種情況,查了些資料,下面詳細介紹:
 一、從excel表導入到SQLSERVER use test go select * into test_table from OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;HDR=yes;database=c:\11.xls;','select * from [結果$]')   --1.通過Sql Server查詢分析器查詢D:\abc.xls 裡面表 sheet1  SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="D:\abc.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]  --2.如果表a存在,並且表a的結構與上一步的查詢的結構一樣 可以使用  insert into a SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="D:\abc.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]  --3.如果表a不存在,使用into a SELECT * into a FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="D:\abc.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]    說明:test_table為SQLSERVER資料庫中的表,11.xls是EXCEL表,[結果$]是EXCEL表中的工作表,注意寫法是工作表名加上$符號。 2從SQLSERVER資料庫中導出到EXCEL(一般用語句導庫是在應用程序中,利用各種語言實現,如果不做開發項目,用DTS就很好了,在 SQLSERVER查詢器中利用單條SQL語句實現導入導出不方便,類型轉換是個問題,不好解決) 第一種,無法導入欄位名:(excel表不存在,新建) EXEC   master..xp_cmdshell    'bcp   zhou.dbo.資料庫表名   out   "c:\test.xls"  /c   /S "伺服器名"   /U "用戶名"   -P "密碼" '  第二種,excel文件已存在,要手工把表欄位名填到excel文件中去,再執行下面: insert into OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,'Excel 8.0;HDR=YES;DATABASE=c:\文件名.xls',sheet1$) select * from 表名 第三種,想實現全自動轉欄位名和記錄,一條語句實現不了,要用到過程,當然如果要做一個自動轉換程序,用VB或者VC語言也可實現。 把下面的過程全拷入SQLSERVER查詢分析器,執行,生成一個過程,過程名為:p_exporttb,然後按應用例子執行過程就OK了,自 動導表  /*******************************/     if   exists   (select   *   from   dbo.sysobjects   where   id   =   object_id(N'[dbo].[p_exporttb]')   and   OBJECTPROPERTY(id,   N'IsProcere')   =   1)     drop   procere   [dbo].[p_exporttb]      GO            create   proc   p_exporttb      @sqlstr   varchar(8000),       --查詢語句,如果查詢語句中使用了order   by   ,請加上top   100   percent     @path   nvarchar(1000),       --文件存放目錄      @fname   nvarchar(250),       --文件名      @sheetname   varchar(250)=''     --要創建的工作表名,默認為文件名      as        declare   @err   int,@src   nvarchar(255),@desc   nvarchar(255),@out   int      declare   @obj   int,@constr   nvarchar(1000),@sql   varchar(8000),@fdlist   varchar(8000)          --參數檢測      if   isnull(@fname,'')=''   set   @fname='temp.xls'      if   isnull(@sheetname,'')=''   set   @sheetname=replace(@fname,'.','#')           --檢查文件是否已經存在      if   right(@path,1)<>'\'   set   @path=@path+'\'      create   table   #tb(a   bit,b   bit,c   bit)      set   @sql=@path+@fname      insert   into   #tb   exec   master..xp_fileexist   @sql           --資料庫創建語句      set   @sql=@path+@fname      if   exists(select   1   from   #tb   where   a=1)        set   @constr='DRIVER={Microsoft Excel Driver (*.xls)};DSN='''';READONLY=FALSE'                   +';CREATE_DB="'+@sql+'";DBQ='+@sql      else        set   @constr='Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties="Excel 8.0;HDR=YES'             +';DATABASE='+@sql+'"'           --連接資料庫      exec   @err=sp_oacreate   'adodb.connection',@obj   out      if   @err<>0   goto   lberr           exec   @err=sp_oamethod   @obj,'open',null,@constr      if   @err<>0   goto   lberr           --創建表的SQL      declare   @tbname   sysname      set   @tbname='##tmp_'+convert(varchar(38),newid())      set   @sql='select   *   into   ['+@tbname+']   from('+@sqlstr+')   a'     exec(@sql)           select   @sql='',@fdlist=''      select   @fdlist=@fdlist+',['+a.name+']'        ,@sql=@sql+',['+a.name+']   '          +case              when   b.name   like   '%char'              then   case   when   a.length>255   then   'memo'              else   'text('+cast(a.length   as   varchar)+')'   end            when   b.name   like   '%int'   or   b.name='bit'   then   'int'            when   b.name   like   '%datetime'   then   'datetime'            when   b.name   like   '%money'   then   'money'            when   b.name   like   '%text'   then   'memo'            else   b.name   end      FROM   tempdb..syscolumns   a   left   join   tempdb..systypes   b   on   a.xtype=b.xusertype     where   b.name   not   in('image','uniqueidentifier','sql_variant','varbinary','binary','timestamp')       and   a.id=(select   id   from   tempdb..sysobjects   where   name=@tbname)           if   @@rowcount=0   return           select   @sql='create   table   ['+@sheetname        +']('+substring(@sql,2,8000)+')'        ,@fdlist=substring(@fdlist,2,8000)           exec   @err=sp_oamethod   @obj,'execute',@out   out,@sql      if   @err<>0   goto   lberr           exec   @err=sp_oadestroy   @obj           --導入數據      set   @sql='openrowset(''MICROSOFT.JET.OLEDB.4.0'',''Excel 8.0;HDR=YES            ;DATABASE='+@path+@fname+''',['+@sheetname+'$])'           exec('insert   into   '+@sql+'('+@fdlist+')   select   '+@fdlist+'   from   ['+@tbname+']')          set   @sql='drop   table   ['+@tbname+']'      exec(@sql)      return           lberr:        exec   sp_oageterrorinfo   0,@src   out,@desc   out      lbexit:        select   cast(@err   as   varbinary(4))   as   錯誤號          ,@src   as   錯誤源,@desc   as   錯誤描述        select   @sql,@constr,@fdlist      go    /*******************應用例子***************************/     p_exporttb   @sqlstr='select   *   from   貸款大戶表'          ,@path='c:\',@fname='aa.xls',@sheetname='貸款大戶表'
C. PLSQL怎樣導出oracle表結構
PLSQL導出oracle表結構的具體步驟如下:
我們需要准備的材料分別是:電腦、PL/SQL Developer軟體。
1、首先我們打開需要編輯的oracle資料庫,點擊打開「tools」。

D. PLSQL怎樣導出表結構
點擊Tools--Export User Objects
這種方式可以導出當前用戶擁有的所有對象,包括表、視圖、觸發器、同義詞等等,對於表,只能導出表結構(建表語句),不能導出數據,
選中要導出的對象,設置好導出的路徑和各個參數後,點擊Export就OK
PS:1)這種方式還可以導出其他用戶的對象,在下面user下拉框中選擇要用戶就可以,默認是系統當前登錄用戶
2)這種方式導出的文件都是建立對象的sql語句,所以導出的文件名要麼不寫擴展名,系統會自動加上.sql,要麼就顯示的寫上xxx.sql,最好不要寫成其它格式的,例如dmp,因為文件不是dmp格式的,無法用imp導入
如果想將表中數據一起導出,可用Tools--Export Tables,這種方式導出的文件,本身就帶著創建表結構的sql語句
選中要導出的表(可選多個),導出方式有三種:
Oracle Export,Sql Insert,pl/sql developer
第一種是導出為.dmp的文件格式,.dmp文件是二進制的,可以跨平台,還能包含許可權,效率也很不錯,用得最廣
第二種是導出為.sql文件的,可用文本編輯器查看,通用性比較好,但效率不如第一種,適合小數據量導入導出。尤其注意的是表中不能有大欄位(blob,clob),如果有,會提示不能導出,可以用第一種和第三種方式導出。
第三種是導出為.pde格式的,.pde為Pl/sql developer自有的文件格式,只能用Pl/sql developer自己導入導出;不能用編輯器查看,效率不知道怎麼樣
PS:只有「Oracle Export」方式導出再導入後,表結構和索引結構沒有發生變化,另兩種方式都改變了索引類型。
導入的情況和導出一樣
E. sql如何導出表結構
pl/sql::new->sql
window
輸入查詢表,右鍵
view
general選項面板右下角有個
(view
sql
)按鈕點一下就看到表結構語句了,希望能對你有幫助
:)
F. 如何把整個資料庫表結構導出成.sql文件
每個資料庫系統都不太一樣的,你得具體一下你用的是什麼資料庫系統。
G. 怎麼把SQL Server 的表結構導出
方法1:SQL Server 2008 自帶的導出功能 「任務 → 生成腳本」
1
打開sql server 2008 後,選擇你要導出的資料庫
2
在資料庫上右擊,選擇【任務】→【生成腳本】
3
進入簡介頁面,直接點擊【下一步】就可以了
4
選擇對象頁面,可以選擇導出整個資料庫的腳本,或者其中的部分表,很靈活
5
進入設置腳本選項,首先把導出的路徑選擇好
防止一會兒忘記設置路徑,找不到導去哪裡了
然後點擊【高級】
6
在高級選項頁面,在左側找到【要編寫腳本的數據類型】,然後在右側的下拉框中選擇【架構和數據】
這一步操作千萬不要忘記了!除非你不想要數據,只要表的結構。
之後回到編寫選項的頁面,點擊【下一步】
7
要摘要頁面,可以做個簡單的檢查,看前面的選擇是不是您想要的
檢查無誤,點擊【下一步】,開始執行
8
好了,導出成功啦  \(^o^)/
快快去你設置的路徑找腳本吧
END
方法2:動軟代碼生成器
1
打開動軟代碼生成器,並連接上數據數
2
點擊右側的【資料庫腳本生成器】
3
選擇你要導出的資料庫
4
選擇保存的路徑和名字,然後選擇要導出的表,可以選擇全部表或部分表
設置好後,點擊【生成】
5
OK啦,是不是 So Easy
H. sql developer 怎樣導出表結構
sql developer > 工具 > 導出表 >勾選創建表>導出即可
導出表建表語句已經表記錄則使用導出用戶對象。
對於導數據,若數據過大,建議使用imp
I. mssql如何導出表結構
導出的時候有個選擇的,僅結構 和 結構+數據,選擇僅結構就好了
J. SQL怎麼批量導出表結構--包括主鍵、索引、默認值、規則等
select into不會創建索引、約束等,唯一一個結構是可以創建標識列
要用select into完全復製表結構是行不通的
