CSharp基础起步第十二期---SqlServer 基础01数据类型


1.数据库设计:范式

现阶段,必须遵守满足3NF

  1. 范式:列的原子性,即列不可再拆分

  2. 范式:表中不能描述多个信息,不能有数据冗余

  3. 范式:引用其它表的主键信息


2.数据类型的意义:

  1. 提高效率。(减少空间,提高访问效率,‘1234567’如果用字符串存储占7个字节,如果用整型则占4个字节。);

  2. 能对数据进行正确的计算1+1,如果是整型则为2,如果为字符串则为11.


3.分类

char [ ( n ) ] 

固定长度,非 Unicode 字符数据,长度为 n 个字节。n 的取值范围为 1 至 8,000,存储大小是 n 个字节。char 的 ISO 同义词为 character。


varchar [ ( n | max ) ] 

可变长度,非 Unicode 字符数据。n 的取值范围为 1 至 8,000。max 指示最大存储大小是 2^31-1 个字节。存储大小是输入数据的实际长度加 2 个字节。所输入数据的长度可以为 0 个字符。varchar 的 ISO 同义词为 char varying 或 character varying


nchar [ ( n ) ]

n 个字符的固定长度的 Unicode 字符数据。n 值必须在 1 到 4,000 之间(含)。存储大小为两倍 n 字节。nchar 的 ISO 同义词为 national char 和 national character。


nvarchar [ ( n | max ) ]

可变长度 Unicode 字符数据。n 值在 1 到 4,000 之间(含)。max 指示最大存储大小为 2^31-1 字节。存储大小是所输入字符个数的两倍 + 2 个字节。所输入数据的长度可以为 0 个字符。nvarchar 的 ISO 同义词为 national char varying 和 national character varying

Bit  数据类型 表示是/否的数据,存储布尔数据类型  

Datetime 日期和时间,日期和时间在单引号内输入


4.区分

char与nchar

varchar(10)与nvarchar(10)

varchar(max)与nvarchar(max)

text与ntext

带var和不带var的区别:varchar是可变长度的,char是不可变长度的

根据内容定长度;固定内容长度,如果长度不够则在末尾加空格

建议:定长度时使用char,不定长度再用varchar,因为不定长度在取数据时需要进行计算长度

带n与不带n:带n一个字符占2个字节,不带n一个字符占1个字节,这取决于使用哪种排序规则,如果使用简体中文,则两种类型没有区别,对于pubs库是unicode的,则char就不能正常显示中文了,只有nchar才能正常显示中文

如果存储内容非常大,则使用text或ntext,不过已经过时了,在最新版本中推荐使用varchar(max)或nvarchar(max)


欢迎关注趣味CSharp,完整笔记与您分享~~~~~~~~

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...