• Python 40 数据库-约束


    约束

    1、什么是约束 ?

    除了数据类型以外额外添加的约束

    2、为什么要使用约束 ?

    为了保证数据的合法性 完整性

    分类:

    1、not null 非空约束,数据不能为空-------------------create table student (id ind,name char(10) not null);

    2、default  默认值约束   可以指定字段的默认值--------create table user (id ind,name char(10) not null,sex char(1) default "woman");

    3、unique   唯一性约束  该字段的值不能重复,unique其实是一种索引索引是一种数据结构 用于提高查询效率,可以为空,一张表中可以有多个唯一约束

    单列唯一约束---------------------create table t5(idcard char(18) unique);    

    多列联合唯一约束---------------create table t6(idcard char(18),phonenumber char(11),unique(idcard,phonenumber));

    4、primary key  (******)称之为主键约束,

    用于唯一标识表中一条记录,该字段只要是惟一的,并且不为空即可,也就是说,从约束的角度来看主键约束和非空约束,唯一约束没有区别,

    它们之间的区别是,

    唯一约束是一种索引,必然存在硬盘上的某个文件中,是物理层面(实实在在存在的数据)

    primary key 是一种逻辑意义上的数据 (实际上不存在)

    换句话说,主键就是由唯一约束和非空约束组成的约束,就像 一男一女,可以组成夫妻,但是夫妻只是一种称呼,不实际存在

    语法:

    create table stu (stuid int primary key,name char(3));    

    create table t7(id int unique not null,name char(3));

    有主键和没有主键的区别

    1.无法区分两个相同记录,比如班级里有两个人名字相同

    2.有主键则意味有这索引,效率更高

    3.可以建立关联关系

    多列联合主键---------------create table t8(idcard char(18),phonenumber char(11),primary key(idcard,phonenumber));

    要不要主键?

    必须的,每个表都应该有主键 哪怕不用唯一标识 也应该考虑提升效率,主键的字段名 几乎都叫id    

    同一个表中可以不可以有多个主键?    

    不可以,没有任何意义,主键的类型需要设置为整型,当然别的也行!建议你别这么干!

    5、auto_increment ******    

    中文:自动增长    

    作用:通常搭配主键字段使用,可以自动为你的数据分配逐渐    

    分配的方式是,添加一条就自动加1  计数从1开始

    语法: ******    

    create table t9(id int primary key auto_increment,name char(3));

    如果主键是自动增长  你可以跳过这个字段 也可以为它插入null  都可以,修改自动增长的起始位置  **     alter table t9 auto_increment = 7;

    注意: 自动增长 只能用于整型

    6、foreign key ******

  • 相关阅读:
    Linux下权限的解释
    【小小帝国】部分攻略
    php上传大文件时php.ini的几处设置
    SSH登录常用工具推荐
    梅兰文化http://www.tzhl.gov.cn/col/col894/index.html
    PHP上传大文件 分割文件上传
    ssh连接Linux很慢,且ssh传输文件很慢的解决方案
    vi命令使用
    SWFUpload 2.5.0版 官方说明文档 中文翻译版
    利用Flash上传大文件,swfupload修改说明flash制作教程
  • 原文地址:https://www.cnblogs.com/zedong/p/9642759.html
Copyright © 2020-2023  润新知