sql修改表的主鍵
❶ sql怎樣用命令設置主鍵
我現在發現使用較少的語句也可以啦,比如:alter
tabler
badd
primary
key(id)將表b中的欄位id設為主鍵這個方法和你的視覺上的效果是一樣的,就是不曉得內部是否一樣的。
❷ 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腳本修改表的的主鍵問題
不知道你什麼資料庫.
假如是
SQL
Server
的話,
主鍵必須先非空
1>
CREATE
TABLE
test_tab
(
2>
id
INT,
3>
name
VARCHAR(10),
4>
age
INT,
5>
val
VARCHAR(10)
6>
);
7>
go
1>
ALTER
TABLE
test_tab
2>
ADD
CONSTRAINT
pk_test_tab
PRIMARY
KEY(id);
3>
go
消息
8111,級別
16,狀態
1,伺服器
HOME-BED592453C\SQLEXPRESS,第
1
行
無法在表
'test_tab'
中可為空的列上定義
PRIMARY
KEY
約束。
消息
1750,級別
16,狀態
1,伺服器
HOME-BED592453C\SQLEXPRESS,第
1
行
無法創建約束。請參閱前面的錯誤消息。
首先對
id
這個列,增加一個
NOT
NULL
約束,然後再設置為主鍵。
1>
ALTER
TABLE
test_tab
2>
ALTER
COLUMN
id
INT
NOT
NULL;
3>
go
1>
ALTER
TABLE
test_tab
2>
ADD
CONSTRAINT
pk_test_tab
PRIMARY
KEY(id);
3>
go
❹ 如何通過PL/SQL修改某一個表的結構(主鍵
方法/步驟
登錄PL/SQL
Developer
找到要修改數據的表,右擊該表,選擇「編輯數據」
出現下圖這樣的窗口,注意方框中的信息。
小鎖此時打開了,說明可以編輯數據了,後面的加減號表示增加、刪除記錄。
最後一列的rowid不能修改,這是物理標識列。
修改了數據後,可以看到對號變成綠色了,此時要提交的話需要點擊這個對號。
點擊對號之後並沒有真正保存,還需要提交事務,這樣才算是真正修改了。
點擊對號之後,還要點擊提交事務按鈕。
彈出確認提示框,點擊是即可。
我們還可以在sql窗口中輸入『select
t.*,t.rowid
from表
t』,按執行鍵,然後再點擊那個鎖,即可開始修改表數據。
如果輸入的是『select
t.*
from
表
t』,這條語句和上面的那個語句查詢結果是相同的,但因為多查了個rowid,所以才能修改數據。
❺ 如何使用SQL語句修改表內的數據
修改表中內容
修改用到update語句,語句格式為:UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值
即 update 員工表 set 部門id=01 where 員工id=0004
SQL聯合主鍵
Create Table 表名 (欄位名1 Int Not Null,
欄位名2 nvarchar(13) Not Null Primary Key (欄位名1, 欄位名2),
欄位名3????
欄位名N???? )
(5)sql修改表的主鍵擴展閱讀
主鍵是資料庫表的一個重要屬性,建立主鍵可以避免表中存在完全相同的記錄,也就是說主鍵在一張表中的記錄值是唯一的。 建立主鍵有兩種方法:一種是在資料庫提供的GUI環境中建立,另一種是通過SQL語句執行建立,下面分別介紹。
在資料庫提供的GUI環境中建立(以SQL7為例)。輸入表信息後按Ctrl鍵同時選中多行,然後點上面的主鍵按鈕就行了。
通過SQL語句執行建立。又分兩種,一是在建表語句中直接寫,二是建表之後更改表結構。
在建表語句中直接寫:
Create Table 表名 (欄位名1 Int Not Null,
欄位名2 nvarchar(13) Not Null Primary Key (欄位名1, 欄位名2),
欄位名3????
欄位名N???? )
❻ 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)
❼ SQL中主鍵列能修改嗎
如果表之前有主鍵則先刪除:
alter table 表名 drop constraint 主鍵名
修改主鍵:
alter table 表名 add constraint 主鍵名 primary key (column1,column2,....,column)
注意:這里的主鍵名是自己定義的一個字元串,可以不是表中欄位名(習慣寫成:PK_表名 的格式),不過要牢記啊,刪除的時候用到的也是這個名!括弧中的才是表中存在的欄位。
❽ SQL怎樣用命令設置主鍵
可以參考下面的方法:
建表的時候,可以直接在列名後面增加主鍵約束,比如:
IDchar(5)primarykey。
對已經建表的列增加主鍵約束:
alter table 表名addconstraint約束名 primary key (ID)
(8)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性,同時它也具有唯1聚集索引的功能,方便查找記錄,用主鍵查找記錄是最高效的,但是主鍵不1定是單唯一列,可以由多列共同組成主鍵
❿ 如何通過PL/SQL修改某一個表的結構(主鍵
方法/步驟
登錄PL/SQL Developer
找到要修改數據的表,右擊該表,選擇「編輯數據」
出現下圖這樣的窗口,注意方框中的信息。
小鎖此時打開了,說明可以編輯數據了,後面的加減號表示增加、刪除記錄。
最後一列的rowid不能修改,這是物理標識列。
修改了數據後,可以看到對號變成綠色了,此時要提交的話需要點擊這個對號。
點擊對號之後並沒有真正保存,還需要提交事務,這樣才算是真正修改了。
點擊對號之後,還要點擊提交事務按鈕。
彈出確認提示框,點擊是即可。
我們還可以在sql窗口中輸入『select t.*,t.rowid from表 t』,按執行鍵,然後再點擊那個鎖,即可開始修改表數據。
如果輸入的是『select t.* from 表 t』,這條語句和上面的那個語句查詢結果是相同的,但因為多查了個rowid,所以才能修改數據。