数据表的列类型

列类型

文本类型

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约束的字段设置为主键字段。

时间: 2024-10-13 10:53:57

数据表的列类型的相关文章

获取数据表中列的描述值

原文:获取数据表中列的描述值 前面有写过<MS SQL为字段添加说明>https://www.cnblogs.com/insus/p/12106589.html 现如今,我们获取这些字段的描述值. 先来看一句SELECT语句: SELECT * FROM sys.extended_properties GO Source Code 如上SQL语句,虽然得到描述的值,但我们不清楚是哪一张表,和哪一个字段的说明. 因此,得使用系统另外对象来关联查询: SELECT t.[name] AS [Tab

数据值、列类型和数据字段属性

数据值:数值型.字符型.日期型和空值等. 数据列类型 2.1 数值类的数据列类型 2.2 字符串类数据列类型 2.3 日期和时间型数据数据列类型 另外,也可以使用整形列类型存储UNIX时间戳,代替日期和时间列类型,这是基于PHP的web项目中常见的方式.例如,图书的发布时间,就          可以在创建books表的时候使用整型列类型,然后调用PHP的time()函数获取当前的时间戳存在该列中. 3.数据字段属性 1)unsigned:该属性只能用于设置数值类型,不允许数据列出现负数. 2)

Hive带分区列的表更改列类型之坑

常见的一个场景是Hive里面一个带分区的表,原来是int类型的字段,后来发现数据超过了int的最大值,要改成bigint.或者是 bigint要改string或decimal.无论如何,对于带分区的表,要改列类型,有一个坑: 如果使用alter table t change column oldcol newcol bigint,即把int类型的oldcol改为bigint类型的newcol 这个时候,去读数据,应该还是NULL的. 这是因为每个分区Hive还会存一份元数据,于是两种解决方案:

GridView动态添加列并判断绑定数据DataTable的列类型控制展示内容

此篇随笔是2013年根据项目需求开发记录的,不一定符合大众口味,只需了解开发思路,毕竟解决方案多种多样. 下面简单说说需求点吧: (1)通过下拉列表可以选择一个DataSet(数据集),一个DataSet存在可以互相关联的多个DataTable(数据表格),DataTable数据来源于数据库视图:SQL语句关联比较复杂 (2)一个DataTable(数据表格)存在多个可供选择查询显示的Column(列),支持动态组合 (3)Column(列)同时支持作为查询条件进行并运算 先看效果吧,免得待会看

sql增加字段记录丢失 sql数据表丢列 软件增加字段后之前记录丢失

客户名称 某大型企业 数据类型 SQL2005数据库 数据大小 10g 故障现象 数据库其中一个表 被客户把text字段类型改成了varchar类型,导致表数据部分丢失.后客户又改成text类型. 处理结果 客户把文件发给我们后,首先分析造成此次数据丢失的原因,text类型的字段存储的文本内容可以跨页,改成varchar类型就会导致超过长度的值都无法保存在新的varchar类型字段,这样一来就会导致很多超过此长度的数据丢失/.. 根据日志分析 客户先后把这个text字段改成了 varchar(2

jquery easyui+sparkline插件+jqplot插件实现数据表行内插入线形图

Jquery easyui : 实现前端数据包格式化输出,支持多种模块式定义,只需要添加相应的预设参数即可实现丰富的前端. 资料参考: http://www.jeasyui.com/ Jquery sparkline: 基于jQuery 的js插件,底层调用html5的canvas标签,并通过js动态实现在数据表行内画条形图或趋势图,操作简单,可实现不同类型的图形化,如线形图,饼状图,柱形图. 资料参考:http://omnipotent.net/jquery.sparkline/#s-docs

MySQL数据表的设计

数据表:数据表由表结构和表内容两部分组成,先建立表结构,然后才能输入数据. 数据表结构设计主要包括字段名称.字段类型.和字段属性的设置. 在关系数据库中,为了确保数据的完整性和一致性,在创建表时除了必须指定字段名称.字段类型.字段属性外,还需要使用约束(constraint).索引(index).主键(primary key)和外键(foreign key)等功能属性. 数据值和列类型(字段的类型): 对MySQL中数据值的分类:有数值型.字符型.日期型和空值等. MySQL中的列类型有三种:数

Mysql增加主键或者更改表的列为主键的sql语句

最近在整理关于MySql的东西,把一些需要记录的东西写下来,以便以后查询和浏览,以下是一些操作技巧. 添加表字段 alter table table1 add transactor varchar(10) not Null; alter table   table1 add id int unsigned not Null auto_increment primary key 修改某个表的字段类型及指定为空或非空 alter table 表名称 change 字段名称 字段名称 字段类型 [是否

第二天(数据表操作)

一:数据类型 1.字符型数据类型 常用字符型数据类型分别是char.varchar.text.还有nchar.nvarchar.ntext三种类型,这三种类型用于存储unicode字符. 2.数值型数据类型 数值型数据是由0~9之间的数字.正负符号与小数点组成.整数类型指不带小数的类型,带小数的类型称为浮点型 2.1整数类型 整数类型主要包括int.smallint.tinyint.begint和bit这5种. 2.2浮点类型 浮点类型数据包括小数部分与整数部分,常见的类型有numeric与de