当前位置: 首页 > 编程笔记 >

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

蒋曾笑
2023-03-14
本文向大家介绍使用sql语句创建和删除约束示例代码,包括了使用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也打上勾 

默认约束使用户能够定义一个值,每当用户没有在某一列中输入值时,则将所定义的值提供给这一列。如果用户对此列没有特定的要求,可以使用默认约束来为此列输入默认值。
 类似资料:
  • 本文向大家介绍MySQL中外键的创建、约束以及删除,包括了MySQL中外键的创建、约束以及删除的使用技巧和注意事项,需要的朋友参考一下 前言 在MySQL 3.23.44版本后,InnoDB引擎类型的表支持了外键约束。 外键的使用条件: 1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前不支持); 2.外键列必须建立了索引,MySQL 4.1.2以后

  • 问题内容: 我试图传递包含键和值的数组。 键是列,值是要选择的值。 我试图编写一个函数,可以传递数组并将键和值用作表的列和值。例如: 我需要这样创建sql语句: 问题答案: 您可以构建一个简单的SQL Select,如下所示:

  • 问题内容: 我在oracle上有Tester表,其中包含以下各列: TesterID TesterName IsDefault Application_ID TesterID是主键。现在,我希望只能有一个默认测试器,这意味着只有一个测试器可以在ApplicationID上具有IsDefault = Y的提示。 我尝试了一个约束: 是否可以在isdefault = Y的位置上设置唯一键? 感谢帮助!

  • 问题内容: 我上周一直在学习SQL,但是我不确定如何在检查约束中正确添加case语句。有人可以给我指点吗? 我有以下成绩表: 我想检查是否在AD之间,则必须为“ S1”,或者是否在EG之间,则为“ S2”。 我试图对此进行研究并提出后者,但是它不起作用..我是否正确构造了代码? 问题答案: 我认为您可以执行以下操作: 请在此处查看SQL Fiddle模式。 您不需要约束,因为正则表达式检查就足够了

  • 我的应用程序有很多使用语句编写的JDBC查询,因此容易受到SQL注入的影响。不幸的是,这个应用程序是大约10年前开发的,可能开发人员不知道准备语句。 我知道解决这个问题的最好方法是使用PreparedStatement,但是在整个应用程序中转换它是非常繁琐的。此外,为SQL注入编写任何类型的模式匹配可能非常棘手,因为像Select、insert、union等关键字都是英语单词,它们也可能出现在用户

  • 问题内容: 我收到以下错误。请你帮助我好吗? 消息547,级别16,状态0,第1行 INSERT语句与FOREIGN KEY约束“ FK_Sup_Item_Sup_Item_Cat”发生冲突。在数据库“ dev_bo”的表“ dbo.Sup_Item_Cat”中发生了冲突。该语句已终止。 代码: 最后一列是导致该错误的原因。我试图将已经存在的值放入对应于sup_item的列中。 问题答案: 在您的