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. 经过一系列格式调整,将自生文件测试通过,解决导入汉字乱码问题

发布了30 篇原创文章 · 获赞 2 · 访问量 744

猜你喜欢

转载自blog.csdn.net/cascara/article/details/104080599
今日推荐