数据库表怎么添加约束条件

数据库表怎么添加约束条件,第1张

第一步:新建数据库并设置可写权限

打开SQL Server管理器窗口,用本地用户登录;然后点击右键——新建数据库;完成之后将数据库文件及日志文件设置为可读可写,如图:

请点击输入图片描述

请点击输入图片描述

请点击输入图片描述扮世

第二步:新建数据表

展开数据库,点击表——新建表,输入名称及数据类型,如图:

(注:数据类型非常重要)

请点击输入图片描述

请点击输入图片描述

第三步:设置主键约束

点击表右键——设计——选中id——右键——设置主键,将id设厅歼肢置为主键,主键默认唯一。

如图:

请点击输入图片描述

请点击输入图片描述

请点击输入图片描述

第四步:测试主键约束

在数据表中输入数据,为测试主键的约束,输入两行一模一样的id,保存;

如图所示,保存会提示主键不允许重复。

请点击输入图片描述

请点击输入图片描述

第五步:设置非主键唯一值约束

选中表,点击菜单栏——新建查询,将IDcard设为非主键唯一值,输入以下代码:

ALTER TABLE Users

ADD unique(IDcard),然后点击执行。

如图:

请点击输入图片描述

请点击输入图片描述

第六步:测试非主唯一约束

同理,在数据表中输入两行id不同,IDCard相同的数据,并保存;若出现错误提示,将IDCard修改之后再检测,如图:

请点击输入图片描述

请点击输入图片描述

第七步:关闭数据库并断开连接

由于数据库会在后台运行,所以测试完之后,本地数据库一定要断开连接,然后关闭,如图:

请改枯点击输入图片描述

五大约束

1.—-主键约渗陆历束(Primay Key Coustraint) 唯一性,非空性

2.—-唯丛搜一约束 (Unique Counstraint)唯一性,可以空,但只能有一个

3.—-检查约束 (Check Counstraint) 对该列数据的范围、格式的限制(如:年龄、性别等)

4.—-默认约束 (Default Counstraint) 该数据的默认值

5.—-外键约束 (Foreign Key Counstraint) 需要建立两表间的关系并引用主表的列

五大约束的语法示例

1.—-添加主键约束(悉衡将stuNo作为主键)

alter table stuInfo

add constraint PK_stuNo primary key (stuNo)

2.—-添加唯一约束(身份z号唯一,因为每个人的都不一样)

alter table stuInfo

add constraint UQ_stuID unique(stuID)

3.—-添加默认约束(如果地址不填 默认为“地址不详”)

alter table stuInfo

add constraint DF_stuAddress default (‘地址不详’) for stuAddress

4.—-添加检查约束 (对年龄加以限定 15-40岁之间)

alter table stuInfo

add constraint CK_stuAge check (stuAge between 15 and 40)

alter table stuInfo

add constraint CK_stuSex check (stuSex=’男’ or stuSex=’女′)

5.—-添加外键约束 (主表stuInfo和从表stuMarks建立关系,关联字段stuNo)

alter table stuInfo

add constraint FK_stuNo foreign key(stuNo)references stuinfo(stuNo)

约束(Constraint)是Microsoft SQL Server 提供的自动保持数据库完整性的一种方法,定义了可输入表或表的单个列中的数据的限制条件(有关数据完整性的介绍请参见第9 章)。在SQL Server 中有5 种约束:主关键字约束(Primary Key Constraint)、外关键字约束(Foreign Key Constraint)、惟一性约束(Unique Constraint)、检查约束(Check Constraint)和缺省约束(Default Constraint)。

新建表:

create table [表名]

(

[自动编号字段] int IDENTITY (1,1) PRIMARY KEY ,

[字段1] nVarChar(50) default \'默认值\' null ,

[字段2] ntext null ,

[字段3] datetime,

[字段4] money null ,

[字段5] int default 0,

[字段6] Decimal (12,4) default 0,

[字段7] image null ,

)

删除表:

Drop table [表名]

插入数据:

INSERT INTO [表名] (字段1,字段2) VALUES (100,\'51WINDOWS.NET\')

删除数据:

DELETE FROM [表名] WHERE [字段名]>100

更新数据:

UPDATE [表名] SET [字段1] = 200,[字段2] = \'51WINDOWS.NET\' WHERE [字段三] = \'HAIWA\'

新增字段:

ALTER TABLE [表名] ADD [字段名] NVARCHAR (50) NULL

删除字段:

ALTER TABLE [表名] DROP COLUMN [字段名]

修改字段:

ALTER TABLE [表名] ALTER COLUMN [字段名] NVARCHAR (50) NULL

重命名表:(Access 重命名表,请参考文章:在Access数据库中重命名表)

sp_rename \'表名\', \'新表名\', \'OBJECT\'

新建约束:

ALTER TABLE [表名] ADD CONSTRAINT 约束名 CHECK ([约束敏弊字段] <= \'2000-1-1\')

删除约束:

ALTER TABLE [表名] DROP CONSTRAINT 约束名

新建默认值

ALTER TABLE [表名] ADD CONSTRAINT 默认值名 DEFAULT \'51WINDOWS.NET\' FOR [字段名]

删除默认值

ALTER TABLE [表名] DROP CONSTRAINT 默认值名

删除Sql Server 中的日志,减小数让槐据库文件大小

dump transaction 数据库名 with no_log

backup log 数据库名 with no_log

dbcc shrinkdatabase(数据库名)

exec sp_dboption \'数据库名\', \'autoshrink\', \'true\'

\\\'添加字段通用函数

Sub AddColumn(TableName,ColumnName,ColumnType)

Conn.Execute(\"Alter Table \"&TableName&\" Add \"&ColumnName&\" \"&ColumnType&\"\")

End Sub

\\\'更改字段通用函数

Sub ModColumn(TableName,ColumnName,ColumnType)

Conn.Execute(\"Alter Table \"&TableName&\" Alter Column \"&ColumnName&\" \"&ColumnType&\"\")

End Sub

\\\'检查表是否存在

sql=\"select count(*) as dida from sysobjects where id = object_id(N\桥滑族'[所有者].[表名]\') and OBJECTPROPERTY(id, N\'IsUserTable\') = 1\"

set rs=conn.execute(sql)

response.write rs(\"dida\")\'返回一个数值,0代表没有,1代表存在

判断表的存在:

select * from sysobjects where id = object_id(N\'[dbo].[tablename]\') and OBJECTPROPERTY(id, N\'IsUserTable\') = 1

某个表的结构

select * from syscolumns where id = object_id(N\'[dbo].[你的表名]\') and OBJECTPROPERTY(id, N\'IsUserTable\') = 1


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/bake/11977379.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存