当前位置:首页 » 编程语言 » sql字段主键
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql字段主键

发布时间: 2022-12-17 05:07:19

sql怎么设置主键

1.主键语法
①创建时:create table sc (
studentno int,
courseid int,
score int,
primary key (studentno) );
②修改时:ALTER TABLE table_name ADD CONSTRAINT pk_name PRIMARY KEY(列名);
前提是原先没有设置主键。
2.外键语法
①创建时:create table sc (
studentno int,
courseid int,
score int,
foreign key (courseid) );
②修改时:
ALTER TABLE news_info[子表名] ADD CONSTRAINT FK_news_info_news_type[约束名] FOREIGN KEY (info_id)[子表列] REFERENCES news_type[主表名] (id)[主表列] ;
3.使用组合主键
如果一列不能唯一区分一个表里的记录时,可以考虑多个列组合起来达到区分表记录的唯一性,形式
①创建时:create table sc (
studentno int,
courseid int,
score int,
primary key (studentno,courseid) );
②修改时:alter table tb_name add primary key (字段1,字段2,字段3);
前提是原来表中没有设置主键,若原先已有主键则会报错。

② SQL中主键的使用

主键是数据完整性的保障之一,具体说是实体完整行,主键不允许为空也不能知重复。
假如你做了一个员工表格
有一列是身份证号
如果这个人没有身份证号,那么你就是雇黑工,如果有两个人身份证号相同,那么一个人是伪造的身份。哈道哈
所以正常情况下这两种情况都不允许出现。这是你只要给身份号这一列设置了主键,那么你插入或者修改数据时,数据库管理系统就会自动要求他们不版能为空也不能有两条记录的号码相同。
这就是主键的作用
你那个id
是个标识列,dbms会自动为他赋值,而且保证其唯权一性,所以你就不用给他赋值了

③ sql主键和外键的区别

主键就是当前表的id,表示唯一字段,方便定位索引查询……
外键就是其他表的主键ID在当前表中是外键,用来做关联关系。
create table A(
aid primary key identity(1) not null, 主键
aname varchar(50),
bid 外键(忘了这单词怎么写了)

create table B(
bid primary key identity(1) not null, 主键
bsubject varchar(100)
)
数据:A表 1,张三 ,1 B表: 1,数学
2,李四,1 2,英语
3,张三,2
4,王五,2
这样子B表跟A表就有关联关系了。我们查询或者索引的时候可以按ID来找人对吧,
也可以, 1,张三,数字
2,李四,数字
3,张三,英语
4,王五,英语