修改列的資料型別和修改新增各種約束 總結

2021-09-01 05:08:57 字數 1423 閱讀 4399

修改列的資料型別和修改新增各種約束

修改列的資料型別

對於oracle 資料庫

sql> alter table test_tab

2    modify age smallint;

table altered.

對於sql server 資料庫

1> alter table test_tab

2> alter column age tinyint;

3> go

對於mysql 資料庫

mysql> alter table test_tab

->   change column age age tinyint;

-> //

query ok, 0 rows affected (0.16 sec)

records: 0  duplicates: 0  warnings: 0或者

mysql> alter table test_tab

->   modify column age bigint not null;

-> //

query ok, 0 rows affected (0.14 sec)

records: 0  duplicates: 0  warnings: 0

go--新增主鍵約束

alter

table nobel add

constraint my_pk primary

key(yr) --

新增唯一約束

alter

table nobel add

constraint my_un unique

(yr) --

新增預設值約束

alter

table nobel add

constraint mydefault default('

不知道'

)for winner

--新增檢查約束

alter

table nobel add

constraint my_check check

(yr between 2000 and 2010) --

新增自增編號

開啟sql server management studio,開啟資料庫之後,在選中的表上點修改

在選中需要設定為自增的字段,在右下方的表設計器裡選擇「

標識規範」

,(如下圖:)

是」,就設定好了。 --

新增外來鍵約束

alter

table nobel add

constraint my_fk foreign

key(winner)

references bbc (

name)

Oracle 如何修改列的資料型別

問題 表a有資料,想修改其中有一列a1為varchar2 10 型 原來為number型 當時開始執行sql alter table a modify a1 varchar2 10 結果報錯了 sql alter table a modify a1 varchar2 10 alter table a...

Oracle 修改現有列的資料型別

如果表中有資料,oracle是不能修改其資料型別的。但可以通過新建乙個臨時列,將要修改列的資料複製到臨時列中,刪除原列再修改臨時列的名字。這樣說好像有點拗口,分步解說一下。表ac reg中有列 is active,原來是字元型別的,目標是將它改為數值型別 目標將is active改為數值型 新增一列...

修改MongDB的資料型別

語法 db.集合.find foreach function x db.order.find foreach function x find 裡為資料對應的型別,2表示str。也可以不寫 object id 文件的id string 字串,最常用,必須是utf 8 boolean 布林值,true ...