第三章:数据表管理(1):数据表简介

第三章包含以下内容:

1.数据表简介

2.创建表

3.临时表,删除表,编写表脚本

4.修改表

前言

非科班自学SQLSERVER和C#编程两年。该系列文章中涉及的知识点是在工作中需要用到的一些基础知识。文章比较适合初识数据库的学生或自学数据库的成人,文章是以SSMS作为例子。如果有认知错误的地方请大家指正。

数据表简介

数据表是数据库中最重要的对象,数据库里的所有数据都是存放在数据表里的。数据表就像EXCEL表,也是由行和列的格式组成的。每一行代表的是一条记录,每一列代表记录中的一个属性/类型,称为字段。
举例,一个包含着客户订单信息的表中,每一行代表一条客户订单,而每一列代表该客户订单的一个信息,例如购买的铲平名称、购买人ID等等。

数据表分类

数据表大致可分为三类:系统表、用户表、临时表。
1.系统表:系统表都是以sys开头,比如sysindexes系统索引表。这些表都是只读的,用于存储服务器的配置信息,数据库中所有表的索引信息,数据库中的所有对象信息等等。
2.用户表:就是我们自己创建和维护的表,用于满足我们开发的业务系统。
3.零时表:临时表通常是因为需要满足我们自己的运算而临时创建的表。他可以分为全局零时表##table,以及本地临时表#table,区别在于全局临时表需要所有用户都断开与数据库的连接时这张表才能消除,而本地临时表是当前用户断开与数据库连接时就会消除,通常在工作中本地零时表在存储过程中用的比较多。他只占用TempDB数据库空间。

数据列

创建数据表的过程,其实也就是创建这个表的所有列集合的过程。
数据列:主要包含数据类型,约束。
1.数据类型:用于声明该列存放的是什么类型的数据。
例如在客户信息表中,客户姓名和地址是字符型的,生日是日期型的。
2.约束:第一章有普及过约束的知识,他主要是为了数据表的完整性,准确性。

常用数据类型

1.整数型
此类型的数据可以用来存放整数数据,比如:1,2,3
包括:bigint,int,smallint,tinyint和bit五种,前四种取值范围不同,bit只能存储1,0,null。
然后他只能存放整数,如果你插入1.1那么到表里面只会取整数的部分。

2.带有固定小数位的数据类型
此类型的数据可以用来存放带小数点数据,比如:1.1,2.2,3.3
包括:numeric,decimal,我们用的比较多的是numeric,比如numeric(18,2)代表此类型数据一共是18位,保留2位小数点,那么整数就是16位。
如果你超过了限定的值。就会报错"将 numeric 转换为数据类型 numeric 时出现算术溢出错误。"

3.货币型
此类型的数据可以用来存放货币数据,比如:100,200
包括:money和smallmoney.
我暂时没用到过,也没发现他和第二种有多大区别。

4.日期和时间型
此类型的数据可以用来存放日期数据,比如:‘2020-2-29’和’2020-2-29 13:55:34’
包括:datetime和smalldatetime两种。
比较常用的是datetime,记得在插入数据的时候加上英文的单引号 ‘’,不是中文的单引号‘’。

5.字符串型
此类型的数据可以用来存放字符型数据,比如:‘abc’,‘北京’,‘客户姓名’
包括:char(n),varchar(n)和text三种。
char(n)为固定长度:例如定义的数据为char(10),表示该数据是char类型的数据,长度为10个字符,如果插入的字符串只有8位,系统会自动在尾部补上两个空格,填满到10位。括号中的数值必须是一个介于 1 和 8,000 之间的数值,存储大小为 n 个字节。
varchar(n)为可变长度:例如定义的数据为varchar(10),表示该数据是varchar类型的数据,最大长度为10个字符,如果插入的字符串只有8位,那就只占8位。
括号中的数值必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。
text是用来存储大量字符的类型,其最多可以存储231-1(2147 483647)个字符。

6.Unicode字符串型
此类型的数据可以用来存放字符型数据与字符串型类似。
包括:nchar(n),nvarchar(n)和ntext三种
他与不带N的区别是:一个是取值范围,带N的nvarchar(n)和nchar(n)都是1和4000之间的数值。nvarchar字节的存储大小是所输入字符个数的两倍。nchar字节的存储大小是字符个数的两倍。
比如:varchar(20)和nvarchar(20)分别插入 ‘牛逼bhf’。
varchar(20)中:2 * 2+3=7 个字节。——每个中文字符占2个字节,英文占一个。如果是varchar(10),最多只能插入5个中文字,或者10个英文字。
nvarchar(20)中:5 * 2=10个字节。——都占用2个字节。
1KB=1024个字节。如果是nvarchar(10),最多只能插入10个中文字,或者10个英文字。
建议:如果该表中需要存入一些生僻字,或者是大多都是中文,那么建议使用N打头的,要不然的碰到生僻字就查询不出来了。

7.二进制字符串型
此类型的数据可以用来存放二进制数据
包括binary,varbinary和image三种。

8.uniqueidentifier数据类型
此类型的数据可以用来存放主键。他是全球范围内的唯一值。拥有36位。32位数字字母+4个’-’

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值