当前位置:首页 » 编程语言 » 创建外键sql语句

创建外键sql语句

发布时间: 2022-02-28 13:13:49

sql用命令创建主键与外键。

创建SQL的主键和外键约束的方法:

--在创建表时就可以对字段加上约束:
create table Student
(
StudentNo int PRIMARY KEY IDENTITY(1,1), --加主键约束,还有标识列属性(两者构成实体完整性)
StudentName nvarchar(15) not null, --加非空约束,不加"not null" 默认为:可以为空
StudentSchool text(20) FOREIGN KEY REFERENCES SchoolTable(SchoolName), --加外键约束,格式:FOREIGN KEY REFERENCES 关联的表名(字段名)
StudentAge int DEFAULT ((0)), --加默认值约束
StudentSex nvarchar(2) CHECK(StudentSex=N'男' or StudentSex=N'女') --加检查约束,格式:check (条件表达式)
)

--如果在表创建好了以后再加约束,则格式分别为:

-- 主键:
alter table 表名
add constraint PK_字段名--"PK"为主键的缩写,字段名为要在其上创建主键的字段名,'PK_字段名'就为约束名
primary key (字段名) --字段名同上

--唯一约束:
alter table 表名
add constraint UQ_字段名
unique (字段名)

--外键约束:
alter table 表名
add constraint FK_字段名--"FK"为外键的缩写
foreign key (字段名) references 关联的表名(关联的字段名) --注意'关联的表名'和'关联的字段名'

alter table 表A add constraint FK_B foreign key (ticket_no) references 表B(ticket_no)
alter table 表A add constraint FK_C foreign key (person_no) references 表C(person_no)

alter table 成绩表 add constraint FK_StudentNo foreign key (StudentNo) references Student (StudentNo)
ON UPDATE CASCADE ON DELETE CASCADE
级联更新,级联删除,这样在删除主表Student时,成绩表中该学生的所有成绩都会删除。

--检查约束:
alter table 表名
add constraint CK_字段名
check (条件表达式) --条件表达式中的条件用关系运算符连接

--默认值约束:
alter table 表名
add constraint DF_字段名
default '默认值' for 字段名--其中的'默认值'为你想要默认的值,注意'for'

--删除创建的约束:
alter table 表名
drop constraint 约束名--约束名为你前面创建的如:PK_字段这样的约束名
--注意:如果约束是在创建表的时候创建的,则不能用命令删除
--只能在'企业管理器'里面删除

参考资料 : http://www.studyofnet.com/news/92.html

希望以上的回答能够帮到你

⑵ sql 添加外键语句

数据库表添加外键方法(以SqlSever2005数据库为例):

1、新建两张表,一张为主表,一张为副表。主表里的外键就是连接到副表的主键。

⑶ T-SQL语句创建表同时创建外键的问题

语法问题啊
spno varchar(50) (这个类型要与外键类型一致) CONSTRAINT fk_spno foregin key references student(cno)

⑷ sql语句中主外键怎么弄

sql ce表中建立外键约束的语法:CREATE TABLE DetectTable(UserID integer,StartTime datetime not null,EndTime datetime not null,MassName nvarchar(10), foreign key (UserID) references UserTable(UserID)),其中,UserID为UserTable表中的主键。

也可以在创建数据库关系图直接拖
在数据库关系图上右键-->新建关系图-->添加表
然后直接用鼠标拖字段连接就可以建立外键约束了

⑸ SQL 语句来创建表主键外键

insert into 表(列名1,列名2,...,列名n) values('值1','值2',.....,'值n');//若全部列都添加,表后面的括号可省略;
-----------
select * from 表 //查询所有
select * form 表 where 条件 //有条件查询
select 列名1,列名2,列名n from 表 //只查询几个字段
------------
create trigger 触发器名 on 表
for insert //或者delete,update
as
{
//SQL语句
}

⑹ sql中怎样创建外键约束

添加外键 ,alter table B

语法:alter table 表名 add constraint 外键约束名 foreign key(列名) references 引用外键表(列名)

如:

altertableStu_PkFk_Sc
addconstraintFk_s
foreignkey(sno)
referencesStu_PkFk_S(sno)

--cc是外键约束名,不能重复,也不能是int类型(如1,2,3)

add constraint cc

--B表里的需要约束的字段(id)

foreign key (id)

--A表后的(id)可省略

references A (id)

(6)创建外键sql语句扩展阅读:

数据查询语言,其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其他类型的SQL语句一起使用。

参考资料:结构化查询语言_网络

⑺ 怎样在用sql语句创建表的同时添加外键约束

像下面这样就好了,FOREIGN KEY(外键) REFERENCES 表名(字段)
FOREIGN KEY (`operatorid`) REFERENCES `jr_operator` (`id`)

⑻ 求mysql建表时创建外键 与 修改某字段为外键的 sql语句

CREATE TABLE `NewTable` (
`id` int(4) NOT NULL AUTO_INCREMENT ,
`name` varchar(32) NULL ,
PRIMARY KEY (`id`),
CONSTRAINT `uuii(外键名)` FOREIGN KEY (`id`, `name`) REFERENCES `demo1(被参考表)` (`id`) ON DELETE NO ACTION
)
;
创建表时加外建

⑼ sql中外键怎么写

1、创建测试表;

create table test_class(class_id varchar2(10), class_name varchar2(30));

create table test_student(student_id varchar2(10), student_name varchar2(30), class_id varchar2(10));

⑽ sql如何在创建表时设置外键

1.直接写sql语句。

2.用SQLyog 选择外键表 ,点击右键 选择关联/外键,然后再选择主表,外键。

3.在表 vet_specialties 上点击右键 ,然后找到Relationships/ForeignKeys中,然后选择相应的列。

具体如下:

1、简介

SQL语言,是结构化查询语言(StructuredQueryLanguage)的简称。SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

2、应用信息

结构化查询语言SQL(STRUCTURED QUERY LANGUAGE)是最重要的关系数据库操作语言,并且它的影响已经超出数据库领域,得到其他领域的重视和采用,如人工智能领域的数据检索,第四代软件开发工具中嵌入SQL的语言等。

3、支持标准

SQL 是1986年10 月由美国国家标准局(ANSI)通过的数据库语言美国标准,接着,国际标准化组织(ISO)颁布了SQL正式国际标准。1989年4月,ISO提出了具有完整性特征的SQL89标准,1992年11月又公布了SQL92标准,在此标准中,把数据库分为三个级别:基本集、标准集和完全集。

热点内容
android学习源码 发布:2025-01-11 11:26:23 浏览:411
服务器都坏了如何恢复 发布:2025-01-11 11:24:04 浏览:352
微博缓存的图片能清理吗 发布:2025-01-11 11:01:49 浏览:306
文字加密器 发布:2025-01-11 11:01:08 浏览:453
vc60非静态编译 发布:2025-01-11 10:51:32 浏览:614
电脑上怎么解压缩文件 发布:2025-01-11 10:51:31 浏览:783
枪战王者如何用账号密码登录 发布:2025-01-11 10:30:56 浏览:938
mysql在linux下安装 发布:2025-01-11 10:30:49 浏览:845
数据库copy 发布:2025-01-11 10:26:06 浏览:534
unity清理缓存 发布:2025-01-11 10:25:23 浏览:468