zoukankan      html  css  js  c++  java
  • 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内容。   不加为好。

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

          

  • 相关阅读:
    环境装好,开始学习
    懒惰了
    我的net试验田
    时间不够用
    【转帖】关于委托的精彩解说(非常形象)
    【转帖】 CLR 全面透彻解析:托管和本机代码互操作性
    【转贴】C#中的API32
    【转帖】Windows Mobile 开发系列文章收藏 Windows Mobile 6.x
    弹跳圣经——扣篮梦
    【转帖】.Net中C#的DllImport的用法
  • 原文地址:https://www.cnblogs.com/jiejava/p/13166233.html
Copyright © 2011-2022 走看看