當前位置:首頁 » 編程語言 » 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