日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle v¥bh,【oracle笔记2】约束

發(fā)布時間:2025/3/11 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle v¥bh,【oracle笔记2】约束 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

約束

*約束是添加在列上的,用來約束列的。

1. 主鍵約束(唯一標識)

***非空***

***唯一***

***被引用***(外鍵時引用主鍵)

*當表的某一列被指定為主鍵后,該列就不能為空,不能有重復的出現(xiàn)。

*創(chuàng)建表時指定主鍵的兩種方式:

>

create table stu(

sid      char(6) primary key,

sname     varchar(20),

age    ? ? ? int,

gender  ? ? ? ? varchar(10)

);

指定sid列為主鍵列,即為sid列添加主鍵約束。

>

create table stu(

sid      char(6),

sname    varchar(20),

age    ? ? ?int,

gender    varchar(10),

primary key (sid)

);

指定sid列為主鍵列,即為sid列添加主鍵約束。

*修改表時指定主鍵:alter table stu add constraint 主鍵名 primary key(sid);

*這里回憶一下學過的修改操作。前綴都是alter table 表名 :

add --->添加列

modify 列名 新列類型-->修改列類型

rename column 舊列名 to 新列名-->修改列名

drop column 列名--->刪除列

rename to 新表名--->修改表名

*刪除主鍵:alter table stu drop primary key;刪除主鍵的時候,不用指定列名 ,因為主鍵的唯一性。

2.主鍵自增長

*因為主鍵的特性是:必須唯一、不能為空。所以我們通常會指定主鍵類為整數(shù)型,然后設置其自增長,這樣可以保證在插入數(shù)據(jù)時主鍵列的唯一和非空特性。

oracle并沒有mysql那樣可以設置自增主鍵,需要自己創(chuàng)建序列才能實現(xiàn)自增。

這是從網上看來的一個例子:

/*創(chuàng)建自增序列*/

CREATE SEQUENCE CMB_CHINA_CITYS_ID

MINVALUE 1 --最小值

NOMAXVALUE --不設置最大值

START WITH 1 --從1開始計數(shù)

INCREMENT BY 1 --每次加1

NOCYCLE --一直累加,不循環(huán)

NOCACHE; --不建緩沖區(qū)

說明:CMB_CHINA_CITYS_ID:列名

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

以下是mysql設置主鍵自增的機制

*創(chuàng)建表時指定主鍵自增長:

create table stu(

sid?    int primary key auto_increment,

sname   varchar(20),

age    int,

gender  ? varchar(10)

);

*修改表時設置主鍵自增長:alter table stu change sid sid int auto_increment;

*修改表時刪除主鍵自增長:alter table stu change sid sid int;

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

3.非空約束

*因為某些列不能設置Null值,所以可以對列添加非空約束。

*例如:

create table stu(

sid?    int primary key,

sname  ? varchar(20)not null,

age    int,

gender  ? varchar(10)

);對sname設置了非空約束。

4.唯一約束

*數(shù)據(jù)庫某些列不能設置重復的值,所以可以對列添加唯一約束。

*例如:

create table stu(

sid?    int primary key,

sname  ? varchar(20)not null unique,

age    int,

gender  ? varchar(10)

);對sname設置了非空約束。

https://blog.csdn.net/jssg_tzw/article/details/40981393這篇文章對唯一性約束講的很清楚。

補充:(Duplicate重復,數(shù)據(jù)庫報錯時查的單詞,原因是主鍵的唯一性,不可添加重復的數(shù)據(jù)。)

總結

以上是生活随笔為你收集整理的oracle v¥bh,【oracle笔记2】约束的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。