修改主鍵的方法:1.利用「ALTER TABLE 表名 DROP CONSTRAINT 主鍵名;」語句刪除主鍵;2、使用「alter table 表名 add primary key(字段);」語句新增主鍵。
本教學操作環境:Windows7系統、Oracle 11g版、Dell G3電腦。
主鍵解釋:
一個表格的唯一關鍵字 例如一個學生表 學號不能重複且唯一 ,學號就是關鍵字,也就是為主鍵。
有區別於外鍵:
外鍵就是與其他表格連結的字段,還是例如有學生表還有一個選課表,這個時候要修改學生表中的學號,選課表裡對應的就也得變,這樣就需要給選課表加學號作為外鍵約束,這樣當你修改學號時所有外鍵關聯的就都改了
1.有命名主鍵
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)有命名主鍵的修改需先删除主键,再进行添加
#1)無命名主鍵的建立
①建表時加入主鍵(主鍵「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...);
①先查出來主鍵名(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②再執行刪除的SQL
ALTER TABLE table_test DROP CONSTRAINT SYS_C0056038;
ALTER TABLE 表名 DROP CONSTRAINT 主鍵名;
######3)無命名主鍵的修改########需先删除主键,再进行添加
以上是oracle怎麼修改主鍵的詳細內容。更多資訊請關注PHP中文網其他相關文章!