必须会的SQL语句(八) 数据库的完整性约束

实体完整性
1.建表时定义主键

Create table 表名
   (
        Sno int identity(1,1),
        Sname nvarchar(20),
        --设置主键
        Primary key (Sno)
   )
 
2.添加主键

alter table 表名
    add constraint PK_表名_Sno
    primary key(id)
参照完整性1.建表时定义外键

create table 表名
  (
      sno int identity(1,1) primary key,
      cno int not null,
      foreign key(cno) References
      表名2(Cno)
      on Delete cascade     --级联删除
      on update cascade    --级联更新
      -- on delete on action  删除管制
  )
 
2.添加外键
   alter table 表名
   add constraint FK_表名_表名2
   Foreign key(cid) references 表名2(cid)
用户定义完整性1.非空约束
   alter table 表名
   alter column name varchar(20) not null
 
2.唯一约束
   alter table 表名
   add constraint UQ_表名_列名 unique(列)
 
3.检查约束
   alter table 表名
   add constraint CK_表名_列名 check(age>5)
 
4.默认约束
   alter table 表名
   add constraint DF_表名_列名 default('男')
   for gender
删除约束    --删除约束
   alter table 表名 drop constraint DF_表名_列

时间: 2024-09-28 07:47:22

必须会的SQL语句(八) 数据库的完整性约束的相关文章

必须会的SQL语句(八) 数据库的完整性约束_MsSql

实体完整性1.建表时定义主键   Create table 表名    (         Sno int identity(1,1),         Sname nvarchar(20),         --设置主键         Primary key (Sno)    )   2.添加主键     alter table 表名     add constraint PK_表名_Sno     primary key(id) 参照完整性1.建表时定义外键   create table

sql语句操作数据库,参数太多怎么办

问题描述 平时用sql语句操作数据库,可是现在因为数据库设计的原因,参数特别多,有时30多个参数,实在有点晕.有没有什么好办法. 解决方案 解决方案二:用数组或List<T>解决方案三:用List<T>,将这些参数值存储在一个类中,然后再将类的对象添加进List<T>中解决方案四:把它写成存储过程就好理解点解决方案五:检查参数是否一定要写的?可以用默值的.解决方案六:关键不是录入数据的问题,比如写入数据库如果使用insertinto语句或update语句这30多个参数就

sql server-求一条sql语句 sqlserver数据库

问题描述 求一条sql语句 sqlserver数据库 刷卡表,有ID,刷卡时间.时间等并和用户表形成多对一关系,使用的是sqlserver. 我要取得是"昨天,每个用户的最大刷卡时间和最小刷卡时间的刷卡数据". 我的SQL不是很好,昨天.最大刷卡时间和最小都能搞出来,但是加个每个用户就乱了: 因为每个用户都可能会有多条刷卡数据. ...求解 解决方案 select b.username, max(刷卡时间) 最大刷卡时间, min(刷卡时间) 最小刷卡时间 from 刷卡表 a inn

hibernate-Hibernate使用sql语句操作数据库时出现的异常could not execute query

问题描述 Hibernate使用sql语句操作数据库时出现的异常could not execute query 代码如下: HibernateUtil: public static int createSqlQuery(String sql Serializable... serializables) { Session session = null; Integer result = null; try { session = getSession(); session.beginTransa

iOS开发中使用SQL语句操作数据库的基本用法指南_IOS

SQL代码应用示例 一.使用代码的方式批量添加(导入)数据到数据库中 1.执行SQL语句在数据库中添加一条信息 插入一条数据的sql语句: 点击run执行语句之后,刷新数据 2.在ios项目中使用代码批量添加多行数据示例 代码示例: 复制代码 代码如下: // //  main.m //  01-为数据库添加多行数据 // //  Created by apple on 14-7-26. //  Copyright (c) 2014年 wendingding. All rights reserv

sql语句查询数据库中的表名/列名/主键/自动增长值实例_MsSql

sql语句查询数据库中的表名/列名/主键/自动增长值 ----查询数据库中用户创建的表 ----jsj01 为数据库名 select name tablename from jsj01..sysobjects where type='U' and name not in ('dtproperties') --查询表里的字段信息 ---docs为表名 ---- select * from syscolumns where id = object_id('docs') ----查询数据库中所有类型

hibernateTemplate.update() 方法 控制台已输出SQL语句,但数据库没有更新

问题描述 运用Spring集成Hibernate使用hibernateTemplate.update()执行修改用户操作SQL语句控制台已经输出,对象参数也正确,控制台也没有输出事务回滚但数据库数据没有更新卡了一上午了,在网上查了相关问题没有找到合适答案,所以来CSDN求教求大神解答... 解决方案 解决方案二:@Transactional(propagation=Propagation.REQUIRED,isolation=Isolation.DEFAULT)publicvoidupdateS

通过sql语句获取数据库的基本信息

数据|数据库|语句 您可以通过以下几个sql 可以立即了解系统的状况和数据库的状态(仅献给习惯使用sql/plus的人 呵呵 )(1) 查询oracle 的物理结构1.1. 查看数据文件SQL> select name from v$datafile;NAME---------------------------------------------/u05/dbf/PROD/system_01.dbf/u05/dbf/PROD/system_01.dbf  (系统数据文件)/u06/dbf/PR

ASP中使用SQL语句操作数据库

数据|数据库|语句 用ASP操作数据库时,很多人都使用记录集,但我觉得用SQL语句更好些,于是就写了这篇文章,希望对你有帮助. <%'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''以下段为连接数据库和断开连接(数据库为Access格式,采用DSN来连接)''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''sub conn