修改主鍵的方法:1、利用“ALTER TABLE 表名 DROP CONSTRAINT 主鍵名;”語句刪除主鍵;2、使用“alter table 表名 add primary key(字段);”語句添加主鍵。
本教程操作環(huán)境:Windows7系統(tǒng)、Oracle 11g版、Dell G3電腦。
主鍵解釋:
一個表的唯一關(guān)鍵字 比如一個學(xué)生表 學(xué)號不能重復(fù)且唯一 ,學(xué)號就是關(guān)鍵字,即為主鍵。
區(qū)別于外鍵:
外鍵就是跟其他表聯(lián)系的字段 ,還是比如有一張學(xué)生表 還有一張選課表,這個時候要修改學(xué)生表中的學(xué)號 ,選課表里對應(yīng)的就也得變,這樣就需要給選課表加學(xué)號作為外鍵約束,這樣當(dāng)你修改學(xué)號時 所有外鍵關(guān)聯(lián)的就都改了
主鍵的添加、刪除等操作
1.有命名主鍵
1)有命名主鍵的添加
①建表時添加主鍵(yy為主鍵“ID”的主鍵名稱)
CREATE TABLE table_test( id INT NOT NULL, --注意:主鍵必須非空 name VARCHAR(20) NOT NULL, address VARCHAR(20), constraint yy PRIMARY KEY(id) );
②建表后添加主鍵
alter table table_test add constraint yy primary key(id);
公式:alter table 表名 add constraint 主鍵名 primary key(字段);
2)有命名主鍵的刪除
ALTER TABLE table_test DROP CONSTRAINT yy;
公式:ALTER TABLE 表名DROP CONSTRAINT 主鍵名;
3)有命名主鍵的修改
需先刪除主鍵,再進(jìn)行添加
2.無命名主鍵
1)無命名主鍵的創(chuàng)建
①建表時添加主鍵(主鍵“ID”的主鍵名稱需要查詢出來,下文有方法)
CREATE TABLE table_test( id INT NOT NULL, --注意:主鍵必須非空 name VARCHAR(20) NOT NULL, address VARCHAR(20), PRIMARY KEY(id) );
②建表后添加主鍵
alter table table_test add primary key (id);
公式:alter table 表名 add primary key(主鍵字段1,主鍵字段2...);
2)無命名主鍵的刪除
①先查出來主鍵名(constraint_name),user_cons_columns表會在文末給出解釋
SELECT t.* from user_cons_columns t where t.table_name = 'TABLE_TEST' and t.position is not null;
公式:SELECT t.* from user_cons_columns t where t.table_name = '表名' and t.position is not null; --表名必須大寫,如:TABLE_TEST
②再執(zhí)行刪除的SQL
ALTER TABLE table_test DROP CONSTRAINT SYS_C0056038;
公式:ALTER TABLE 表名 DROP CONSTRAINT 主鍵名;
3)無命名主鍵的修改
需先刪除主鍵,再進(jìn)行添加
推薦教程:《Oracle教程》