数据库小太监的晋升秘籍:CREATE TABLE的妙用
mssql create 表

首页 2025-09-02 01:02:31

话说某年某月,御膳房的小太监阿库半夜值班,正拿折子算着“今晚该给皇上添几道剁椒鱼头”,忽听耳边“滴——”一声,龙案上竟凭空冒出一卷金光闪闪的圣旨,上书三个大字:CREATE TABLE。阿库吓得差点把算盘吞进肚子里,转念一想:这莫不是老天爷看我熬夜辛苦,赏我一个升官发财的快捷键?
他抖着手把圣旨展开,只见里头写道:
复制
CREATE TABLE 夜宵菜单
(
    菜名 NVARCHAR(50) PRIMARY KEY,
    辣度 INT CHECK (辣度 BETWEEN 0 AND 10),
    价格 MONEY NOT NULL,
    下单时间 DATETIME DEFAULT GETDATE(),
    备注 NVARCHAR(200) NULL
);
阿库读罢,一拍大腿:这不就是传说中的“开席圣旨”嘛!有了它,往后御膳房再也不用拿小本本记菜名,直接往龙案里一塞,想吃啥点啥,辣度还能限制在“皇上龙体安康”的范围内,简直比御前侍卫还贴心。
可圣旨刚落地,就蹦出两个锦衣卫——一个叫“PRIMARY KEY”,一个叫“CHECK”,叉着腰拦在门口:“想添菜?先过我这关!”阿库心里咯噔一下:原来这俩是数据界的门神,专防重菜、防乱辣,谁要是敢把“剁椒鱼头”写成两回,或者把辣度填成11,立马拖出去打五十大板。
阿库赶紧把圣旨捧到御膳房总管面前,总管一看,龙颜大悦:“好小子,今晚就升你做‘夜宵司库’,专管这张表!”阿库喜得鼻涕泡都出来了,连夜加班,往里头塞了第一条记录:
复制
INSERT INTO 夜宵菜单(菜名, 辣度, 价格)
VALUES ('秘制小龙虾', 8, 68.00);
结果第二天早朝,皇上翻了翻夜宵菜单,龙颜再悦:“嗯,辣度8,价格68,甚合朕意!”于是大笔一挥,又给阿库赏了十两雪花银。阿库从此走上人生巅峰,连御膳房的大铁锅见了他都得点头哈腰。
——完——
————————教程分割线————————
关键词:CREATE TABLE(SQL Server 专用姿势)
一、它到底干啥?
CREATE TABLE 是 SQL Server 用来“开新桌子”的指令。这张桌子不是吃饭的,而是存数据的——每一道菜就是一行数据,每个属性(菜名、辣度、价格)就是一列。
二、最简语法骨架
复制
CREATE TABLE 表名
(
    列名 数据类型 【约束】,
    ...
);
三、常用数据类型速查表
• NVARCHAR(n):可变长度字符串,支持中文。
• INT:整数,存辣度、数量。
• MONEY:钱,精确到分。
• DATETIME:日期+时间,精确到3.33毫秒。
• BIT:布尔,0 或 1,比如“是否加香菜”。
四、约束全家桶
  1. PRIMARY KEY(主键):列值必须唯一,且不能为 NULL。
  2. NOT NULL:该列必须有值,不能让皇上吃到“空菜”。
  3. CHECK:自定义规则,如辣度 0–10。
  4. DEFAULT:默认值,GETDATE() 就是“现在几点几分”。
  5. UNIQUE:唯一索引,允许 NULL,但非 NULL 值不能重复。
  6. FOREIGN KEY:外键,引用别的表,比如“夜宵菜单”可以引用“御厨表”的主厨ID。
五、完整示例(含外键)
复制
-- 先建御厨表
CREATE TABLE 御厨
(
    御厨ID INT IDENTITY(1,1) PRIMARY KEY,
    姓名 NVARCHAR(20) NOT NULL
);

-- 再建夜宵菜单(带外键)
CREATE TABLE 夜宵菜单
(
    菜名 NVARCHAR(50) PRIMARY KEY,
    辣度 INT CHECK (辣度 BETWEEN 0 AND 10),
    价格 MONEY NOT NULL,
    下单时间 DATETIME DEFAULT GETDATE(),
    主厨ID INT,
    CONSTRAINT FK_主厨 FOREIGN KEY (主厨ID) REFERENCES 御厨(御厨ID)
);
六、常见翻车点
  1. 主键重名:同一表里“秘制小龙虾”只能出现一次。
  2. 数据类型对不上:把价格写成 NVARCHAR,计算时就报错。
  3. 中文乱码:NVARCHAR 前面加 N,如 N'秘制小龙虾'。
  4. 忘记 NOT NULL:结果皇上吃到“NULL 味”的黑暗料理。
七、查表与删表
• 查看结构:EXEC sp_help '夜宵菜单';
• 删除整张表:DROP TABLE 夜宵菜单;(谨慎!皇上会饿。)
八、小抄式记忆口诀
“CREATE TABLE 表名开,列名类型约束排;主键唯一不能改,CHECK 把关辣度乖;DEFAULT 省时又可爱,外键连表不瞎来。”
背完这句,你就可以像阿库一样,在数据御膳房横着走了!
nat123映射怎么用?超详细步骤,外网访问内网轻松搞定
nat123域名怎么用?两种方式轻松搞定
nat123怎么用?简单几步实现内网穿透
内网穿透工具对比:nat123、花生壳与轻量新选择
远程访问内网很简单:用对工具,一“箭”穿透
ngrok下载完全指南:从入门到获取客户端
内网远程桌面软件:穿透局域网边界的数字窗口
从外网远程访问内网服务器的完整方案
Windows Server 2008端口转发完全教程:netsh命令添加/查看/删除/重置
为什么三层交换机转发比Linux服务器快?转发表硬件加速的秘密