SQL語言建立表時候怎麼定義主碼和外碼

2021-03-12 01:02:49 字數 4479 閱讀 8291

1樓:仁昌居士

sql語言建立表時候用primary key(屬性名)定義主碼,用foreign key(屬性名)定義外碼。62616964757a686964616fe58685e5aeb931333433623064

主碼是一種唯一關鍵字,表定義的一部分。乙個表的主碼可以由多個關鍵字共同組成,並且主碼的列不能包含空值。主碼是可選的,並且可在 create table語句中用primary key(屬性名)定義。

將乙個表的值放入第二個表來表示關聯,所使用的值是第乙個表的主鍵值(在必要時可包括復合主鍵值)。此時,第二個表中儲存這些值的屬性稱為外來鍵,用foreign key(屬性名)定義。

如:create table customer

(sid integer,

cid integer,

last_name varchar(30),

first_name varchar(30),

primary key (sid),foreign key(cid 名));

2樓:匿名使用者

creat table student

(sno char(20) not null primary key,

sname......,

.....

)creat table c

(**o int not null primary key,.....

)creat table sc

(.......

constraint fk foreign key (sno,**o)

references student(sno)references c(**o))

sql,如何用sql語句對乙個已經編輯好的表在設定主碼和外碼?

3樓:揮著翅膀de爺

--修改主鍵 alter table tablename --修改表add

constraint tb_primaryprimary key clustered (列名) /*將你要設定為主鍵約束的列*/

--修改約束alter table 銷售表 --修改表add constraint ck_sl --建立檢查約束check (數量 >= 1 and 數量 <= 10000) --新增約束條件

--修改外來鍵alter table 表名

add constraint 外來鍵名稱 foreign key (字段)

references 關係表名 (關係表內字段)

4樓:

sql中的主碼和外碼,屬於索引,sql索引有兩種,聚集索引和非聚集索引,索引主要目的是提高了sql server系統的效能,加快資料的查詢速度與減少系統的響應時間

建立索引的語法:

create [unique][clustered | nonclustered]  index  index_name

on  [with [index_property [,....n]]

說明:unique: 建立唯一索引。

clustered: 建立聚集索引。

nonclustered: 建立非聚集索引。

index_property: 索引屬性。

unique索引既可以採用聚集索引結構,也可以採用非聚集索引的結構,如果不指明採用的索引結構,則sql server系統預設為採用非聚集索引結構。

刪除索引語法:

drop index table_name.index_name[,table_name.index_name]

說明:table_name: 索引所在的表名稱。

index_name : 要刪除的索引名稱。

修改索引的語法:

alter index命令在其用來做什麼方面多少有些欺騙性。截止到現在,alter命令總是與修改物件的定義有關。例如alter表以新增或禁用約束和列。

alter index是不同的-該命令與維護有關,而與結構完全不相干。如果需修改索引的組成,那麼只能drop然後create索引,或者用drop_existing=on選項create並使用索引。

alter index on]

| [[,] fillfactor =

| [[,] sort_in_tempdb = ]

| [[,] ignore_dup_key = ]

| [[,] statistics_nore***pute = ]

| [[,] online = ]

| [[,] allow_row_locks = ]

| [[,] allow_page_locks = ]

| [[,] maxdop =

)]|[ partition =

[ with (< partition rebuild index option>

[,...n])]]]

| disable

| re***anize

[ partition = ]

[ with (lob_***paction = )]

| set ([ allow_row_locks = ]

| [[,] allow_page_locks = ]

| [[,] ignore_dup_key = ]

| [[,] statistics_nore***pute = ]

)}[;]

5樓:匿名使用者

alter table 表名

add constraint 主鍵名稱 primary key (字段)

goalter table 表名

add constraint 外來鍵名稱 foreign key (字段)

references 關係表名 (關係表內字段)go

6樓:匿名使用者

create table table_name

colum_name datatype

[constraint constraint_name] [not] null primary key |unique

7樓:匿名使用者

主鍵你可以在表設計視窗選中要設定主鍵的列選擇設定主鍵即可,外來鍵你可以右鍵,選擇關係,在裡面新增即可。至於設定取值範圍你可以設定乙個約束。

怎麼為乙個建立好的表設定主碼和外碼約束 !

8樓:有點近有點遠

create table student ( sno char(5) not null unique ,

sname char(20) unique ,

s*** char(1) check (s*** in (『m』,』f』)), sage int, sdept char(15) ) ;³主碼的三種指定方式 1) 用not null unique 作為列級約

專束指定 2) 用primary key 作為列級約束指定 (以上兩種僅適用於單屬性主碼的指屬定) 3) 用primary key (《主碼》) 作為表級約束指定

foreign key (sno) references s(sno) , foreign key (**o) references c(**o) )

9樓:匿名使用者

用alter table

資料庫中主碼和外碼怎麼判斷呀

10樓:匿名使用者

1、建立主鍵測試表test_key_p,

create table test_key_p(id number, class_id number);

2、建立兩乙個主鍵測試表test_key_f,class_id欄位作為test_key_p表的外來鍵,

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

3、編寫sql,新增主鍵、外來鍵,

-- create/recreate primary, unique and foreign key constraints

alter table test_key_p add constraint p_key1 primary key (id);

alter table test_key_p add constraint f_key2 foreign key (class_id) references test_key_f (class_id);

4、檢視主鍵、外來鍵資訊,id為primary即主碼,class_id為foreign即外碼,

11樓:匿名使用者

主碼 我們在建立資料庫的時候,需要為每張表指定乙個主碼,主碼也叫主鍵。

所謂主碼就是在實體集中區分不同實體的候選碼。

乙個實體集中只能有乙個主碼,但可以有多個候選碼。

外碼,如果乙個關係中的乙個屬性是另外乙個關係中的主碼則這個屬性為外碼。

建立表的SQL語句

這樣寫 create table aaa aaa char 4 constraint 主鍵約束名字 primary key 就可以了,也可以在最後加上clustered 聚集索引 或nonclustered 非聚集索引 主鍵約束名字也可以省略。不過寫上主鍵約束名容易對其進行管理。希望能幫到你!拜拜!...

ORACLE建立表的SQL語句,Oracle使用者建立的SQL語句

其實語法和sqlserver還是一樣的,給你舉個例子。create table stuinfo stuid int primary key,stuname varchar2 20 age int 其實沒有那麼為麻煩,你可以開啟oracle檢視編輯器。中顯示oracle語句,想要什麼語句你自己試吧!包...

在oracle中自己建立了表後在sql命令中用

是不是不同的使用者和表空間,應該建立同義詞 你應該先看看是不是在同乙個資料庫下,然後用將表明括起來表示這 在oracle資料庫中如何用sql查詢某乙個使用者名稱下的某張表裡面的資料,select from 表名 使用者名稱 where id 1 select from 使用者名稱.表名 where ...