数据类型和约束

  1. 数据类型

    1. 整数类型: int 和 bigint
      	create table t1(
      	name varchar(10),
      	age int(10) zerofill
      	)
    

    zerofill 表示这个列的数据长度不足时前面用0补位

    1. 浮点数: float(m,d) 和 double(m,d),m代表长度,d代表小数长度。
    2. 字符串: char(m) 固定长度m=10,存abc也占10位。varchar可变长度,最大长度65535, 超过255建议使用text
    3. 日期: date年月日。time时分秒。datetime: 默认值为null,最大9999-12-31。 timestamp: 默认值为当前系统时间。
  2. 数据库约束

    • . 数据库约束
      储存在数据库中的所有数据值均为正确的状态。如果有不正确数据则称为已丧失数据完整性。

    • . 主键约束

      • 什么是主键: 表示数据唯一性的字段为主键。
      • 什么是约束: 创建表时,给字段添加限制条件。
//设置id为主键,primary key
create table tt(id int primary key, name varchar(10));

insert into tt values(1,'aaa');//成功
insert into tt values(1,'bbb');//报错,不能重复
insert into tt values(null,'ccc');//报错,不能为null
  • . 主键约束+自增

    create table t3(id int primary key auto_increment, name varchar(10));
    	
    insert into t3 values(null,'aaa'); //1
    insert into t3 values(null,'bbb'); //2
    insert into t3 values(10,'ccc'); //10
    insert into t3 values(null,'ddd')//11
    delete from t3 where id >= 10;
    insert into t3 values(null,'eee');//12
    
  1. 非空约束
    被设置非空约束的列数据不能为空。

    create table t4(
     id int primary key auto_increment,
     name varchar(10) not null,
     addr varchar(30)
     );
    
    insert into t4 values(null,'aaa',null); //ok
    insert into t4 values(null,null,'beijing'); //fail
    insert into t4 values(null,'','shanghai'); //ok
    
  2. 唯一约束
    被设置唯一约束的列数据不能出现重复的值

    create table t5(
    id int primary key auto_increment,
    name varchar(10) not null,
    phone varchar(11) unique
    );
    
    insert into t5 values(null, 'aaa', null); //ok
    insert into t5 values(null, 'bbb', '123'); //ok
    insert into t5 values(null, 'eee', '123'); //fail
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值