数据完整性

  实体完整性

  实体: 表中一行(一行记录)代替一个实体

  实体完整性的作用: 标识每一行数据不重复。

  约束类型: 主键约束, 唯一约束,自动增长列。

主键约束: 标识该列唯一,非空。

            注:  每个表中必须要有一个主键

            添加主键的三中方式:

              1.在创建表的过程中直接创建。   

CREATE TABLE student(
id int primary key,
name varchar(50)
);

              2.  在创建表中的特殊创建方式:  优点在于  可以联合创建主键

CREATE TABLE student(
id int,
name varchar(50),
primary key(id)
);
CREATE TABLE student(
classid int,
stuid int,
name varchar(50),
primary key(classid,stuid)
);

              3.在表创建完成之后再给列创建主键

alter  table  表名 add  primary key (列名);

  

  

        唯一约束;    标识该列的值不能重复 。

    

CREATE TABLE student(
Id int primary key,
Name varchar(50) unique
);

        自增长:  标识 该列的数据会自动增长。 不需要人为的给值。

sqlserver数据库 (identity)  oracle数据库( sequence)

给主键添加自动增长的数值,列只能是整数类型
CREATE TABLE student(
Id int primary key auto_increment,
Name varchar(50)
);
INSERT INTO student(name) values(‘tom’);

  

  域完整性

    作用: 限制单元格的数据正确,不对照此列的其他单元格比较

      域代表当前单元格;

      域完整性的约束: 数据类型    默认值约束(default)   非空约束(not null)  check约束(mysql不支持)

    默认值约束:

CREATE TABLE student(
Id int pirmary key,
Name varchar(50) not null,
Sex varchar(10) default ‘男’
);

insert into student1 values(1,'tom','女');

insert into student1 values(2,'jerry',default);

      非空约束:not null

CREATE TABLE student(
Id int pirmary key,
Name varchar(50) not null,//该列表示为非空
Sex varchar(10)
); INSERT INTO student values(1,’tom’,null);

  引用完整性(参照完整性)

    外键:foreign   key

      创建外键的方法

    ALTER TABLE 表名  ADD CONSTRAINT 主键名   FOREIGN KEY (列名)  REFERENCES 表名(列名);

   表与表之间的关系;

      一对一;

      一对多;

      多对多;

  

day15(mysql之零碎知识)的更多相关文章

  1. mysql之零碎知识

    一 视图 什么是视图:视图就是一张虚拟表.方便查看. 创建视图:create view 起名 as sql语句 #两张有关系的表 mysql> select * from course; +-- ...

  2. mysql 索引相关知识

    由where 1 =1 引发的思考 最近工作上被说了 说代码中不能用 where 1=1,当时觉得是应该可以用的,但是找不到什么理据, 而且mysql 语句优化这方面确实很薄弱   感觉自己mysql ...

  3. [置顶] Mysql存储过程入门知识

    Mysql存储过程入门知识 #1,查看数据库所有的存储过程名 #--这个语句被用来移除一个存储程序.不能在一个存储过程中删除另一个存储过程,只能调用另一个存储过程 #SELECT NAME FROM ...

  4. mysql数据库相关知识

    什么是数据库?                数据库(Database)是按照数据结构来组织.存储和管理数据的建立在计算机存储设备上的仓库.(来自:百度) 什么是sql? 结构化查询语言(Struct ...

  5. 【Python】 零碎知识积累 II

    [Python] 零碎知识积累 II ■ 函数的参数默认值在函数定义时确定并保存在内存中,调用函数时不会在内存中新开辟一块空间然后用参数默认值重新赋值,而是单纯地引用这个参数原来的地址.这就带来了一个 ...

  6. 【Python】 零碎知识积累 I

    大概也是出于初高中时学化学,积累各种反应和物质的习惯,还有大学学各种外语时一看见不认识的词就马上记下来的习惯,形成了一种能记一点是一点的零碎知识记录的癖好.这篇文章就是专门拿来记录这些零碎知识的,没事 ...

  7. MySQL数据库基础知识及优化

    MySQL数据库基础知识及优化必会的知识点,你掌握了多少? 推荐阅读: 这些必会的计算机网络知识点你都掌握了吗 关于数据库事务和锁的必会知识点,你掌握了多少? 关于数据库索引,必须掌握的知识点 目录 ...

  8. Mysql之基础知识笔记

    Mysql数据库基础知识个人笔记 连接本地数据库: mysql -h localhost -u root -p 回车输入数据库密码 数据库的基础操作: 查看当前所有的数据库:show database ...

  9. mysql基础类型知识总结

    Mysql知识回顾 http://www.educity.cn/wenda/596225.html http://blog.csdn.net/dyllove98/article/details/928 ...

随机推荐

  1. How to Pronounce the Word SOMETHING

    How to Pronounce the Word SOMETHING Share Tweet Share Something tells me you’re going to like this v ...

  2. 迷你MVVM框架 avalonjs 学习教程21、双向绑定链

    avalon的双向绑定机制,是通过一条依赖链实现.此依赖链最底层是监控属性.监控数组,中层是计算属性.监控函数,再上点是求值函数,最上层是视图刷新函数. 所谓计算属性,监控属性,监控函数属性,我们改变 ...

  3. SQL 存储过程 超市小票打印

    create database chaoshils--创建一个数据库 go use chaoshils--使用这个数据库 go create table gongying--创建一个供应商的表格 ( ...

  4. chrome 调试参数大全

    一.鼠标事件监控: monitorEvents(document, ["scroll"]); monitorEvents($('#action-button'), ["m ...

  5. GEOquery

    1)介绍 来自NCBI的Gene Expression Omnibus(GEO)作为各种高通量实验数据的公共存储库. 这些数据包括基于单通道和双通道微阵列的实验,测量mRNA,基因组DNA和蛋白质丰度 ...

  6. ReentrantLock 使用

    从使用场景的角度出发来介绍对ReentrantLock的使用,相对来说容易理解一些. 场景1:如果发现该操作已经在执行中则不再执行(有状态执行) a.用在定时任务时,如果任务执行时间可能超过下次计划执 ...

  7. eclipse UTF-8

    1. 你本地开发环境IDE,默认配置也是gbk,改为utf82. 检查你tomcat等服务器中间件GBK改成UTF8eclipse工作空间的编码设置成UTF-8,具体操作是:windows---pre ...

  8. SUSE11&12 永久关闭防火墙

    SUSE11下:关闭操作为:service SuSEfirewall2_setup stopservice SuSEfirewall2_init stop取消开机启动防火墙:chkconfig SuS ...

  9. iOS8 之后 tableview separatorInset cell分割线左对齐,ios7的方法失效了

    -(void)viewDidLayoutSubviews { if ([self.mytableview respondsToSelector:@selector(setSeparatorInset: ...

  10. idea 注释文件和方法注释

    类注释: 如下图所示