一、excel怎樣與數據庫進行連接并可以直接在excel中操作數據庫中的表
名列前茅種是用Excel自帶的獲取外部數據功能,第二種是用Excel VBA,第三種是用專業的第三方插件。
1、用Excel自帶的獲取外部數據功能連接Sql Server數據庫
點擊“數據”->“自其他來源”->“來自Sql Server”->填寫登錄信息->選擇數據庫和表->下一步->完成。
2、用Excel VBA連接Sql Server數據庫
點擊“工具”->“引用”添加以下引用:
Microsoft ActiveX Data Objects 2.8 Libary
Microsoft ActiveX Data Objects Records 2.8 Libary
Microsoft ADO Ext.2.8 For Dll and Security
Microsoft Forms 2.0 Object Libary
這樣我們就可以自己配置數據庫連接信息了
新建一個模塊專門用來寫數據庫的常用操作比如我們給這個模塊取名為Mdl_public,首先在這個模塊中定義以下幾個公共變量
Public cat As New ADOX.Catalog
Public Conn As New ADODB.Connection ‘定義數據鏈接對象 ,保存連接數據庫信息;請先添加ADO引用
Public rs As New ADODB.Recordset ‘定義記錄集對象,保存數據表
Public Strsql As String
‘打開數據庫連接
Public Sub OpenSql()
If Conn.State = 1 Then Conn.Close
If Conn.State = 0 Then
With ThisWorkbook.Sheets(“sys”)
Conn.Open “Provider=sqloledb;” & _
” Server=” & .Cells(1, 2).Value & _
“;Database=” & .Cells(2, 2).Value & _
“;Uid=” & .Cells(3, 2).Value & _
“;Pwd=” & .Cells(4, 2).Value & “;” ‘定義數據庫鏈接字符串
End With
End If
End Sub
‘關閉數據庫連接
Public Sub CloseConn()
rs.Close
Conn.Close
End Sub
通過以上方法就實現了Sql Server數據庫連接的打開和關閉
接下來,我們要使用連接查詢數據庫中的表,如下:
Sub View前二000Rows(TBName As String)
Strsql = “SELECT 前二000 * FROM ” & TBName
OpenSql ‘打開連接
rs.Open Strsql, Conn ‘使用連接
Cells.Clear
Dim i As Integer
For i = 0 To rs.Fields.Count – 1 ‘處理查詢結果
Cells(1, i + 1).Value = rs.Fields(i).Name
Next i
Cells(2, 1).CopyFromRecordset rs
CloseConn ‘關閉連接
End Sub
Sub Test()
Call View前二000Rows(“MSreplication_options”)
End Sub
這樣設計看上去有些繁瑣,但是當做比較大型的項目時這樣處理好處很多。名列前茅方便配置數據庫,第二常用的數據庫操作功能封裝起來方便調用。比如查詢數據庫要經歷三個步驟:1,打開連接(OpenSql) 2,執行查詢語句(rs.Open Strsql, Conn )3,關閉連接(CloseConn)
3、用SqlCel連接Sql Server數據庫
SqlCel連接數據庫非常方便。SqlCel不僅可以連接Sql Server數據庫,同時也可以連接Mysql、Oracle和文件夾。
延伸閱讀:
二、SQL是什么
Structured Query Language
‘SQL’是結構化查詢語言,是一種用來操作?RDBMS?的數據庫語言,當前關系型數據庫都支持使用SQL語言進行操作,也就是說可以通過?SQL?操作 oracle,sql server,mysql,sqlite 等等所有的關系型的數據庫
SQL語句主要分為:DQL:數據查詢語言,用于對數據進行查詢,如select**
DML:數據操作語言,對數據進行增加、修改、刪除,如insert、udpate、delete**
TPL:事務處理語言,對事務進行處理,包括begin transaction、commit、rollback
DCL:數據控制語言,進行授權與權限回收,如grant、revoke
DDL:數據定義語言,進行數據庫、表的管理等,如create、drop
CCL:指針控制語言,通過控制指針完成表的操作,如declare cursor對于web程序員來講,重點是數據的crud(增刪改查),必須熟練編寫DQL、DML,能夠編寫DDL完成數據庫、表的操作,其它語言如TPL、DCL、CCL了解即可SQL 是一門特殊的語言,專門用來操作關系數據庫不區分大小寫