SQL数据库语言基础之SQL Server自带数据类型、自定义数据类型与使用、创建修改数据表

一、几种数据类型

1、Character 字符串类型
char、chr(5)、varchar、varchar(5)、text

数据类型 描述
char(n) 固定长度的字符串。最多 8,000 个字符
varchar(n) 可变长度的字符串。最多 8,000 个字符
varchar(max) 可变长度的字符串。最多 1,073,741,824 个字符
text 可变长度的字符串。最多 2GB 字符数据

2、Unicode 字符串类型
nchar、nvarchar、ntext

数据类型 描述
nchar(n) 固定长度的 Unicode 数据,最多 4,000 个字符
nvarchar(n) 可变长度的 Unicode 数据,最多 4,000 个字符
nvarchar(max) 可变长度的 Unicode 数据,最多 536,870,912 个字符
ntext 可变长度的 Unicode 数据,最多 2GB 字符数据

3、整数类型
int、smallint、tinyint、bigint、bit
1-3-1

4、浮点类型
numeric、decimal、real
注意:numeric(5,2)表示5位长度的数字,2位是小数部分。

数据类型 描述 存储
numeric(p,s) 固定精度和比例的数字,允许从 -10^38 +1 到 10^38 -1 之间的数字,p 参数指示可以存储的最大位数(小数点左侧和右侧),p 必须是 1 到 38 之间的值。默认是 18。s 参数指示小数点右侧存储的,最大位数。s 必须是 0 到 p 之间的值,默认是 0 5-17字节
decimal(p,s) 固定精度和比例的数字,允许从 -10^38 +1 到 10^38 -1 之间的数字,p 参数指示可以存储的最大位数(小数点左侧和右侧),p 必须是 1 到 38 之间的值,默认是 18。s 参数指示小数点右侧存储的最大位数,s 必须是 0 到 p 之间的值,默认是 0 5-17字节
real 从 -3.40E + 38 到 3.40E + 38 的浮动精度数字数据 4字节

5、货币类型
money-8字节、smallmoney-4字节

数据类型 描述 存储
money 介于 -922,337,203,685,477.5808 和 922,337,203,685,477.5807 之间的货币数据 8字节
smallmoney 介于 -214,748.3648 和 214,748.3647 之间的货币数据 4字节

6、时间类型
data:日期,3字节
time:时间,5字节
datatime2:存放日期时间混合数据,精度小于3,8字节
datatimeoffset:日期、时间、时区混合类型,10字节,精度100纳秒
1-6-1

7、二进制类型
binary:1-8000字节,使用时需要指定长度
varbinary:可变长度字节
image:可变长度字节,1-2的31次方-1个字节,存放图片或文件信息

8、其他数据类型
1-8-1

二、创建数据表

1、SQL语句创建格式

CREATE TABLE table_name
(
	column_name1 datatype,
	column_name2 datatype
)
--table_name表名,column_name1列名

2、创建学生信息表

CREATE TABLE stu_info
(
	s_num int not null,
	s_name varchar(20) not null,
	s_sex varchar(2),
	s_option varchar(30),
	s_score numeric(4,2)
)

以上信息分别表示学生的学号、姓名、性别、选修课、分数(2位小数的浮点数)

3、使用SQL server管理器创建
直接右击数据库中的表,选择创建表,然后就可以设置的列名的数据类型。
2-3-1

4、设置主键(PRIMARY KEY)

CREATE TABLE stu_info_key
(
	s_num int PRIMARY KEY,
	s_name varchar(20) not null,
	s_sex varchar(2),
	s_option varchar(30),
	s_score numeric(4,2)
)

2-4-1

三、修改数据表结构

1、修改格式(添加、更改、删除)

ALTER TABLE table_name
add
column_name datatype

ALTER TABLE table_name
ALTER column
column_name datatype

ALTER TABLE table_name
drop column

2、添加一个学生地址列

ALTER TABLE stu_info
ADD
s_addr varchar(50)

3、修改字段长度

ALTER TABLE stu_info
ALTER column s_addr char(20)

4、删除

--删除字段
ALTER TABLE stu_info
drop column s_addr
--删除表
DROP TABLE stu_info

5、表的截断(只删除表的数据)

truncate table stu_info

6、重命名表

SP_RENAME stu_info_key,stu_info

将原名stu_info_key改为stu_info

猜你喜欢

转载自blog.csdn.net/Viewinfinitely/article/details/120581654