删除约束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、首先找到要操作的表,右键单击选择设计选项