刪除約束sql
① sql server怎樣刪除外鍵約束
1.首先,我們使用SQLSERVER2008打開需要刪除外鍵約束的表,點擊左側的「dbo」通道項,選擇「setclick」。
注意事項:
可以雙擊鍵約束來添加外鍵約束,它有四個不同的選項:CASCADE、SETNULL、NOACTION、restricted。
1.級聯:刪除或更新父表中相應的行,並自動刪除或更新表中匹配的行。[在刪除CANSCADE和更新CANSCADE都支持InnoDB。
2.SETNULL:刪除或更新父表中對應的行,並將子表中的外鍵列設置為空。注意,這些外鍵列沒有設置為NOTNULL。InnoDB支持刪除集空值和更新集空值。
3.無操作:InnoDB拒絕刪除或更新父表。
4.限制:拒絕刪除或更新父表。
② SQL 怎樣刪除有外鍵約束的表
刪除外鍵約束的表,首先要刪除外鍵關聯,然後才可以刪除表。
如:
1、創建表author
:
CREATE TABLE [dbo].[author]
([ID] [bigint] NOT NULL PRIMARY KEY,
[AuthorName] [char] (10) NULL,
[address] [char] (480) NULL,
[introction] [ntext] NULL)
2、創建myBBS表:
CREATE TABLE [dbo].[myBBS] (
[ID] [bigint] IDENTITY (1, 1) NOT NULL,
[authorId] [bigint] NOT NULL,
[Title] [char] (40) NULL,
[Date_of_Created] [datetime] NULL,
[Abstract] [char] (480) NULL,
[Content] [ntext] NULL)
3、創建外鍵關系:
alter table dbo.mybbs add constraint FK_mybbs_author
foreign key (authorId)
references dbo.author([id]) ON UPDATE CASCADE ON DELETE CASCADE
4、在刪除表前,要刪除外鍵,語法如下:
alter table dbo.mybbs drop constraint FK_mybbs_author
5、然後再刪除表:
drop table [dbo].[myBBS]
③ 如何用sql語句刪除默認約束
declare@constraintNamevarchar(200)
select@constraintName=b.namefromsyscolumnsa,sysobjectsbwherea.id=object_id('TB_KYSubProject')andb.id=a.cdefaultanda.name='Final_Belong_Programme'andb.namelike'DF%'
SELECT@constraintName
exec('altertableTB_KYSubProjectdropconstraint'+@constraintName)
注意:
1.sql中constraint 前綴PK、UK、DF、CK、FK:
PK是primary key縮寫,主鍵約束
UK是unique key縮寫,唯一約束
CK是check縮寫,檢查約束
FK是foreign縮寫,主外鍵關系
DF是default縮寫,默認值約束
2.syscolumns
cdefault:int該列的默認值 ID。
id:int該列所屬的表對象 ID,或與該參數關聯的存儲過程 ID。
name:sysname列名或過程參數的名稱。
3.object_id函數
該函數會返回指定對象的ID值
④ 如何用sql語句刪除外鍵約束
用sql語句刪除外鍵約束的具體步驟如下:
我們需要准備的材料分別是:電腦、SQL SERVER 2008。
1、首先我們用SQL SERVER 2008打開需要刪除外鍵約束的表,滑鼠右鍵點擊左側的「dbo」選項選擇「設擊」。
⑤ SQL Server 2008中怎麼刪除約束
1.使用企業管理器刪除約束
操作步驟如下:
在企業管理器中打開一個存在約束的數據表,然後在設計表窗口中可以刪除主鍵約束和默認約束,刪除其他類型的約束需打開「屬性」對話框,然後在指定的約束選項卡中單擊「刪除」按鈕即可刪除
2.語法:
ALTER TABLE table_name
DROP CONSTRAINT constraint_name [,…n]
參數說明:
l constraint_name:約束名稱。
⑥ SQL中的幾種約束的創建與刪除
約束的目的就是確保表中的數據的完整性。
常用的約束類型如下:
主鍵約束:(Primary Key constraint) 要求主鍵列唯一,並且不允許為空
唯一約束:(Unique Constraint) 要求該列唯一,允許為空,但只能出現一個空值
檢查約束:(Check Constraint) 某列取值范圍限制、格式限制等。如有關年齡的限制
默認約束:(Default Constraint) 某列的默認值,如我們的男性學員比較多,性別默認為男
外鍵約束:(Foreign Key Constraint) 用於在兩表之間建立關系,需要指定引用主表的哪一列
一、添加約束
在創建表時,我們可以在欄位後添加各種約束,但一般不這樣混用,推薦將添加約束和建表的語句分開編寫。
添加約束的語法如下:
Code:
Alter Table 表名
Add Constraint 約束名 約束類型 具體的約束類型
上述語法標識修改某個表,添加某個約束,其中約束名的命名規則推薦採用"約束類型_約束欄位"這樣的形式。
Code:
---添加主鍵約束
Alter Table stuInfo
Add Constraint PK_stuNO primary Key(stuNo)
---添加唯一約束
Alter Table stuInfo
Add Constraint UQ_stuID unique(stuID)
---添加默認約束
Alter Table stuInfo
Add Constraint DF_stuAddress default('地址不詳') for stuAddress
---添加檢查約束
Alter Table stuInfo
Add Constraint CK_stuAge check(stuAge between 15 and 40)
---添加外鍵約束
Alter Table stuMarks
Add Constraint FK_stuNo foreign key(stuNo) references stuInfo(stuNo)
二、刪除約束
如果錯誤的添加了約束,則可以刪除約束
刪除約束的語法如下:
Code:
Alter Table 表名
Drop Constraint 約束名
附加:在創建表的時候同時添加約束的寫法:
Code:
use stuDB
go
if exists(select * from Sysobjects where name = 'stuInfo')
drop table stuInfo
go
create table stuInfo
(
stuName varchar(20) not null primary key(stuName)
,stuID int not null unique(stuID)
,stuAddress varchar(20) not null default('地址不詳')
,stuAge int not null check(stuAge between 15 and 40)
)
⑦ 如何用SQL語句刪除check約束
1、創建測試表,帶主鍵約束;
create table student2
(Sno char(9) primary key,
Sname char(8) not null,
Ssex char(2) check(Ssex in ('男','女')),
Sage smallint,
Sdept char(20)
)
⑧ 使用sql語句創建和刪除約束示例代碼
使用sql語句創建和刪除約束
約束類型
主鍵約束(Primary
Key
constraint)
--:要求主鍵列數據唯一,並且不允許為空。
唯一約束(Unique
constraint)
--:要求該列唯一,允許為空,但只能出現一個空值。
檢查約束(Check
constraint)
--:某列取值范圍限制,格式限制等,如有關年齡、郵箱(必須有@)的約束。
默認約束(Default
constraint)
--:某列的默認值,如在資料庫里有一項數據很多重復,可以設為默認值。
外鍵約束(Foreign
Key
constraint)
--:用於在兩個表之間建立關系,需要指定引用主表的哪一列。
**********************************************************************
添加約束:
alter
table
tablename
add
constraint
pk_colname
primary
key(colname)主建約束
alter
table
tablename
add
constraint
uq_colname
unique
(colname)唯一約束
alter
table
tablename
add
constraint
df_colname
default('地址不詳')for
colname
默認約束
alter
table
tablename
add
constraint
ck_colname
check(colname
between
12
and
15)檢查約束
alter
table
tablename
add
constraint
fk_colname
foreign
key(colname)references
tablename(colname)外建約束
刪除約束:
alter
table
tablename
drop
constraint
約束名
創建登陸帳戶/資料庫用戶
創建登錄帳戶:
exec
sp_grantlogin
'windows
域名/域帳戶'
創建資料庫用戶:
exec
sp_grantdbaccess
'登陸帳戶','資料庫用戶'
向資料庫授權:
grant
許可權[on
表名]to
資料庫用戶
以上語句可直接在企業管理器中操作
企業管理器/安全性/登陸/新建登陸
填寫名稱和密碼
選擇資料庫訪問,再底下"資料庫角色中允許"
db_owner也打上勾
默認約束使用戶能夠定義一個值,每當用戶沒有在某一列中輸入值時,則將所定義的值提供給這一列。如果用戶對此列沒有特定的要求,可以使用默認約束來為此列輸入默認值。
⑨ SQL中 如何刪除約束
1、首先找到要操作的表,右鍵單擊選擇設計選項