SQL Server笔记 -- 第53章:INSERT 第54章:主键

53.1 向名为 Invoices 的表插入一行

sql 复制代码
INSERT INTO Invoices /* 可在此列出列名 */ 
VALUES (123,'1234abc','2016-08-05 20:18:25.770',321,5,'2016-08-04');

若目标表存在 IDENTITY 列,则必须显式列出列名:

sql 复制代码
INSERT INTO Invoices ([ID],[Num],[DateTime],[Total],[Term],[DueDate])
VALUES (123,'1234abc','2016-08-05 20:18:25.770',321,5,'2016-08-25');

第54章:主键

54.1 创建含标识列的主键表

sql 复制代码
-- 标识主键------唯一自增数字
create table person (
  id int identity(1,1) primary key not null,
  firstName varchar(100) not null,
  lastName varchar(100) not null,
  dob DateTime not null,
  ssn varchar(9) not null
)

54.2 创建含 GUID 主键的表

sql 复制代码
-- GUID 主键------任意唯一值
create table person (
  id uniqueIdentifier default (newId()) primary key,
  firstName varchar(100) not null,
  lastName varchar(100) not null,
  dob DateTime not null,
  ssn varchar(9) not null
)

54.3 创建含自然主键的表

sql 复制代码
-- 自然主键------使用表中已有且唯一的数据
create table person (
  firstName varchar(100) not null,
  lastName varchar(100) not null,
  dob DateTime not null,
  ssn varchar(9) primary key not null
)

54.4 创建含复合主键的表

sql 复制代码
-- 复合主键------使用两列或更多列组合成主键
create table person (
  firstName varchar(100) not null,
  lastName varchar(100) not null,
  dob DateTime not null,
  ssn varchar(9) not null,
  primary key (firstName, lastName, dob)
)

54.5 为现有表添加主键

sql 复制代码
ALTER TABLE person ADD CONSTRAINT pk_PersonSSN PRIMARY KEY (ssn)

注意:若候选键列存在重复值,上述语句将失败,因为主键值必须唯一。

54.6 删除主键

sql 复制代码
ALTER TABLE Person DROP CONSTRAINT pk_PersonSSN
相关推荐
EasyCVR1 分钟前
插件模块化集成设计:花屏蓝屏画面模糊检测...EasyCVR视频质量诊断功能的技术与落地逻辑
服务器·数据库·音视频·视频质量诊断
|华|2 分钟前
mysql的备份与恢复
数据库·mysql
java资料站14 分钟前
milvus向量数据库
数据库·milvus
chushiyunen19 分钟前
langgraph笔记
数据库·人工智能·笔记
切糕师学AI20 分钟前
PostgreSQL 中的 pg_trgm GIN 索引详解
数据库·postgresql·gin·索引·pg_grgm
爱丽_24 分钟前
MySQL 锁与死锁:行锁、间隙锁、Next-Key Lock 与排查手册
数据库·mysql
皙然26 分钟前
Redis 持久化机制超详细详解(RDB+AOF 双方案 + 生产实战)
数据库·redis·bootstrap
看山还是山,看水还是。28 分钟前
消控室五方对讲接听操作流程
经验分享·笔记·搜索引擎·pdf·百度云·印象笔记·有道云笔记
白沙染赤33 分钟前
《区块链技术与应用》--笔记【4-6】
笔记·区块链
编码者卢布36 分钟前
【Azure APIM】API导入功能报错 Unable to parse specified file.
microsoft·azure