zoukankan      html  css  js  c++  java
  • SQL语句之 数据约束

    SQL语句之 数据约束

     

    什么是数据约束

    数据约束用来限制用户对数据的非法的修改操作。

     

    1.约束字段的默认值

    如果插入记录时,没有给某个字段赋值,那么我们可以设置它的默认值

    关键字:default

    CREATE TABLE test1(
        tin INT,
        tname VARCHAR(20) DEFAULT '待定'
    );
    INSERT INTO test1(tin) VALUES (1);
    SELECT * FROM test1;    

    2.非空约束

    约束一个字段,使它的值不能为空

    关键字: not null

    CREATE TABLE test1(
    tin INT,
    tname VARCHAR(20) NOT NULL
    );

    这里的非空指的是null 和 没有插入值,如果是空字符串,是可以插入的。

     

    3.约束重复值

    使不同的记录的字段的值不能相同。

    关键字: unique

    CREATE TABLE test1(
    tin INT UNIQUE,
    tname VARCHAR(20)
    );

    虽然不可重复,但是null可以插入,而且可以多个记录的值为null

     

    4.主键约束

    当需要每一条记录都有一个唯一的标识,这就需要使用主键,例如生活中的ID,一般公司内每个人的ID都是唯一的,对每个人都是唯一的标识。

    关键字:primary key

    CREATE TABLE test1(
    tin INT PRIMARY KEY,
    tname VARCHAR(20)
    );

    主键的特性: 唯一,不能为null

     

    5.自增长

    有些数据我们希望每插入一条记录到表中,那么该记录的自动获得一个编号,每次插入一条记录,该编号就自动加1,例如ID,这就需要用到自增长。

    关键字:auto_increment

    CREATE TABLE test1(
    tin INT PRIMARY KEY AUTO_INCREMENT,
    tname VARCHAR(20)
    );

    自增长的特性

    我们使用delete from 语句来删掉表中的所有数据,自增长数值是不会重置的。

    如果使用truncate fom 语句来删除表中所有数据,自增长数的值会重新从0算起。

    TRUNCATE TABLE test;

     

     

  • 相关阅读:
    delphi利用qdac qworker计划任务
    delphi libssh2 无法立即完成一个非阻止性套接字操作
    线程池底层原理
    【spring源码分析】二、Spring扩展点的归总
    【spring源码分析】一、spring Refresh流程
    Spring中常用的类
    设计模式-proxy
    SpringAOP
    SpringIOC
    难受,nginx worker进程内存持续飘升!
  • 原文地址:https://www.cnblogs.com/vmax-tam/p/4149944.html
Copyright © 2011-2022 走看看