数据库创建有外键的表(数据库建表外键的语句怎么写)

网站建设 232
本篇文章给大家谈谈数据库创建有外键的表,以及数据库建表外键的语句怎么写对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 数据库建表主键外键怎么创建合适 主外键的存在是依托两个实体之间的关系而存在的;比如班级与学生的关系:一个班级可以有多个学生,并且一个学生只能属于一个班级,这就是一对多的关系;那么设计数据库的时候就应该在学生表内存放班级的id作为外键,为什么不在班级表内放学生呢?

本篇文章给大家谈谈数据库创建有外键的表,以及数据库建表外键的语句怎么写对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

数据库建表主键外键怎么创建合适

主外键的存在是依托两个实体之间的关系而存在的;

比如班级与学生的关系:

一个班级可以有多个学生,并且一个学生只能属于一个班级,这就是一对多的关系;

那么设计数据库的时候就应该在学生表内存放班级的id作为外键,为什么不在班级表内放学生呢?

因为,你想一想班级表内如果放学生那么记录可能就是这样:

1班id

1班

xx同学id

1班id

1班

xx同学id

..

这是不允许的,班级表内班级为主键,是唯一的不允许相同记录的;

下面简单给你讲下大概建成的表结构

--建班级表

create

table

class(

classid

int

primary

key,--定义班级id为主键

classname

varchar(15)

)

--建学生表

create

table

students(

studentid

int

primary

key,--定义学生id为主键

classid

int

,--外键值,跟班级表classid

属性类型相同

stuname

varchar(20),--学生姓名

---定义外键

foreign

key(classid)

references

class(classid)

--本表classid是基于class表classid的外键

)

---------

如上定义了主外键后,两个表间的关系就是一对多的关系了,并且学生表内的classid必须依托班级表的classid存在,也就是说外键必须要主键存在的时候才能创建,例如:

--在班级表为空的情况往学生表插入一条记录是不允许的:

insert

into

students(studentid,classid,stuname)values(1,1,'小明')

系统会抛出异常提示主键表班级表内班级id不存在这样是不允许插入的;

必须要先往班级表内插入一条记录:

insert

into

class(classid,classname)values(1,'一班')

后才能执行插入前面一条往学生表插入信息的语句..

--------------可了解一些了?真累啊.

数据库建表时有主外键关系的表应该先建哪个表?先往哪个表插入数据

插入签要保证emp表中要插入记录的dept外键值在dept表中存在,然后直接写插入语句就可以

insert

into

emp(id,

name,

dept)

values

(

'id',

'name',

'dept')

Sql server怎样创建主外键关系

Sqlserver怎样创建主外键关系的方法。

如下参考:

1.为了帮助你理解,用一个例子来帮助你理解。它基本上是指通过引用表2中的字段来约束表1中的字段。

2.有两个表,第一个表创建外键表,因为第一个外键,主键可以被引用。首先创建数据库,然后创建一个新的查询。

3.创建一个新的外键表[teacher],然后输入命令:Createtableteacher。添加teacher_xingming的必填字段,并将其设置为[主键]。nchar(10)主键,

4.选择需要执行的命令行,点击[execute],在底部会有成功或失败的提示。现在,在对表执行刷新操作之后,您将发现一个新表已经成功创建[teacher]。

5.接下来,创建表student(student_xingmingnchar(10)主键不为空)。

6.继续写,类型:student_banjinchar(10)notnull,——一个新的[student_banji字段,类型nchar(10),不允许为空。]

7,创建一个外键,输入命令student_jiaoshinchar(10)外键引用老师(teacher_xingming)看起来很长,实际的意思很简单:在表中创建一个新的(student_jiaoshi字段),它是一个外键,nchar(10)类型,teacher_xingming的内容。

8.选择,点击【执行】,没有错误,即为成功。刷新表,看看是否有额外的表[student]?已经创建了所有约束。

9.让我们看看我们是否真的能做我们说过的。打开教师表,填写“刘老师”。打开【学生表】,任意填写前面,最后填写“刘老师”,没有错误是可以的。

10.如何测试约束是否真的有效,填写其他内容看看是否成功?只要它不在教师栏中),它就会报错。

SQL数据库建表时怎么设置外键?

应该是可以在sql

server2000的企业管理器里面直接操作添加外键的。

应该在一个表的设计界面,选中一行,点鼠标右键,选关系,然后选外键。

好久没有用2000了,呵`~不是很记得,lz多试两下就出来了`~

alter

table

表名

add

constraint

外键名称

foreign

key

(外键)

references[主键表名](引用列),

如何在数据库的建立表的时候设置表的外键

1 -- 创建测试主表. ID 是主键.

2 CREATE TABLE test_main (

3 id INT,

4 value VARCHAR(10),

5 PRIMARY KEY(id)

6 );

7 go

-- 建表时设置外键

1 CREATE TABLE test_sub (

2 id INT,

3 main_id INT,

4 value VARCHAR(10),

5 PRIMARY KEY(id),

6 FOREIGN KEY (main_id) REFERENCES test_main

7 );

8 go

关于数据库创建有外键的表和数据库建表外键的语句怎么写的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

数据库创建有外键的表 数据库创建表时外键约束怎么写数据库创建表外键语句数据库创建外键的两种方式数据库创建表设置外键数据库创建表外键怎么设置数据库怎么创建外键数据库创建外键语句数据库创建主键和外键数据库创建外键约束mysql数据库如何创建外键
扫码二维码