『壹』 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 條件