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

   2015-07-14 0
核心提示:本例主要介绍了使用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也打上勾 

默认约束使用户能够定义一个值,每当用户没有在某一列中输入值时,则将所定义的值提供给这一列。如果用户对此列没有特定的要求,可以使用默认约束来为此列输入默认值。

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • ORACLE中通过SQL语句(alter table)来增加、删除
    1.添加字段:alter table  表名  add (字段  字段类型)  [ default  '输入默认值']  [null/not null]  ;2.添加备注:comment on column  库名.表名.字段名 is  '输入的备注';  如: 我要在ers_data库中  test表 document_type字段添加备注  comm
    02-10
  • mysql where条件:某时间字段为今天的sql语句
    1.查询:注册时间为今天的所有用户数:select count(*) from customer where TO_DAYS(createtime) = TO_DAYS(NOW())2.获取当前时间到凌晨24点还有多长时间:(Java中可用于判断某时间是否为今天)final Calendar cal = Calendar.getInstance();    ca
    02-10
  • MySQL根据某一个或者多个字段查找重复数据的sql语句
    


            
MySql 删除多个字段重复的数据(只保留一条)
    MySQL根据某一个或者多个字段查找重复数据的sql
     DELETE FROM 表名 WHERE (字段1,字段2,字段3)IN (SELECT 字段1,字段2,字段3 FROM (SELECT 字段1,字段2,字段3 FROM 表名 GROUP BY 字段1,字段2,字段3 HAVING COUNT(*)1) s1) ANDid NOT IN (SELECT id FROM (SELECT id FROM 表名 GROUP BY 字段1,字段2,字段3
    02-10
  • 一条SQL语句在MySQL中如何执行的 mysql执行语句
    本篇文章会分析一个 sql 语句在 MySQL 中的执行流程,包括 sql 的查询在 MySQL 内部会怎么流转,sql 语句的更新是怎么完成的。在分析之前我会先带着你看看 MySQL 的基础架构,知道了 MySQL 由那些组件组成以及这些组件的作用是什么,可以帮助我们理解和解决这
    02-10
  • SQL语句里怎么获得当前年份(MySQL数据库)
    使用函数Year及CurDate的组合: Year(CurDate())selectdate_format(min(date),'%Y-%m-%d') as mindate,date_format(max(date),'%Y-%m-%d') as maxdate,weekofyear(date) as weekyear,format(sum(hours),2) as sumhours from daywork where userid='myid'
    02-10
  • MySql使用show processlist查看正在执行的Sql语
    今天上班例行的查看了下服务器的运行状况,发现服务器特卡,是mysqld这个进程占用CPU到了99%导致的。比较好奇是那个程序在使用mysql导致cpu这么高的,通过show processlist命令查看了当前正在执行的sql语句,从而定位到了对应的程序,发现代码中有一个死循环
    02-10
  • Oracle数据库列出所有表名SQL语句 oracle查询表
     select table_name from user_tables
    02-10
  • MYSQL学习笔记——sql语句优化之索引 数据库索
          上一篇博客讲了可以使用慢查询日志定位耗时sql,使用explain命令查看mysql的执行计划,以及使用profiling工具查看语句执行真正耗时的地方,当定位了耗时之后怎样优化呢?这篇博客会介绍mysql中最简单快速的优化方法——添加索引。一、索引的添加  
    02-10
  • ORACLE 查看有多个执行计划的SQL语句
     收藏在SQL优化过程,有时候需要查看哪些SQL具有多个执行计划(Multiple Executions Plans for the same SQL statement),因为同一个SQL有多个执行计划一般意味着代码有问题或某些其它原因,例如,SQL语句使用绑定变量,但是绑定变量的类型或长度可能不一致
    02-10
  • MySQL常用sql语句-----数据表的查询操作 mysql查询语句
    MySQL常用sql语句-----数据表的查询操作 mysql
    1.查询指定字段select c_id,c_age,c_name from t_student;select c_id as 编号,c_name as 姓名,c_age 性别 from t_student;2.去重查询select distinct c_address from t_studentselect distinct c_address,c_name from t_student3.比较运算符查询select c_nam
    02-10
点击排行