美文网首页
字段属性——列属性

字段属性——列属性

作者: 咸鱼有梦想呀 | 来源:发表于2017-10-04 17:31 被阅读0次

列属性:真正约束字段的是数据类型,但是数据类型的约束很单一,需要一些额外的约束,来更加的保证数据的合法性,这就是列属性。

列属性

  • 空属性(Null/Not Null)
  • 列描述(comment)
  • 默认值(default)
  • 主键(primary key)
  • 自增长
  • 唯一键(unique key)
什么是列属性

一、空属性

两个值:Null(默认值)和Not Null(不为空)

虽然默认数据库基本字段为空,但是在实际上真正开发的时候,尽可能保证所有数据不应该为空。因为,空数据没有意义,也没有办法参与运算。

为什么设置空的原因:

为什么不设置空的原因

举个栗子:

举个栗子

二、列描述

列描述:comment

描述,没有实际含义:是专门用来描述字段,会根据表创建语句保存
用来给程序员(数据库管理员)来进行了解的。

列描述的应用:

列描述

三、默认值(default)

默认值:某一种数据会经常性的出现某个具体值
可以在一开始就指定好:在需要真实数据的时候,用户可以选择性的使用默认值

举个栗子:

默认值

默认值的生效(使用):在数据进行插入的时候,不给该字段赋值

插入数据

四、主键(primary key)

主键:primary key,
主要的键。一张表里只能有最多一个主键,用来唯一 的约束该字段里的数据,不能重复。

主键本身不允许为空

增加主键:有三种方式

①在创建表的时候,直接在字段之后,跟primary key关键字。
只能使用一个字段作为主键
②在创建表的时候,在所有字段之后,使用primary key(主键字段列表)来创建列表
(如果有多个字段作为主键,可以是复合主键)
③当表已经创建好之后,再额外追加主键:特意通过修改字段属性,也可以直接追加
追加主键:Alter table <表名> add primary key(字段列表);
前提是:表中字段对应的数据本身是独立的(不重复)。
第一种方式增加主键 第二种方式增加主键 第三种追加主键

主键约束:主键对应的字段中的数据不允许重复;一旦重复,数据操作失败(增和改)保证了数据的唯一性。

删除主键

Alter table <表名> drop primary key;

主键无法更新,只能删了再增加

删除主键

五、自增长

自增长:当对应的字段,不给值,或者说是给默认值,或者给null时,会自动的被系统触发,系统会从当前字段中已有的最大值再进行+1操作,得到一个新的不同的字段

自增长通常是跟主键搭配

自增长的特点:auto_increment

1、任何一个字段要做自增长必须前提是本身是一个索引(key一栏有值)
2、自增长字段必须是数字(整型)
3、一张表最多只能有一个自增长

举个栗子:


自增长特点

自增长使用

当自增长被给定的值为null或者默认值的时候会出发自增长
自增长使用

修改自增长

自增长如果涉及到字段改变:必须先删除自增长,后增加(一张表只能有一个自增长)

修改当前自增长已经存在的值:修改只能比当前已有的自增长的最大值大,不能小(小不生效)
Alter table <表名> auto_increment = 值;
修改自增长

删除自增长

自增长是字段的一个属性:可以通过modify来进行修改(保证字段没有auto_increment即可)
Alter table <表名> modify <字段> <类型>;
删除自增长

六、唯一键(unique key)

一张表中往往有很多字段需要具有唯一性,数据不能重复;但是一张表中只能有一个主键。唯一键就可以解决表中有多个字段需要唯一性约束的问题

唯一键默认的允许自动为空,而且可以多个为空(空字段不参与唯一性的比较)

增加唯一键:有三种方式

1、在创建表的时候,直接在字段之后,跟unique/unique key
只能使用一个字段作为主键
2、在所有字段之后,增加unique key(字段列表);——复合唯一键
3、当表已经创建好之后,增加唯一键
增加唯一键:Alter table <表名> add unique key(字段列表);
第一种方案 第二种方案

更新唯一键

先删除,后新增

Alter table <表名> drop index 索引名;  

唯一键默认的使用字段名作为索引名字
删除唯一键

相关文章

  • 字段属性——列属性

    列属性:真正约束字段的是数据类型,但是数据类型的约束很单一,需要一些额外的约束,来更加的保证数据的合法性,这就是列...

  • 列属性

    07列属性 01列属性——自动增长 字段从1开始每次递增1,特点是字段中的数据不可能重复,适合记录生成唯一id。 ...

  • MySQL创建表

    DDL CREATE TABLE [IF NOT EXISTS] 表名称( 字段名1 列类型 [属性]...

  • MySQL增删改查和添加外键

    1. 增加表信息 2. 添加列class_id 列属性和class表id 属性int相同 3. 更新字段 4. 增...

  • 数据仓库设计基础

    关系数据模型 数据结构 关系(表,实体) 属性(列,字段) 属性域(约束) 元组(行,记录) 键(超键,候选键,主...

  • MySql基本操作语句(不包含查询)

    数据操作 1.添加记录 不列出属性字段 列出属性字段 一次性插入多条数据,可以列出属性字段名 也可以不列出属性字段...

  • 字段是字段,属性是属性,字段不是属性,属性看getter或set

    1、看图猜字段和属性 2、结果是一个属性【字段麻,太明目张胆啦,就是2啦】,又是哪个属性能够显示出来呢? 3、这是...

  • 列属性

    列属性:真正约束字段的是数据类型,但是这种约束很单一,需要有一些额外的约束,来更加保证数据的合法性,这就需要列属性...

  • 无标题文章

    ##数据库 #三个范式 属性唯一(确 保每列保持原子性)数据库表中的字段都是单一属性的,不可再分。这个单一属性由基...

  • 数据库列属性

    列属性:真正约束字段的是数据类型,但是数据类型的约束很单一,需要有一些额外的约束,来更加保证数据的合法性。列属性有...

网友评论

      本文标题:字段属性——列属性

      本文链接:https://www.haomeiwen.com/subject/isnqyxtx.html