sql server示例

任務

運行在微軟官網指引的sql server的數據示例

解決報錯,根據提示設置爲sqlcmd模式

Open the script inside SQL Server Management Studio and enable SQLCMD mode.

  • This option is in the Query menu.

sqlcmd

創建表

CREATE TABLE [dbo].[DimCurrency](
	[CurrencyKey] [int] IDENTITY(1,1) NOT NULL,
	[CurrencyAlternateKey] [nchar](3) NOT NULL,
	[CurrencyName] [nvarchar](50) NOT NULL
) ON [PRIMARY];
GO

dbo

dbo架構

數據類型

  1. nchar 與 nvarchar
    是unicode字符數據格式,百度百科,分別與charvarchar類似。

    unicode 爲每種語言的每個字符提供唯一二進制編碼。官網中可以領養字符!

銅級代言

遙想背後的故事
愛情故事
愛情故事

  1. char和varchar
    區別:varchar長度可變,以效率換空間。

  2. 字符長度爲用戶定義的完整性約束,插入超過長度則終止。

截斷終止

  1. NULL 與 NOT NULL
    非空即在插入新數據時必須有相應值

非空必須有值

  1. IDENTITY(1,1)

括號內代表起始值與步長,未開啓indentity_insert則自動生成,不可插入。
關於identity用法的介紹

導入表

BULK INSERT [dbo].[DimCurrency] FROM '$(SqlSamplesSourceDataPath)DimCurrency.csv'
WITH (
    CHECK_CONSTRAINTS,
   -- CODEPAGE='ACP',
    DATAFILETYPE = 'widechar',
    FIELDTERMINATOR= '|',
    ROWTERMINATOR = '\n',
    KEEPIDENTITY,
    TABLOCK
);
  1. 從文件系統路徑導入數據

$(SqlSamplesSourceDataPath)
表示將變量SqlSamplesSourceDataPath解釋爲字符,在前面已定義爲:

 :setvar SqlSamplesSourceDataPath "C:\Samples\adventure-works\data-warehouse-install-script\"
  1. 括號內爲導入規則,重點爲:
  • DATAFILETYPE 文件字符格式
  • FIELDTERMINATOR 數據間分隔符,csv(逗號分隔值)格式文件顯然爲逗號,此示例爲 ’ | '。

詳見文章:Bulk Insert命令詳細
3. 經過一系列格式調整,將自生文件測試通過,解決導入漢字亂碼問題

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章