在前面的教訓(xùn),我們在我們的數(shù)據(jù)庫中創(chuàng)建一個(gè)表。我們現(xiàn)在有一個(gè)數(shù)據(jù)庫,一張表......但沒有數(shù)據(jù)。
獲取數(shù)據(jù)到數(shù)據(jù)庫有許多方式。以下是主要的方法:
這里是每個(gè)這些方法的更多細(xì)節(jié)介紹。
我們可以使用編輯前200行選項(xiàng)手動(dòng)直接輸入數(shù)據(jù)到表行。
手動(dòng)輸入的數(shù)據(jù)是確定的,如果數(shù)據(jù)一點(diǎn)點(diǎn)進(jìn)入。但它是一個(gè)有點(diǎn)笨重,可以不切實(shí)際,如果是大量的數(shù)據(jù)。 再加上它并沒有真正滿足大多數(shù)業(yè)務(wù)需求,其中非技術(shù)用戶需要能夠更新數(shù)據(jù)庫。
在任何情況下,這里顯示如何手工直接輸入數(shù)據(jù)到表:

需要注意的是在使用我們剛剛創(chuàng)建的表,我們并不需要輸入數(shù)據(jù)到TaskId 和dateCreated這兩列。 這是因?yàn)樗麄儗⒈蛔詣?dòng)填充(請記住,我們設(shè)置TASKID是唯一標(biāo)識并且dateCreated會以(GetDate()))填充。 無需為StatusId輸入任何東西,因?yàn)槲覀冞€沒有創(chuàng)建狀態(tài)表,再加上我們的表設(shè)計(jì)使該字段為空(我們選擇允許空值)。

可以通過從另一數(shù)據(jù)源復(fù)制并粘貼到數(shù)據(jù)庫表使用類似的方法,以上述內(nèi)容。當(dāng)然,這將需要在源表具有相同的列的目標(biāo)表。類似于上面的手動(dòng)方法中,這是行一個(gè)小數(shù)量的記錄,但不適合大量的記錄。
以下是如何復(fù)制/粘貼到表:

如果需要粘貼超過200行,單擊顯示SQL窗格圖標(biāo),從工具欄中顯示的SQL語句顯示后面200行。簡單地根據(jù)需要在200改變?yōu)樾械臄?shù)量較多。

需要注意的是,這種方式可在一定程度上,但你可能會遇到這么多數(shù)據(jù)傳輸需要執(zhí)行多次,或需要使用其他方法。
可以從另一個(gè)數(shù)據(jù)源導(dǎo)入數(shù)據(jù)。最終的結(jié)果是相似的拷貝/粘貼方法(即數(shù)據(jù)在到目標(biāo)數(shù)據(jù)庫中復(fù)制),但在導(dǎo)入數(shù)據(jù)更加靈活,可以更合適于許多場合。例如,您可以選擇從多個(gè)視圖和表中的數(shù)據(jù),可以寫一個(gè)查詢就可以導(dǎo)入需要的數(shù)據(jù)。
要導(dǎo)入數(shù)據(jù),在數(shù)據(jù)庫上單擊鼠標(biāo)右鍵,并選擇Tasks > Import Data... 并從那里按照向?qū)?zhí)行操作。
在SQL Server導(dǎo)入和導(dǎo)出向?qū)?shù)據(jù),可以將數(shù)據(jù)復(fù)制到并從其中一個(gè)托管的.NET Framework數(shù)據(jù)提供程序或本機(jī)OLE DB提供程序可用的任何數(shù)據(jù)源。這些包括:
您也可以從Windows開始菜單中啟動(dòng)SQL Server導(dǎo)入和導(dǎo)出向?qū)?,從?nèi)部SQL Server數(shù)據(jù)工具(SSDT),并通過在命令提示符(通過運(yùn)行DTSWizard.exe,你可能會找到在:C:Program FilesMicrosoft SQL Server100DTSBinn or inC:Program FilesMicrosoft SQL Server120DTSBinn 或其他位置,具體取決于您的配置和驅(qū)動(dòng)器盤符)。
在很多情況下,你會發(fā)現(xiàn)它更有效地運(yùn)行包含需要插入數(shù)據(jù)的SQL腳本。您可以使用SQL INSERT語句插入語句,指定數(shù)據(jù)。
SQL腳本是偉大的靜態(tài)插入/引用數(shù)據(jù)(如說,國家/地區(qū))。它們可以存儲并重新運(yùn)行需要它的任何時(shí)間(例如在另一數(shù)據(jù)庫)。腳本通常不進(jìn)行數(shù)據(jù)的不斷變化(如客戶詳細(xì)信息)那么好。你可能不會被保留過時(shí)的數(shù)據(jù)在一個(gè)副本的SQL腳本。但總有例外。例如,你可以使用這樣一個(gè)腳本來填充客戶表,用于測試/開發(fā)環(huán)境。
更多關(guān)于SQL腳本來了。
大多數(shù)的SQL Server數(shù)據(jù)庫后端數(shù)據(jù)存儲為一個(gè)前端應(yīng)用程序。該應(yīng)用程序的用戶負(fù)責(zé)將數(shù)據(jù)添加到數(shù)據(jù)庫(以編輯)。 因此,許多表中您的數(shù)據(jù)庫將通過應(yīng)用程序進(jìn)行更新。在這種情況下,應(yīng)用程序被更新是使用SQL腳本到數(shù)據(jù)庫。
這些腳本和那些我們上面討論的區(qū)別在于,在應(yīng)用程序正在使用的腳本將是動(dòng)態(tài)的。他們將接受數(shù)據(jù)作為傳遞給腳本的參數(shù)。因此,用戶可以輸入,電子郵件地址到應(yīng)用程序中,但他并不知情在應(yīng)用程序運(yùn)行的SQL腳本,需要他的電子郵件地址,驗(yàn)證它,把它添加到腳本,如果通過了所有的業(yè)務(wù)/驗(yàn)證規(guī)則,最后將其插入到數(shù)據(jù)庫中。
這些SQL腳本可以直接放置到您的網(wǎng)站的代碼(PHP,ColdFusion的等),也可以將它們存儲在數(shù)據(jù)庫中的存儲過程或視圖。
看到作為SQL腳本SQL服務(wù)器(以及大多數(shù)其他數(shù)據(jù)庫管理系統(tǒng)),這樣的一個(gè)組成部分,接下來我們將仔細(xì)看看SQL腳本。