【转】使用SQL语句创建和删除约束

转自http://blog.csdn.net/hamber_bao/article/details/6504905

约束的目的就是确保表中的数据的完整性。

常用的约束类型如下:

主键约束:(Primary Key constraint)      要求主键列唯一,并且不允许为空

唯一约束:(Unique Constraint)              要求该列唯一,允许为空,但只能出现一个空值

检查约束:(Check Constraint)                某列取值范围限制、格式限制等。如有关年龄的限制

默认约束:(Default Constraint)               某列的默认值,如我们的男性学员比较多,性别默认为男

外键约束:(Foreign Key Constraint)       用于在两表之间建立关系,需要指定引用主表的哪一列

一、添加约束

在创建表时,我们可以在字段后添加各种约束,但一般不这样混用,推荐将添加约束和建表的语句分开编写。

添加约束的语法如下:

Code:

  1. Alter Table 表名
  2. Add Constraint  约束名 约束类型 具体的约束类型

上述语法标识修改某个表,添加某个约束,其中约束名的命名规则推荐采用"约束类型_约束字段"这样的形式。

Code:

  1. ---添加主键约束
  2. Alter Table stuInfo
  3. Add Constraint  PK_stuNO primary Key(stuNo)
  4. ---添加唯一约束
  5. Alter Table stuInfo
  6. Add Constraint UQ_stuID unique(stuID)
  7. ---添加默认约束
  8. Alter Table stuInfo
  9. Add Constraint DF_stuAddress default(‘地址不详‘) for stuAddress
  10. ---添加检查约束
  11. Alter Table stuInfo
  12. Add Constraint CK_stuAge check(stuAge between 15 and 40)
  13. ---添加外键约束
  14. Alter Table stuMarks
  15. Add Constraint FK_stuNo foreign key(stuNo) references stuInfo(stuNo)

二、删除约束

如果错误的添加了约束,则可以删除约束

删除约束的语法如下:

Code:

  1. Alter Table 表名
  2. Drop Constraint  约束名

附加:在创建表的时候同时添加约束的写法:

Code:

  1. use stuDB
  2. go
  3. if exists(select * from Sysobjects where name = ‘stuInfo‘)
  4. drop table stuInfo
  5. go
  6. create table stuInfo
  7. (
  8. stuName varchar(20) not null primary key(stuName)
  9. ,stuID int not null unique(stuID)
  10. ,stuAddress varchar(20) not null default(‘地址不详‘)
  11. ,stuAge int not null check(stuAge between 15 and 40)
  12. )
时间: 2024-08-25 16:04:29

【转】使用SQL语句创建和删除约束的相关文章

使用SQL语句创建和删除约束

约束的目的就是确保表中的数据的完整性. 常用的约束类型如下: 主键约束:(Primary Key constraint)      要求主键列唯一,并且不允许为空 唯一约束:(Unique Constraint)              要求该列唯一,允许为空,但只能出现一个空值 检查约束:(Check Constraint)                某列取值范围限制.格式限制等.如有关年龄的限制 默认约束:(Default Constraint)               某列的默认

使用sql语句创建和删除约束示例代码

使用sql语句创建和删除约束  约束类型 主键约束(Primary Key constraint) --:要求主键列数据唯一,并且不允许为空.  唯一约束(Unique constraint) --:要求该列唯一,允许为空,但只能出现一个空值.  检查约束(Check constraint) --:某列取值范围限制,格式限制等,如有关年龄.邮箱(必须有@)的约束.  默认约束(Default constraint) --:某列的默认值,如在数据库里有一项数据很多重复,可以设为默认值.  外键约束

用SQL语句创建和删除Access数据库中的表;添加列和删除列

用SQL语句创建和删除Access数据库中的表;添加列和删除列 Posted on 2009-08-11 13:42 yunbo 阅读(1240) 评论(0) 编辑 收藏 用SQL语句创建和删除Access数据库中的表;添加列和删除列SQL语句,具体使用方法请看帮助          Create    Table    tab1    (fld1    integer)      Drop    Table    tab1          Alter    Table    tab1   

Access sql语句创建表及字段类型(转)

http://www.cnblogs.com/hnyei/archive/2012/02/23/2364812.html 创建一张空表: Sql="Create TABLE [表名]" 创建一张有字段的表: Sql="Create TABLE [表名]([字段名1] MEMO NOT NULL, [字段名2] MEMO, [字段名3] COUNTER NOT NULL, [字段名4] DATETIME, [字段名5] TEXT(200), [字段名6] TEXT(200))

SQL语句创建数据库以及一些查询练习

--创建 MyCompany数据库 use master execute sp_configure 'show advanced options',1 --开启权限 reconfigure execute sp_configure 'xp_cmdshell',1 reconfigure execute xp_cmdshell 'mkdir e:\作业数据库'--自动创建文件夹 execute sp_configure 'xp_cmdshell',0--关闭权限,先关 reconfigure ex

使用sql语句创建修改SQL Server标识列(即自动增长列)

一.标识列的定义以及特点SQL Server中的标识列又称标识符列,习惯上又叫自增列.该种列具有以下三种特点:1.列的数据类型为不带小数的数值类型2.在进行插入(Insert)操作时,该列的值是由系统按一定规律生成,不允许空值3.列值不重复,具有标识表中每一行的作用,每个表只能有一个标识列.由于以上特点,使得标识列在数据库的设计中得到广泛的使用.二.标识列的组成创建一个标识列,通常要指定三个内容:1.类型(type)在SQL Server 2000中,标识列类型必须是数值类型,如下:decima

【转】用sql语句创建表的时候给列指定说明(描述)

用sql语句创建表的时候,如何给列指定说明.主要用到sp_addextendedproperty这个存储过程. 语法   sp_addextendedproperty     [ @name = ] { 'property_name' }     [ , [ @value = ] { 'value' }         [ , [ @level0type = ] { 'level0_object_type' }                     , [ @level0name = ] {

5-04用Sql语句创建表

用Sql语句创建表的基本语法: USE E_Market--指向当前所操作的数据库 GO CREATE TABLE CommoditySort--创建表的名字 { sortID int IDENTITY(1,1) NOT NULL,类别编号 sordName varchar(50) NOT NULL --类别名称 } GO

Navicat for MySQL界面下如何用SQL语句创建表?

Navicat for MySQL界面下如何用SQL语句创建表?下面小编就告诉你.首先打开 Navicat,选择一个数据库,点击"查询",在右侧点击"创建查询",输入SQL语句,点击"执行"就可以了,示例SQL: CREATE TABLE `test`.`users` ( `id` int(10) NOT NULL AUTO_INCREMENT, `name` varchar(20) DEFAULT NULL, `age` int(10) DEF