当前位置:首页 » 编程语言 » sql如何创建表并且定义主码和外码
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql如何创建表并且定义主码和外码

发布时间: 2023-06-19 07:57:22

sql server怎样创建主外键关系

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

如下参考:

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

Ⅱ 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
关系表名
(关系表内字段)

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

1、打开SQL,选择“WINDOWS身份验证”,点击连接。在左边的框条中找到“数据库“,右击选择”新建数据库“,建立名为”test“的数据库,其他默认。可以在数据库下找到新建的test。

Ⅳ 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 主码和外码

表外建主键:alter table 课程表add constraint major_id_pk primary key(课程号);表外建外码:alter table 成绩表add constraint major_id_fk foreign key
(课程号) references 课程表(课程号);成绩表外码 课程号 参照课程表 课程号

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

1、为了方便大家理解,使用一个例子来帮助大家理解。意思大概就是通过引用表二中的字段完成对表一字段的约束。方法:

Ⅶ SQL建表语句,有主外键

一、创建表约束
语法:
ALTER
TABLE
table_name
ADD
CONSTRAINT
constraint_name
constraint_type
constraint_definition
table_name
要修改的表的名称
constraint_name
约束的名称
constraint_type
约束的类型,有以下四种:
PRIMARY
KEY
主键约束
FOREIGN
KEY
外键约束
CHECK
检查约束
UNIQUE
唯一约束
constraint_defintion
约束的定义,不同的约束种类约束的定义是不一样的,每种约束的定义如下:
PRIMARY
KEY
(field_list)
FOREIGN
KEY
(source_field_name)
REFERENCES
target_table(target_field_name)
CHECK
(condition)
UNIQUE
(field_name)
例如:
1.
将Topic表的Id字段修改为主键
ALTER
TABLE
Topic
ADD
CONSTRAINT
PK_Topic
PRIMARY
KEY
(Id)
2.
Reply表的TopicId字段引用Topic表的Id字段
ALTER
TABLE
Reply
ADD
CONSTRAINT
FK_Reply_Topic
FOREIGN
KEY
(TopicId)
REFERENCES
Topic(Id)
3.
Student表的Sex字段必须填写“男”或“女”
ALTER
TABLE
Student
ADD
CONSTRAINT
CHK_Sex
CHECK(Sex='男'
OR
Sex='女')
二、删除表约束
语法:
ALTER
TABLE
table_name
DROP
CONSTRAINT
constraint_name

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

  1. sql中的主码和外码,属于索引,SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQLServer系统的性能,加快数据的查询速度与减少系统的响应时间

  2. 创建索引的语法:

    CREATE[UNIQUE][CLUSTERED|NONCLUSTERED]INDEXindex_name

    ON{table_name|view_name}[WITH[index_property[,....n]]

    说明:

    UNIQUE:建立唯一索引。

    CLUSTERED:建立聚集索引。

    NONCLUSTERED:建立非聚集索引。

    Index_property:索引属性。

    UNIQUE索引既可以采用聚集索引结构,也可以采用非聚集索引的结构,如果不指明采用的索引结构,则SQLServer系统默认为采用非聚集索引结构。

  3. 删除索引语法:

    DROPINDEXtable_name.index_name[,table_name.index_name]

    说明:table_name:索引所在的表名称。

    index_name:要删除的索引名称。

  4. 修改索引的语法:

  5. ALTER INDEX命令在其用来做什么方面多少有些欺骗性。截止到现在,ALTER命令总是与修改对象的定义有关。例如ALTER表以添加或禁用约束和列。ALTER INDEX是不同的-该命令与维护有关,而与结构完全不相干。如果需修改索引的组成,那么只能DROP然后CREATE索引,或者用DROP_EXISTING=ON选项CREATE并使用索引。

  6. ALTER INDEX {<name of index> | ALL}
    ON<table or view name>
    { REBUILD
    [[ WITH (
    [PAD_INDEX = {ON | OFF}]
    | [[,] FILLFACTOR = <fillfactor>
    | [[,] SORT_IN_TEMPDB = { ON | OFF }]
    | [[,] IGNORE_DUP_KEY = { ON | OFF }]
    | [[,] STATISTICS_NORECOMPUTE = { ON | OFF }]
    | [[,] ONLINE = { ON| OFF }]
    | [[,] ALLOW_ROW_LOCKS = { ON | OFF }]
    | [[,] ALLOW_PAGE_LOCKS = { ON | OFF }]
    | [[,] MAXDOP = <max degree of parallelism>
    )]
    |[ PARTITION = <partition number>
    [ WITH (< partition rebuild index option>
    [,...N])]]]
    | DISABLE
    | REORGANIZE
    [ PARTITION = <partition number> ]
    [ WITH (LOB_COMPACTION = { ON | OFF })]
    | SET ([ ALLOW_ROW_LOCKS = { ON | OFF} ]
    | [[,] ALLOW_PAGE_LOCKS = { ON | OFF } ]
    | [[,] IGNORE_DUP_KEY = { ON | OFF } ]
    | [[,] STATISTICS_NORECOMPUTE = { ON | OFF }]
    )
    }[;]

Ⅸ 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 才能利用。

参镇颂考资料来源:网络-Microsoft SQL Server