⑴ sql語句如何修改主鍵,請舉個小例子.
補充2:我找到了約束名,已經刪除,但在添加的時候又出問題了,意思說不能在可以為空的欄位上創建primary key約束,那麼應該怎樣改?????????
你修改的為主鍵的列 以前在建表的時候默認是可以NULL的,你把DEFAULT NULL
或者把表結構上的對應列的NULL的勾去掉就可以加主鍵了
不能在可以為空的欄位上創建primary key約束的。。
⑵ SQL怎樣用命令設置主鍵
我現在發現使用較少的語句也可以啦,比如:alter
tabler
badd
primary
key(id)將表b中的欄位id設為主鍵這個方法和你的視覺上的效果是一樣的,就是不曉得內部是否一樣的。
⑶ SQL怎樣用命令設置主鍵
可以參考下面的方法:
建表的時候,可以直接在列名後面增加主鍵約束,比如:
IDchar(5)primarykey。
對已經建表的列增加主鍵約束:
alter table 表名addconstraint約束名 primary key (ID)
(3)sql主鍵名怎麼改擴展閱讀:
sql語句
添加主鍵
Alter table tabname add primary key(col)
刪除主鍵
Alter table tabname drop primary key(col)
創建索引
create [unique] index idxname on tabname(col….)
刪除索引
drop index idxname
⑷ SQL語句如何修改主鍵欄位的欄位類型類型
首先,修改主鍵欄位的欄位類型,肯定是要先刪除主鍵才能操作的
--【1.查找主鍵】
--SQLSERVER
select name as pkName from dbo.sysobjects where xtype='PK' and parent_obj=(select id from dbo.sysobjects where name='表名')
--ORACLE
SELECT CONSTRAINT_NAME FROM USER_CONSTRAINTS WHERE TABLE_NAME = UPPER('表名') AND CONSTRAINT_TYPE ='P'
--【2.刪除主鍵約束】
ALTER TABLE 表名 DROP CONSTRAINT 約束名
--ORACLE
--刪除主鍵連同索引
ALTER TABLE 表名 DROP CONSTRAINT 約束名 CASCADE DROP INDEX;
或者
ALTER TABLE 表名 DROP PRIMARY KEY CASCADE DROP INDEX;--【3.修改欄位】
--【先把這一列的值備份到臨時列里,再把這一列update成null,再修改類型,再把數據拷貝回來】
--SQLSERVER
--默認值單獨處理,關聯約束
--默認值的變更涉及到約束,如有約束,需要先查詢出越是再進行刪除
ALTER TABLE 表名 DROP CONSTRAINT 約束名
ALTER TABLE 表名 ALTER COLUMN 欄位名 欄位類型(長度精度) 是否為空
ALTER TABLE 表名 ADD CONSTRAINT 約束名 DEFAULT 默認值 FOR 欄位名
--ORACLE
--刪除默認值:default null
ALTER TABLE 表名 MODIFY COLUMN 欄位名 VARCHAR2(20) DEFAULT ' ' NOT NULL--【4.新增主鍵】
--指定主鍵名字
ALTER TABLE 表名 ADD CONSTRAINT 主鍵名 PRIMARY KEY (F1,F2);
--未指定主鍵名字
ALTER TABLE 表名 ADD PRIMARY KEY (F1,F2)
⑸ Plsql中怎麼修改課程表主鍵名字
界面右側有新建和刪除,直接選中現有的那一行,刪掉,然後新建一個,然後改上新的,應用即可
。Plsql是Oracle公司在SQL基礎上進行擴展而成的一種過程語言。PLSQL提供了典型的高級語言特性,包括封裝,例外處理機制,信息隱藏,面向對象等;並把最新的編程思想帶到了資料庫伺服器和工具集中。與Java,C#相比,PLSQL的優勢是:SQL語言可以直接寫到PLSQL的「塊」中或者是PLSQL的過程、函數中。
沒有必要向java那樣先創建Statement對象來執行SQL;這使得PLSQL成為很強大的事務處理語言,即:使用SQL來處理數據,使用控制結構來處理業務邏輯。PL/SQL(ProceralLanguage/SQL)是一種過程化語言,屬於第三代語言,它與C、C++、Java等語言一樣關注於處理細節,可以用來實現比較復雜的業務邏輯。它允許SQL的數據操縱語言和查詢語句包含在塊結構(block_structured)和代碼過程語言中,使PL/SQL成為一個功能強大的事務處理語言。在甲骨文資料庫管理方面,PL/SQL是對結構化查詢語言(SQL)的過程語言擴展。PL/SQL的目的是聯合資料庫語言和過程語言。PL/SQL的基本單位叫做塊,由三個部分組成:一個聲明部分,一個執行部分和異常處理部分。因為PL/SQL允許混合SQL聲明和過程結構,因此可以在將聲明發送到甲骨文系統去執行之前使用PL/SQL區段和副程序來組合SQL聲明,沒有PL/SQL,甲骨文需要就每次處理SQL聲明,在網路環境中,這將影響交通流量,而且增加響應時間。PL/SQL區段只被編譯一次並且以可運行的形式儲存,以降低響應時間。
⑹ SQL怎樣用命令設置主鍵
可以參考下面的方法:
建表的時候,可以直接在列名後面增加主鍵約束,比如:
IDchar(5)primarykey。
對已經建表的列增加主鍵約束:
alter table 表名addconstraint約束名 primary key (ID)
(6)sql主鍵名怎麼改擴展閱讀:
sql語句
添加主鍵
Alter table tabname add primary key(col)
刪除主鍵
Alter table tabname drop primary key(col)
創建索引
create [unique] index idxname on tabname(col….)
刪除索引
drop index idxname
⑺ sql怎麼設置主鍵
1.主鍵語法
①創建時:create table sc (
studentno int,
courseid int,
score int,
primary key (studentno) );
②修改時:ALTER TABLE table_name ADD CONSTRAINT pk_name PRIMARY KEY(列名);
前提是原先沒有設置主鍵。
2.外鍵語法
①創建時:create table sc (
studentno int,
courseid int,
score int,
foreign key (courseid) );
②修改時:
ALTER TABLE news_info[子表名] ADD CONSTRAINT FK_news_info_news_type[約束名] FOREIGN KEY (info_id)[子表列] REFERENCES news_type[主表名] (id)[主表列] ;
3.使用組合主鍵
如果一列不能唯一區分一個表裡的記錄時,可以考慮多個列組合起來達到區分表記錄的唯一性,形式
①創建時:create table sc (
studentno int,
courseid int,
score int,
primary key (studentno,courseid) );
②修改時:alter table tb_name add primary key (欄位1,欄位2,欄位3);
前提是原來表中沒有設置主鍵,若原先已有主鍵則會報錯。
⑻ SQL中主鍵列能修改嗎
如果表之前有主鍵則先刪除:
alter table 表名 drop constraint 主鍵名
修改主鍵:
alter table 表名 add constraint 主鍵名 primary key (column1,column2,....,column)
注意:這里的主鍵名是自己定義的一個字元串,可以不是表中欄位名(習慣寫成:PK_表名 的格式),不過要牢記啊,刪除的時候用到的也是這個名!括弧中的才是表中存在的欄位。