zoukankan      html  css  js  c++  java
  • 数据表的列类型

    列类型

    文本类型

    enum(枚举类型)

    语法:

    enum(值列表);

    说明:

    • 值是使用逗号分隔多个值
    • 值列表中的值的个数最多是65535个
    • 作用是规范数据,节省空间。
    • 类比于form表单中的单选按钮

    示例:

    示例:

    原理:

        

    set集合类型

    语法:

        set(值列表);

    说明:

    • 值是使用逗号分隔多个值
    • 值列表中的值的个数最多是64个
    • 作用是规范数据,节省空间。
    • 类比于form表单中的多选按钮
    • 字段的数据型是一个字符串,相当于将值列表中的多个值拼接成一个字符串,值的顺序可以是任意

    示例:

    原理:

        MySQL会将集合类型组织一个二进制数,集合中的每一个值,按顺序被组织二进制中的一位

    图解:

    插入数据:值是red、silver、pink组合

        

    日期时间型

    date        日期型        格式 'yyyy-mm-dd'

    time        时间型        格式 'hh:ii:ss'

    datetime    日期时间型        格式 'yyyy-mm-dd hh:ii:ss'

    year(m)        年

        m取的是4或2,

        4表示4位的年份,取值    0000至2155

        2表示2位的年份,取值70以上表示19xx,如果是69表示20xx

    示例1:

    示例2:

    timestamp    时间戳类型

    说明:

    • 格式 'yyyy-mm-dd hh:ii:ss'
    • 缺省值是0000-00-00 00:00:00
    • 只要对具有时间戳字段的表中进行更改,那么被更改的记录第1个时间戳字段会自动使用当前的时间进行填充。

    示例:

     

    列属性

    列类型与列属性区别:

    列类型针对的是单独的一个个体,是对单独个体的一个限制。

    列属性针对列的整体进行约束。列属性也就是约束(constraint)。

    示例:

    primary key    主键

    主键:就主要的键,主键是索引中的一种,索引就是唯一标识一条记录,提供用记数据查询,索引就是加快表的查询速度。一般会自定义一个与用户数据无关的字段作为主键字段。

     

    创建主键

    方法1:在创建表结构时,在需要定义主键的字段后使用primary key,来定义主键

    示例:

    方法2:

        在创建表结构时,在所有的字段后,使用primary key('字段名')

    示例:

    方法3:

        在表结构好后之后,通过修改表结构来添加主键字段

    查看表结构

    主键的特点:

    1、主键一定要唯一

    2、主键字段的值不能为null

    3、主键字段如果没有使用auto_increment,那么缺省值是0,

    4、一个表中的主键字段只能有一个

    主键的修改

    主键不能修改,只能通过删除的方式,再重新添加主键

    删除主键

    语法:

        alter table 表名 drop primary key;

    示例:

    复合主键

        就是由两个或多个字段共同组成主键字段

    示例:

    说明:

        对于复合主键,只要当复合主键中所有的字段都相同时,才算是主键重复。

     

    auto_increment    自增长

    • 自动根据表中的数据进行,新记录字段值的填充。
    • 对于自增长自段,只能是整型
    • 自增长字段,只能是一个索引字段(primary key 或者unique)
    • 主要与primary key配合使用

    错误示例:

    示例:

    主键字段数据的插入:

    对于自增长字段,可以人为的更改自增长的数据规律

    (默认)新记录的自增加字段的值,是表中最大的自增长字段的值+1

    自增长的字段的值保存位置:

    show create table 表名;

    示例:

    自增长变量:

    语法:

    show variables like 'auto_increment_%';

    示例:

    auto_increment_increment    表示步长

    auto_increment_offset    表示起始值

    示例:

    自增长的删除

    通过修改字段类型的方式

    alter table 表名 modify 字段名 字段类型;

    示例:

    null

        在进行数据插入时,如果没有为具有约束的字段赋值时,那么MySQL默认会以null填充。

        在实际工作中,一般字段都不允许为null,

    示例:

    default    

    缺省值

    当插入记录时,如果没有为某些字段赋值,那么可人为指定一个缺省值

    示例:

    unique

    唯一键

        用于约束整个列中的数据不能重复。

    唯一键的特点:

        不能重复,但可以是为null(原因null不等于null)

    示例1:

    示例2:

    查看

    删除唯一键

        由于唯一键就是一个普通索引(index)

    语法:

        alter table 表名 drop index 约束名;

    示例:

    查看约束名:

    show create table 表名;

    模拟主键

        如果一个表中没有主键(primary key)字段,那么MySQL会将第一个具有not null&&unique约束的字段设置为主键字段。

  • 相关阅读:
    eclipse 添加.gitignore
    HTTP method POST is not supported by this URL
    Nodejs 如何解决每次向后台发起请求时判断用户是否处于登录状态?
    Servlet 全局验证是否登录
    会员管理系统的设计和开发(1)
    C程序模拟实现银行家算法
    XPath Helper:chrome爬虫网页解析工具 Chrome插件
    scrapy爬虫出现Forbidden by robots.txt
    廖雪峰
    Nodejs中export的作用
  • 原文地址:https://www.cnblogs.com/nyxd/p/5357026.html
Copyright © 2011-2022 走看看