• MySQL数据库的约束


    一 默认值约束

      约束语句 default  ‘默认值’  

      在建立表的时候在想要加默认约束的字段名,数据类型后面加default ‘默认值’

    例如 :

      create table emp(

          uid  int,

          name varchar(10),

          dizhi varchar(10) default '山东淄博'

      );

      这样当对dizhi不赋值时,会默认赋值为  ‘山东淄博’

      当对dizhi赋值时或赋null值是  ‘山东淄博’默认值就不会显示了。

    二 非空约束

      约束语句  not null  

      在建立表的时候在想要加非空约束的字段名,数据类型后面加not null;

    例如:

     create table emp(

          uid  int not null,

          name varchar(10),

          dizhi varchar(10) 

      );

      这里对字段uid 设置的非空属性,那么 当给 uid 赋值null的时候或者给其他值赋值不给UID赋值的时候,就会报错

      但是空字符串可以赋值到uid里

    三 唯一

      讲道理都是唯一了竟然不用only    - - .

      唯一的约束语句是 unique ,在建立表的时候在想要加唯一约束的字段名,数据类型后面加unique;

    例如:

    create table emp(

          uid  int unique,

          name varchar(10),

          dizhi varchar(10) 

      );

      这样uid字段就会加上唯一约束,唯一即为不重复的意思,所以往uid里赋值时不能存在一模一样的uid值。

    四 主键

      主键的定义是非空加唯一,一个表必须建立一个主键来用于精确的索引到数据的内容。

      我觉得如果表里有确认不会重复且字段  可以用它作为主键 ,如果没有,建议自己建列无意义的数据作为主键。

      主键的约束语句是 primary key ,在建立表的时候在想要加主键约束的字段名,数据类型后面加primary key;

    例如:

    create table emp(

          uid  int primary key,

          name varchar(10),

          dizhi varchar(10) 

      );

      因为主键本身就是非空且唯一,所以设置为主键后就不用再加 not null 和 unique。

      五 自增长

       自增长的语句是  auto_increment   需要自增长的字段必须为 int 类型  并且 必须为主键

      在建立表的时候在想要加自增长约束的字段名,数据类型后面加primary key  auto_increment;

    例如:

      

    create table emp(

          uid  int primary key auto_incerment,

          name varchar(10),

          dizhi varchar(10) 

      );

      这样当不给uid赋值的时候会默认为uid赋值一个int 数字  添加第一条是1,添加第二条是2,以此类推 。

      当给uid附一个数字值之后再插入其他数据且不写uid的时候  uid会从你上一条的赋值加1继续赋值。

    六 外键

      其实单独看两个表的时候即使他们有外键,但是外键和主键之间并没有直接联系

      之后建立外键约束  或者 表连接的时候才能显现。

      外键并没有语句,为了方便只是用一个表的主键名作为另一个表的字段名,而且副表的数据不能超出主表的主键内容。

    例如:

    主表 部门表:

      create table dept(

       did  int  primary key,

       bumenmingcheng  varchar(10)

     );

    副表 员工表:

     create table emp(

       eid int primary key,

       did  int ,

       money  double

      外键约束: constraint fk_emp_dept  foreign key(did)  refrrences dept(did)

     );

      其中 在员工表里 did就是外键

      而外键约束可以加也可以不加,加了外键的内容就必须符合主表的did内容。   不加为好。

    黄埃散漫风萧索,云栈萦纡登剑阁

          

  • 相关阅读:
    jmeter的插件安装
    linux下性能监控工具nmon的使用
    kafka如何保证不重复消费又不丢失数据_Kafka写入的数据如何保证不丢失?
    Goroutine和Panic
    go 并发有趣现象和要避开的坑
    Go语言宕机恢复(recover)——防止程序崩溃
    invalid character 'è' looking for beginning of value
    golang实现RPC的几种方式
    channl与select
    我要在栈上。不,你应该在堆上
  • 原文地址:https://www.cnblogs.com/jiejava/p/13166233.html
Copyright © 2020-2023  润新知