数据完整性

  实体完整性

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

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

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

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

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

            添加主键的三中方式:

              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. 根据PID寻找程序源位置--lsof

    ulimit其实就是对单一程序的限制,进程级别的 file-max是所有时程最大的文件数 nr_open是单个进程可分配的最大文件数 确认系统设置的最大文件句柄数 ulimit -a 统计系统中当前打 ...

  2. 解决PL/SQL导出cvs文件中文显示乱码

    方法 1 导出csv格式文件 新建excel文件 比如 a.xls excel软件打开 选择菜单数据 -导入外部数据  unicode默认下一步 选择 逗号分隔符 点击确定导入完成 方法 2 导出成h ...

  3. 吴裕雄 数据挖掘与分析案例实战(10)——KNN模型的应用

    # 导入第三方包import pandas as pd # 导入数据Knowledge = pd.read_excel(r'F:\\python_Data_analysis_and_mining\\1 ...

  4. spark 创建稀疏向量和矩阵

    http://blog.csdn.net/canglingye/article/details/41316193 [相互转换]:http://stackoverflow.com/questions/3 ...

  5. Java HashMap,LinkedHashMap,TreeMap

    Java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMapMap主要用于存储健值对,根据 ...

  6. MySQL+Navicat for MySQL安装

    一.安装MySQL 1.下载MySQL http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.10-winx64.zip 2.安装 2.1解压安装包 ...

  7. Maven国内镜像-阿里云

    国外的maven下载速度堪忧,大部分国内网络访问都很慢国内的阿里云同样提供了maven的文件镜像使用:1.在maven的setting.xml加入下段代码即可使用阿里云的maven镜像 <mir ...

  8. ASP.NET中修改从数据库获取的datatable中的值

    有些时候,我们从数据库表中获取一个实体的对象,但有些内容并不是最终显示的内容,格式也都是不一样.经过一番尝试,发现datatable中的数值如果跟想要改变的类型不一致,就无法更改,只有添加新列,然后把 ...

  9. VMware克隆CentOS网络配置

    配置网络 如果是克隆CentOS的: vi /etc/udev/rules.d/70-persistent-net.rules 注释掉网络eth0,把最后一个改为eth0,记录下mac地址. vi / ...

  10. ios 处理WKContentView的crash

    http://www.jianshu.com/p/7ef5814a871b     解决WKContentView没有isSecureTextEntry方法造成的crash 程序中有web页面,使用W ...