當前位置:首頁 » 編程語言 » 修改表主建sql
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

修改表主建sql

發布時間: 2022-09-20 22:41:17

sql怎樣用命令設置主鍵

我現在發現使用較少的語句也可以啦,比如:alter
tabler
badd
primary
key(id)將表b中的欄位id設為主鍵這個方法和你的視覺上的效果是一樣的,就是不曉得內部是否一樣的。

Ⅱ SQL中主鍵列能修改嗎

如果表之前有主鍵則先刪除:
alter table 表名 drop constraint 主鍵名
修改主鍵:
alter table 表名 add constraint 主鍵名 primary key (column1,column2,....,column)
注意:這里的主鍵名是自己定義的一個字元串,可以不是表中欄位名(習慣寫成:PK_表名 的格式),不過要牢記啊,刪除的時候用到的也是這個名!括弧中的才是表中存在的欄位。

Ⅲ 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);
前提是原來表中沒有設置主鍵,若原先已有主鍵則會報錯。

Ⅳ 如何通過PL/SQL修改某一個表的結構(主鍵

方法/步驟

登錄PL/SQL Developer

找到要修改數據的表,右擊該表,選擇「編輯數據」

出現下圖這樣的窗口,注意方框中的信息。
小鎖此時打開了,說明可以編輯數據了,後面的加減號表示增加、刪除記錄。
最後一列的rowid不能修改,這是物理標識列。

修改了數據後,可以看到對號變成綠色了,此時要提交的話需要點擊這個對號。

點擊對號之後並沒有真正保存,還需要提交事務,這樣才算是真正修改了。
點擊對號之後,還要點擊提交事務按鈕。

彈出確認提示框,點擊是即可。

我們還可以在sql窗口中輸入『select t.*,t.rowid from表 t』,按執行鍵,然後再點擊那個鎖,即可開始修改表數據。

如果輸入的是『select t.* from 表 t』,這條語句和上面的那個語句查詢結果是相同的,但因為多查了個rowid,所以才能修改數據。

Ⅳ 如何更改SQL資料庫中的主鍵數據

設計資料庫結構時,應該避免主鍵欄位有意義,比如用學生學號、人的身份證號做主鍵都不好,因為這些數據後期都可能要改動,最好用一個序列號做主鍵去關聯所有的子表,這樣就不需要改主表主鍵值了。
你這個問題可以這樣解決,先把要改主鍵的記錄復制一條,主鍵用新值,然後把所有子表的對應記錄改掉,最後刪除主表的原記錄。

Ⅵ 用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

Ⅶ 用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

Ⅷ 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語句如何修改主鍵欄位的欄位類型類型

首先,修改主鍵欄位的欄位類型,肯定是要先刪除主鍵才能操作的
--【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)

Ⅹ 如何通過PL/SQL修改某一個表的結構(主鍵

方法/步驟
登錄PL/SQL
Developer
找到要修改數據的表,右擊該表,選擇「編輯數據」
出現下圖這樣的窗口,注意方框中的信息。
小鎖此時打開了,說明可以編輯數據了,後面的加減號表示增加、刪除記錄。
最後一列的rowid不能修改,這是物理標識列。
修改了數據後,可以看到對號變成綠色了,此時要提交的話需要點擊這個對號。
點擊對號之後並沒有真正保存,還需要提交事務,這樣才算是真正修改了。
點擊對號之後,還要點擊提交事務按鈕。
彈出確認提示框,點擊是即可。
我們還可以在sql窗口中輸入『select
t.*,t.rowid
from表
t』,按執行鍵,然後再點擊那個鎖,即可開始修改表數據。
如果輸入的是『select
t.*
from

t』,這條語句和上面的那個語句查詢結果是相同的,但因為多查了個rowid,所以才能修改數據。