當前位置:首頁 » 編程語言 » sql增加列和完整性約束
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql增加列和完整性約束

發布時間: 2023-04-02 12:41:11

『壹』 sql語句給表加新欄位,不知道語法,怎麼辦

添加完整欄位包括欄位名、數據類型、完整性約束。桐亂哪添加欄位的語法格式如下:

語法結陪孝構:alter table 表名 add 新欄位 數據類型 約束條件 first | after 已存在的欄位名;

(1) 添加無完整性約束條件的欄位

語法結構:alter table 表名add 新欄位 數據類型;

案例:在表tb_department1中添加一個完整性約束的int欄位managerId(部門經理編號),SQL語句如下:

命令語句:alter table tb_department1 add managerId int(10);

執行結果如下:

『貳』 sql問題,索引的修改。alter index語句如何使用,謝謝

alter index常用的語法如下:
(1)重建指定索引:
ALTER INDEX ind ON TA
REBUILD;
(2)重建全部索引:
ALTER INDEX ALL ON TA
REBUILD;
(3)禁用索引:
ALTER INDEX ALL ON TA
DISABLE;
(再次啟用使用REBUILD重建而不是ENABLED)
(4)指定參數重建索引:
ALTER INDEX ALL ON TA
REBUILD WITH(FILLFACTOR=80);
(5)指定參數修改索引:
ALTER INDEX ALL ON TA
SET(IGNORE_DUP_KEY = ON);

注意:alter index語法,不能用於修改索引定義,如添加或刪除列,或更改列的順序

『叄』 資料庫用SQL語言建表,什麼是完整性約束請問如何寫出各種完整性約束

一、數據的完整性

實體完整性

實體完整性簡單的說,就是將表中的每一行看作一個實體。實體完整性要求表的標示符列或主鍵的完整性。可以通過建立唯一索引、PRIMARY KEY約束、UNIQUE約束,以及列的IDENTITY屬性來實施實體完整性。

域完整性

域完整性是指給定列的輸入有效性。要求表中指定列的數據具有正確的數據類型、格式和有效的數據范圍。強制域有效性的方法有:限制類型(通過數據類型)、格式(通過 CHECK 約束和規則)或可能值的范圍。域完整性通過 FOREIGN KEY 約束、CHECK 約束、DEFAULT 定義、NOT NULL 定義和規則來實現。

引用完整性

引用完整性又稱參照完整性。引用完整性維持被參照表和參照表之間的數據一致性,他通過主鍵(PRIMARY KEY)約束和外鍵(FOREIGN KEY)約束來實現。

用戶定義完整性

二、約束操作

與表相關的約束

在SQL 2008中,常用有6種約束,分別是NOT NULL,UNIQUE,PRIMARY KEY,FOREIGN KEY,DEFAULT和CHECK.

--添加主鍵約束(即primary key約束)

alter table goods add constraint pk_gid primary key(gid)

--1.刪除主鍵約束

alter table goods drop pk_gid

--添加唯一約束(即unique約束)

alter table goods add constraint uq_gname unique(gname)

--刪除唯一約束:仿1.

--添加預設約束(即default約束)

alter table goods add constraint def_gtel default 0000-00000000 for gtel

--刪除預設約束:仿1.

--添加檢查約束(即check約束)

alter table goods add constraint ck_gprice check(gprice>500)

--刪除check約束:仿1.

--創建表2

create table g_p

(

wno int identity(1,1) primary key,

gno int

)

--添加外鍵約束(即foreign key約束)

alter table g_p

add constraint fk_gno

foreign key(gno) references goods(gid)

--刪除外鍵約束:仿1.

--使用newid()

select newid()--生成全球唯一的ID號

create table customer

(

custID uniqueidentifier not null default newid(),

customer char(30) not null

)

insert customer values(newid(),\''\''accp\''\'')--向customer中插入信息

-----------------------------------慢慢研究----

『肆』 怎樣使用SQL語句定義主碼完整性約束和引用完整性約束

可以在建表時定義、
create table test1(t1 int primary key,t2 int) ti是主鍵、主碼完整性約束
create table test2(t3 int primary key,t1 int foreign key references test1(t1))
test2中t3為主鍵、t5為外鍵引用test1的t1
也可以使用
alter table test2
add constraint fk_s foreign key (t1) referneces test1(t1) 添加引用完整性,fk_s是約束名、自己隨便起

如果test1的ti不是主鍵、可以通過
alter table test1
add constraint fk_t primary key (t1) 添加主碼完整性,被指定的列、原表中一定要不能為空

『伍』 在SQL中,列級完整性約束和表級完整性約束分別分為幾種情況請列舉。

建表的同時通常還可以定義與該表有關的完整性約束條件,這些完整性約束條件被存入系統的數據字典中,當用戶操作表中數據時由DBMS自動檢查該操作是否違背這些完整性約束條件.如果完整性約束條件涉及到該表的多個屬性列,則必須定義在表級上,否則既可以定義在列級也可以定義在表級.
例1 建立一個「學生」表Student,它由學號Sno、姓名Sname、性別Ssex、年齡Sage、所在系Sdept五個屬性組成.其中學號不能為空,值是唯一的,並且姓名取值也唯一.
CREATE TABLE Student
(Sno CHAR(5)NOT NULL UNIQUE,/*列級完整性約束條件,Sno取值唯一,
Sname CHAR(20)UNIQUE,不許取空值*/
Ssex CHAR(1),
Sage INT,
Sdept CHAR(15));
常用完整性約束:
主碼約束:PRIMARY KEY
唯一性約束:UNIQUE
非空值約束:NOT NULL
參照完整性約束

『陸』 sql中表達完整性約束的機制主要有哪幾種

在SQL中,表達完整性約束的規則有主鍵約束、外鍵約束、屬性值約束和全局約束等多種形式。 x0dx0a(1)主鍵約束:可用主鍵子句或主鍵短語來定義。 x0dx0a如 PRIMARY KEY (S#) (主鍵子句) x0dx0aS# CHAR (4) PRIMARY KEY (其中,PRIMARY KEY 為主鍵短語) x0dx0a(2)外鍵約束:可用外鍵子句來定義 x0dx0a如 FOREIGN KEY (S#) REFERNCE S(S#) x0dx0a x0dx0a(3)屬性值約束:包括非空值約束(NOT NULL);基於屬性的檢查子句(CHECK) ; x0dx0a域約束子句(在「CREAT DOMAIN」語句中出現CHECK子句)x0dx0a如CREAT DOMAIN AGE SMALLINT CHECK (VALUE>10) x0dx0a(4)全局約束:包括基於元組的檢查子句(CHECK)和斷言 x0dx0a斷言的句法為:CREATE ASSERTION 斷言名 CHECK 條件