首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL字段默认设置详解

前言: 在 MySQL 中,我们可以为表字段设置默认,在表中插入一条新记录时,如果没有为某个字段赋值,系统就会自动为这个字段插入默认。...创建表时,我们可以给某个列设置默认,具体语法格式如下: # 格式模板 DEFAULT # 示例 mysql> CREATE TABLE `test_tb` (...`col3` set default '3aa'; 2.几点使用建议 其实不止非空字段可以设置默认,普通字段也可以设置默认,不过一般推荐字段设为非空。...默认同样可设置在可为 null 字段。 一些状态字段最好给出备注,标明某个数值代表什么状态。 默认要和字段类型匹配。...总结: 本篇文章主要讲述 MySQL 字段默认相关知识,比较简单易懂,希望各位有所收获。

10.4K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    varchar有最大长度限制吗

    char 是固定长度,其单位也是字符,比如 char(10),就表示不管你给的什么,都会被 mysql 固定保存成 10 个字符。 如果给的字符长度小于 10,那么在尾部就会自动用空格补齐。...另一个规则限制导致的,mysql 规定了每行数据大小不能超过 65535 个字节。...另外还有一个小问题,一个字段如果允许为 null ,在 mysql 中也是需要增加额外空间来单独标识的,反之则不需要这个额外空间,至于这个空间大小具体是怎么计算的,我目前也还没有研究过。...You have to change some columns to TEXT or BLOBs ##把字段设置为非空即可建表成功 mysql> create table test ( address...推荐文章: 最近发现一个可以捡花钱的活 mysql为什么建议使用自增主键 如何分析一条sql的性能

    14.7K21

    python第十二周:MySql

    依赖于M和D的 #日期和时间类型 每个时间类型有一个有效范围和一个“,当指定不合法的MySQL不能表示的时使用“。...*NUll(空),即是否允许这个字段为空,若不允许则设置为not null。...注:若字段设置为非空,则必须为这个字段赋值,否则报错 #从数据表中查询数据 格式: column_name,column_name....           ...=B)返回true > 大于号,检测左边的是否大于右边的, 如果左边的大于右边的返回true (A>B)返回true < 小于号,检测左边的是否小于右边的, 如果左边的小于右边的返回true...(A<B)返回true >= 大于等于号,检测左边的是否大于或等于右边的, 如果左边的大于或等于右边的返回true (A>=B)返回true <= 小于等于号,检测左边的是否小于于或等于右边的

    1.3K30

    MySQLMySQL 中的 int(11) 到底代表什么意思?

    一、前言   在工作中经常要与 mysql 打交道,但是对 mysql 的各个字段类型一直都是一知半解,因此写本文总结记录一番。 二、简介 ?   ...那么照文中所说,所以无论怎么设置 int 类型的显示宽度,int 所能存储的最大和最小是固定的,那么这个显示宽度到底有什么用呢?   ...当 int 字段类型设置为无符号且填充(UNSIGNED ZEROFILL)时,当数值位数未达到设置的显示宽度时,会在数值前面补充直到满足设定的显示宽度,为什么会有无符号的限制呢,是因为 ZEROFILL...三、结论 从上个例子我们可以得出以下几个结论:   1、如果一个字段设置了无符号和填充属性,那么无论这个字段存储什么数值,数值的长度都会与设置的显示宽度一致,如上述例子中的字段 b,插入数值 1 显示为...00000000001,左边补了 10 个直至长度达到 11 位;   2、设置字段的显示宽度并不限制字段存储的范围,比如字段 d 设置为 int(5),但是仍然可以存储 1234567890 这个

    3.2K20

    TCP的滑动窗口是怎么回事,不来了解一下吗?

    3.窗口 该字段表示接收端的能接收数据的窗口的大小。这个窗口会告诉发送端能够发送的最大的数据量(字节为单位),所以发送端发送的数据大小是需要小于的。占用两个字节,窗口在0-2^16-1。...简单来说就是发送端发送的数据的速度需要小于接收数据的速度,发送端不能发送的太快了,要让接收方来得及处理。...tcp通过滑动窗口进行流量控制,正是基于tcp首部的窗口字段,接收方会发送一个报文段,报文段会在首部设置窗口字段,表示接收端还能接收的数据的窗口大小,而tcp发送端会根据这个字段控制下次发送数据的大小。...我们举一个例子: 如果接收端向发送端发送了0窗口报文,那么此时发送端不能再发送数据,此时接收端的数据处理完,有了一定的存储空间,就向发送端发送一个非窗口通知,而恰巧这个非窗口的通知丢失了,那么发送端就会一直等待接收端的非窗口通知...tcp为每一个连接都设置了一个持续计时器,只要tcp接收到一次窗口通知,那么就会启动计时器,如果计时器超时了,那么就会发送一个窗口探测报文,而接收端接收到这个探测报文之后就会返回自己当前最新的可接收窗口

    53620

    Mysql学习笔记,持续记录

    下面我们就来帮大家解决一个关于CentOS系统中mysql登录密码的问题。 CentOS系统中那么忘记了mysql的登录密码,怎么办?使用安全模式吧....mysql设置utf8_mb4 首先将数据库、数据表、表字段全部设置成 utf8_mb4 然后修改mysql配置文件 [client] default-character-set = utf8mb4 [...,小于10的日期需要加0; 在sql语句中进行时间比较的时候,时间也需要和字符串一样使用单、双引号包括。...外键创建失败的几种原因 外键的字段与关联的字段的类型不匹配(包括编码格式的不匹配) 外键的名字是一个已经存在的键值,要保证名字的唯一 mysql引擎引起的外键创建不能保存或者不能发挥作用的情况,mysql...如果未给出该模式,被除时MySQL返回NULL。如果用到INSERT IGNORE或UPDATE IGNORE中,MySQL生成被除警告,但操作结果为NULL。

    1.2K50

    数据库之数据类型详解

    每个时间类型有一个有效范围和一个"",当指定不合法的MySQL不能表示的时使用""。 TIMESTAMP类型有专有的自动更新特性。 ?...; TEXT是一个更大的VARCHAR; BLOB和TEXT都不能有默认。...如果我们用整数 0、1、2、3、4、5、6 来表示这七天,那么多下来的那些整数该怎么办?而且这样的设置很容易让数据出错,即取值超出范围。我们能否自创一个数据类型,而数据的取值范围就是这七天呢?...; 如果插入 SET 字段中列有重复,则 MySQL 自动删除重复的,插入 SET 字段的顺序并不重要,MySQL 会在存入数据库时,按照定义的顺序显示。...例: #创建一个表,数据类型为set,并且自定义set字段 mysql> create table tab11(s set('a','b','c','d')); #只能插入自定义的set字段 mysql

    3.3K30

    开发区块链应用(二)--mysql安装及数据库表的安装创建

    NULL 可以设置字段的属性为 NOT NULL,在操作数据库时如果输入该字段的数据为NULL ,就会报错。...ENGINE 设置存储引擎,CHARSET 设置编码。...最大可能显示的数字个数,数值的位数小于指定的宽度会由空格填充;如果插入了大于显示宽度的,只要该不超过该类型整数的取值范围,数值依然可以插入,而且能够显示出来。...显示宽度和数据类型的取值范围是无关的,显示宽度只是指明 MySQL 最大可能显示的数字个数,数值的位数小于指定的宽度会由空格填充;如果插入了大于显示宽度的,只要该不超过该类型整数的取值范围,数值依然可以插入...本篇文章此处主要讲解 DATETIME 类型 几种类型比较如下: 日期时间类型 占用空间 日期格式 最小 最大 表示 DATETIME 8 bytes YYYY-MM-DD HH:MM:SS 1000

    1.4K20

    听说Mysql你很豪横?-------------分分钟带你玩转SQL高级查询语句(常用查询,正则表达式,运算符)

    as (1)as的介绍 在 MySQL 查询时,当表的名字比较长或者表内某些字段比较长时,为了方便书写或者多次使用相同的表,可以给字段列或表设置别名。...例如,创建一个表 test,该表包含不设置 NOT NULL 的字段,然后向表中插入不同的记录,其中包括 NULL 和实际有的记录,最后通过 SELECT 查询字段中包括 NULL 和不包括 NULL...IS NULL 或者 IS NOT NULL,是用来判断字段是不是为 NULL 或者不是 NULL,不能查出是不是空的。 空的判断使用=’’或者’’来处理。...小于(<)运算符用来判断左侧的操作数是否小于右侧的操作数,若小于返回 1,否则返回 0,同样不能用于判断 NULL。...小于等于(<=)判断左侧的操作数是否小于等于右侧的操作数,若小于等于返回 1,否则返回 0,不能用于判断 NULL。 例如,关于大于、大于等于、小于小于等于运算符的使用,具体操作如下所示。

    4K30

    MySQL笔记】数字类型、时间和日期类型、字符串类型

    ---- 文章目录 前言 数字类型 整数类型 为字段设置填充(ZEROFILL) 浮点数类型 定点数类型 BIT类型 如何选择数据类型 时间和日期类型 YEAR类型 DATE类型 TIME类型 DATETIME...为字段设置填充(ZEROFILL) 为字段设置填充时,如果数值宽度小于显示宽度,会在左侧填充0。...设置填充后,字段自动设为无符号类型,这是因为负数不能使用填充 这里我们插入数据会发现,当数值超过显示宽度时,不填充;当数值未达到显示宽度时,则在左侧填充0。...当插入的的数据类型与字段的数据类型不一致,可以使用alter table修改字段的数据类型。 对于小数类型的设置,推荐使用定点数据类型并设置合理的范围,可以使计算更为准确。...如果插入的数值不合法,系统会自动将对应的插入数据库中。

    4K20

    第四章《MySQL的数据类型和运算符》

    一、数据类型介绍: (1)数据表由多个字段组成,每一个字段都指定了自己的数据类型,指定了数据类型后,也就决定了向字段插入数据的内容; (2)不同的数据类型也决定了MySQL在存储数据的时候使用的方式...系统将“插入到数据库中 ?...而且这样的设置很容易让数据出错,超出取值范围,这种情况下,我们就可以用枚举这种数据类型来自定义取值范围,ENUM是一个字符串对象,其为表创建时,在字段中规定的ENUM例举出来的那些中的某一个。...(4)如果插入SET字段中列有重复,则MySQL自动删除重复的,插入SET字段的顺序并不重要,MySQL会在存入数据库时,按照定义的顺序显示 ?...= > 大于 < 小于 >= 大于等于 <= 小于等于 ? ? ? ?

    99910

    MySQL核心知识》第5章:字段长度与类型宽度

    大家好,我是冰河~~ ❝《RPC手撸专栏》已经在 「「冰河技术」」 知识星球开始更新了,冰河要带你从开始手撸一个可在实际环境使用的高性能、可扩展的RPC框架,想要一起手撸RPC的小伙伴文末有加入星球的方式...❞ 今天是《MySQL核心知识》专栏的第5章,今天跟大家一起聊聊MySQL字段长度与类型宽度。好了,开始今天的正题。...显示宽度只是指明MYSQL最大可能显示的数字个数,数值的位数小于指定的宽度时会有空格填充,如果插入了大于显示宽度的,只要该不超过该类型整数的取值范围,数值依然可以插入,而且能显示出来。...例如,向year字段插入一个数值19999,当使用select查询的时候,MYSQL显示的将是完整带有5位数字的19999,而不是4位数字的 如果不指定显示宽度,则MYSQL为每一种类型指定默认的宽度...注意:显示宽度只用于显示,并不能限制取值范围和占用空间,例如:INT(3)会占用4个字节的存储空间,并且允许的最大也不会是999,而是INT整型所允许的最大

    1.4K30
    领券