当前位置:首页 » 编程语言 » 设置SQL表的外码的语句
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

设置SQL表的外码的语句

发布时间: 2022-04-23 16:13:33

A. 用sql SERVER 如何在建好表后添加外码SQL语句怎么写呀

USE
D
--
咱们一下的操作都是在数据库
D
中进行的。
GO
--学生表:
CREATE
TABLE
Student(
sid
int
primary
key,
sname
varchar(20)
)
--课程表:
CREATE
TABLE
Course(
cid
int
primary
key,
cname
varchar(20)
)
--成绩表:
CREATE
TABLE
Grade(
sid
int
,
cid
int
,
score
int
)
--因为:1个学生+1个课程=1个成绩。
--因此:Grade表是子表,Student和Course是父表。
--给成绩表增加外键约束:
ALTER
TABLE
Grade
ADD
CONSTRAINT
Student_Grade_sid_fk
FOREIGN
KEY(sid)
REFERENCES
Student(sid)
ALTER
TABLE
Grade
ADD
CONSTRAINT
Course_Grade_cid_fk
FOREIGN
KEY(cid)
REFERENCES
Course(cid)
注意:如果Grade表中现有的数据违反了你要加入的约束。
则约束就会添加失败。
解决的方法:
将表中违反约束的数据删掉后就可以了。

B. sql创建外键语句

1、创建测试主表(班级表test_class),

create table test_class(class_id number, class_name varchar2(20));

C. 怎么用sql语句实现两个主码的同时引用外码

- CSDN

R中的某个字段FK与W中的主码PK对应,则FK成为W的外码。外码定义了两个表之间的约束关系,W为主表(被参照表),R为从...
CSDN

D. sql怎么设置外键

sql server中建立外键约束有3中方式:enterprise manager中,tables,design table,设置table的properties,可以建立constraint, reference key;enterprise manager中,diagrams, new diagrams,建立两个表的关系;直接用transact sql语句。

1、三个方法都需要先建立数据表。

1)创建表author :

create table [dbo].[author] (
[id] [bigint] not null ,
[authorname] [char] (10) null ,
[address] [char] (480) null ,
[introction] [ntext] null
)

2)创建表mybbs:

reate table [dbo].[mybbs] (
[id] [bigint] identity (1, 1) not null ,
[authorid] [bigint] not null ,
[title] [char] (40) null ,
[date_of_created] [datetime] null ,
[abstract] [char] (480) null ,
[content] [ntext] null
)

2、设置表mybbs中的authorid为外键,参照author表的id字段,直接使用transact sql语句,过程如下:

1)增加表mybbs(authorid)的外键约束fk_mybbs_author,表mybbs中的authorid受表author中的主键id约束:

begin transaction
alter table dbo.mybbs add constraint fk_mybbs_author
foreign key (authorid)
references dbo.author([id]) on update cascade on delete cascade

2)删除外键约束fk_mybbs_author:
--alter table dbo.mybbs drop constraint fk_mybbs_author
--rollback
commit transaction

上面on update cascade,on delete cascade两个选项,指明以后author表的id字段有delete,update操作时,mybbs表中的id也会被级联删除或更新。如果没有选中,是不可以对author表中已被mybbs表关联的id进行update或者delete操作的。

拓展资料:

SQL的主键和外键的作用:

1、插入非空值时,如果主键表中没有这个值,则不能插入。

2、更新时,不能改为主键表中没有的值。

3、删除主键表记录时,你可以在建外键时选定外键记录一起级联删除还是拒绝删除。

4、更新主键记录时,同样有级联更新和拒绝执行的选择。

简而言之,SQL的主键和外键就是起约束作用。

E. sql 添加外键语句

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

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

F. SQL语言创建表时候怎么定义主码和外码

SQL语言创建表时候用Primary Key(属性名)定义主码,用Foreign Key(属性名)定义外码。

主码是一种唯一关键字,表定义的一部分。一个表的主码可以由多个关键字共同组成,并且主码的列不能包含空值。主码是可选的,并且可在 CREATE TABLE语句中用Primary Key(属性名)定义。

将一个表的值放入第二个表来表示关联,所使用的值是第一个表的主键值(在必要时可包括复合主键值)。此时,第二个表中保存这些值的属性称为外键,用Foreign Key(属性名)定义。

如:

CREATE TABLE Customer

(SID integer,

CID integer,

Last_Name varchar(30),

First_Name varchar(30),

PRIMARY KEY (SID),ForeignKey(CID名));

(6)设置SQL表的外码的语句扩展阅读:

主码不应包含动态变化的数据,如时间戳、创建时间列、修改时间列等。实际上,因为主码除了唯一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。如果主码需要更新,则说明主码应对用户无意义的原则被违反了。

主码应当由计算机自动生成。如果由人来对主码的创建进行干预,就会使它带有除了唯一标识一行以外的意义。一旦越过这个界限,就可能产生人为修改主码的动机,这样,这种系统用来链接记录行、管理记录行的关键手段就会落入不了解数据库设计的人的手中。

G. sql,如何用sql语句对一个已经编辑好的表在设置主码和外码

--修改主键
ALTER
TABLE
tablename
--修改表
ADD
CONSTRAINT
tb_PRIMARY
PRIMARY
KEY
CLUSTERED
(列名)
/*将你要设置为主键约束的列*/
--修改约束ALTER
TABLE
销售表
--修改表
ADD
CONSTRAINT
ck_sl
--创建检查约束
CHECK
(数量
>=
1
and
数量
<=
10000)
--添加约束条件
--修改外键alter
table
表名
add
constraint
外键名称
foreign
key
(字段)
references
关系表名
(关系表内字段)

H. 组合主码外码用sql语句怎么写

SQL语言创建表时候用Primary Key(属性名)定义主码,用Foreign Key(属性名)定义外码。

主码是一种唯一关键字,表定义的一部分。一个表的主码可以由多个关键字共同组成,并且主码的列不能包含空值。主码是可选的,并且可在 CREATE TABLE语句中用Primary Key(属性名)定义。

将一个表的值放入第二个表来表示关联,所使用的值是第一个表的主键值(在必要时可包括复合主键值)。此时,第二个表中保存这些值的属性称为外键,用Foreign Key(属性名)定义。

结构化查询语言(Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

sql语句就是对数据库进行操作的一种语言。


总结如下:

主码不应包含动态变化的数据,如时间戳、创建时间列、修改时间列等。实际上,因为主码除了唯一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。如果主码需要更新,则说明主码应对用户无意义的原则被违反了。




I. sql server 2008如何设置外码

用关键语句:foreign key ...(属性名) references ....表名+(属性名)

下边举例说明:

create table Student /*建立一个学生表*/

Sno char(8),

Sname char(6) unique not null default 'wang',

Ssex char(2) check(Ssex='男'or Ssex='女') not null,

Sage smallint not null check(Sage<150),

Sdept char(20) not null,

primary key(Sno)

create table Course /*建立课程表*/

(Cno char(3) primary key ,

Cname char(20) not null,

Cpno char(3) foreign key references Course(Cno), /*这里是自引用主码*/

Ccredit smallint,

--foreign key Cpno references Course(Cno)

create table SC /*建立学生选课表*/

(Sno char(8) ,

Cno char(3) not null ,

Grade smallint not null,

--foreign key Sno references Student(Sno)

primary key (Sno,Cno), /*主码由两个属性构成*/

foreign key (Sno) references Student(Sno), /*引用学生表的主码Sno*/

foreign key (Cno) references Course(Cno) /*引用课程表的主码Cno*/

(9)设置SQL表的外码的语句扩展阅读

SQL Server 有两个接口可以认为是 SQL Server 7.0 的本机接口,即 OLE-DB 和 ODBC。DB-Library 接口也是本机的,它与 TDS 通信,但是 DB-Library 使用的是 TDS 较老的版本,需要在服务器上进行一些转换。

现有的 DB-Library应用程序仍然可以继续与 SQL Server 7.0 协同使用,但是很多新的功能和性能提高等好处只能通过 ODBC 和 OLE DB 才能利用。

J. 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标准,在此标准中,把数据库分为三个级别:基本集、标准集和完全集。