树叶云带你简单聊聊MSSQL里CREATE TABLE那些事儿,教你怎么建表一步步来
- 问答
- 2026-01-08 23:07:21
- 10
树叶云带你简单聊聊MSSQL里CREATE TABLE那些事儿,教你怎么建表一步步来 整理自树叶云平台的数据库入门指南和微软官方SQL Server文档)
嗨,大家好!今天咱们就借着树叶云这个平台,来轻松愉快地唠唠在Microsoft SQL Server(后面咱就简称MSSQL)里,怎么亲手创建一张数据表,你别看“建表”这个词听起来好像很专业,其实说白了,就是给咱们的数据盖个房子、划好房间,规定好每个地方放什么东西,下面我就用最直白的话,一步步带你走一遍。
第一步:想清楚你的“房子”要干啥
在建表之前,最关键的不是立刻打开软件敲代码,而是要先在脑子里或者纸上画个草图,你得想明白:
- 表叫啥名字? 你想做一个简单的通讯录,那表名就可以叫
TongXunLu或者MyFriends,名字最好能一眼看出是干啥的。 - 里面要放哪些信息? 这就是表的“列”或者叫“字段”,还拿通讯录举例,你可能需要:朋友姓名、电话号码、家庭住址、生日这些信息,每一个信息项就是一列。
- 每种信息是什么类型的? 这是最重要的一步,你不能把电话号码当成文字随便写,也不能把生日当成数字来算算术对吧?所以我们要给每一列规定一个“数据类型”。
- 姓名、地址:这种是文本,我们通常用
VARCHAR类型,后面还得加个括号写上最大能存多少个字,VARCHAR(50)就是最多能存50个字符。 - 电话号码:虽然是一串数字,但我们一般不会用它做数学计算,所以也常用
VARCHAR(20)来存。 - 生日:这肯定是日期嘛,就用
DATE类型。 - 如果有个“编号”:比如给每个朋友一个唯一的ID号,这种需要自动增长的数字,用
INT类型就很合适,还可以设置成IDENTITY(1,1),表示从1开始,每次增加1。
- 姓名、地址:这种是文本,我们通常用
- 有没有哪一列是绝对不能空的? “姓名”这一列,你不能允许别人不填就保存吧?那我们就把它设置为
NOT NULL,意思是“不能为空”,像“地址”这种可能有人不愿意填的,就可以设置为NULL,表示“允许为空”。
把这些都想清楚了,你的表结构基本就在心里有谱了。
第二步:打开“施工场地”——查询编辑器
在MSSQL里,我们一般在“查询编辑器”里写建表的指令,无论是在SQL Server Management Studio (SSMS) 这个官方工具里,还是在像树叶云这样的平台提供的数据库管理页面中,你都能找到一个可以让你输入代码的地方,确保你已经连接到了想要建表的那个数据库。
第三步:开始“盖房子”——写CREATE TABLE语句
我们把想好的东西,用SQL语言写出来,SQL是一种和数据库沟通的语言,建表的命令就是 CREATE TABLE。
基本格式长这样:

CREATE TABLE 表的名字 ( 列1的名字 列1的数据类型 NULL还是NOT NULL, 列2的名字 列2的数据类型 NULL还是NOT NULL, ... );
注意每个列的定义后面有个逗号,最后一列后面没有逗号,整个语句的最后用分号 结束(有时候不用分号也行,但养成好习惯避免出错)。
把我们之前想的通讯录例子套进来:
CREATE TABLE MyFriends ( FriendID INT IDENTITY(1,1) PRIMARY KEY NOT NULL, FriendName VARCHAR(50) NOT NULL, PhoneNumber VARCHAR(20) NULL, Address VARCHAR(200) NULL, Birthday DATE NULL );
我来解释一下这行代码:
CREATE TABLE MyFriends:创建一张名叫MyFriends的表。FriendID INT IDENTITY(1,1) PRIMARY KEY NOT NULL:INT是整数类型。IDENTITY(1,1)是自动增长,从1开始,每次加1,这样每增加一个朋友,他的ID就会自动生成,不会重复。PRIMARY KEY意思是“主键”,主键是这张表的唯一标识,相当于每个人的身份证号,绝对唯一,不能为空,我们这里用FriendID当主键最合适。NOT NULL不能为空。
FriendName VARCHAR(50) NOT NULL:朋友姓名,文本类型,最长50个字,不能为空。PhoneNumber VARCHAR(20) NULL:电话号码,文本类型,最长20个字符,可以为空(万一有人不想留电话呢)。Address VARCHAR(200) NULL:地址,文本类型,最长200字符,可以为空。Birthday DATE NULL:生日,日期类型,可以为空。
第四步:检查房子盖得对不对
代码写好了,别急着走,先从头到尾读一遍,看看表名、列名有没有写错,数据类型 NULL还是NOT NULL, 列3的名字 列3的数据类型 NULL还是NOT NULL, ... (可以有很多列) );

把我们之前为通讯录想的套进去,就是这样:
```sql
CREATE TABLE MyFriends
(
FriendID INT IDENTITY(1,1) PRIMARY KEY NOT NULL,
FriendName VARCHAR(50) NOT NULL,
PhoneNumber VARCHAR(20) NULL,
HomeAddress VARCHAR(100) NULL,
Birthday DATE NULL
);
我来解释一下这行代码:
CREATE TABLE MyFriends:创建一张名叫MyFriends的表。FriendID INT IDENTITY(1,1) PRIMARY KEY NOT NULL:INT是整数类型。IDENTITY(1,1)表示这个列是自动增长的,从1开始,每次加1,这样每加一个新朋友,ID会自动生成,不会重复。PRIMARY KEY意思是“主键”,相当于每个人的身份证号,唯一标识一条记录,绝对不能重复和为空。NOT NULL不允许为空。
FriendName VARCHAR(50) NOT NULL:朋友姓名,文本类型,最长50个字,不能为空。PhoneNumber VARCHAR(20) NULL:电话号码,文本类型,最长20位,可以为空。HomeAddress VARCHAR(100) NULL:家庭住址,文本类型,最长100字,可以为空。Birthday DATE NULL:生日,日期类型,可以为空。
第四步:“检查验收”——执行并查看结果
代码写好了,选中它,然后点“执行”按钮(在SSMS里是按F5键),如果下面提示“命令已成功完成”,恭喜你,你的第一张表就建好了!
你可以去数据库的表列表里刷新一下,应该就能看到 MyFriends 这个新表了,这时候表还是空的,像个毛坯房,下一步就是往里面“搬家具”——也就是插入数据了,这个我们以后可以再聊。
最后唠叨两句
树叶云的指南里也提醒新手,刚开始学的时候,别怕犯错,大不了删了表重来,多用 VARCHAR、INT、DATE 这些基本类型,等熟练了再研究更复杂的,最重要的是先把结构想清楚,代码反而简单。
好了,关于MSSQL里建表的基础操作,咱们今天就先聊到这,怎么样,是不是感觉也没那么神秘?自己动手试试吧!
本文由称怜于2026-01-08发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:http://www.haoid.cn/wenda/77087.html
