MySQL的数据类型及其常用修饰符详解

MySQL的数据类型及其常用修饰符详解

================================================================================

概述:

==========================================================================================

Mysql的数据类型

    在mysql数据库当中,每一个库都是有多张表来组成的,每一个表都是由行和列来组成的。列通常将其称为字段。所谓建表就是声明列的过程,数据是以文件的形式保存在系统上的。因此,不同的列类型,占用的空间不一样。选列的原则:够用又不浪费即可;

在选择数据类型时考虑如下因素:

  • 占据空间
  • 储存范围

在声明列的时候,为什么要声明某个字段的数据类型?

 数据类型有如下意义:

  • 确定该字段的值的类型;
  • 可以确定该字段所占据的空间;
  • 可以确定该字段是定长还是变长的;
  • 该字段如何进行比较以及排序;
  • 该字段是否能够索引;

数据类型大概柯分为:

  • 数值型、字符型、日期时间型、枚举型、布尔型

 1.数值型

数值型分为整型浮点型:

☉整型

  • 整型包括:TINYINT、SMALLINT、MEDIUINT、INT、BIGINT

浮点型

  • 包括单精度和双精度浮点型

float(l.f):其中l表示浮点型的长度,不包含正负符号和小数点。f表示小数点后面数字的位数。

 2.字符型

字符型:包括CHAR、VARCHAR、BINARY、VARBINARY、TEXT、BLOB等类型

 3.日期时间型

日期时间型:包括DATE、TIME、DATETIME、TIMESTAMP

 4.枚举型和布尔型

枚举型ENUM:

  • 就是列出某个字段的所有可能取得值。储存范围是0-65535bytes。如ENUM(‘F‘,‘M‘)。

布尔型

  • 只有两种取值,1表示true,0表示false

Mysql的字段修饰符

   在声明字段的时候,可以为这些字段添加额外的修饰符,不同的数据类型,其修饰符也是不一样的。

字段修饰符如下表:

       数据类型
     常见的修饰符

   
         
   整型

  • UNSIGNED:无符号,表示非负(UNSIGNED要定义在NULL或NOT NULL之前);

  • NULL:允许为空;
  • NOT NULL:允许非空;
  • DEFAULT N:定义默认值;
  • AUTO_INCREMNET:自动增长,自动增长的字段必须是整型、非空、非负、唯一键或主键。
       浮点型float
  • UNSIGNED,NULL,NOT NULL,DEFAULT N

 
            字符型
     (char,varchar和text)
  • NULL,NOT NULL,DEFAULT ‘string‘

  • CHARACTER SET 字符集:设置字符集。
  • show character set可以查看mysql支持的所有字符集;
  • show variables like ‘%charac%’可以查看mysql支持的默认字符集。
  • collation ‘排序规则‘:设定排序规则;
  • show collation可以查看mysql支持的所有排序规则;
            字符型
    (binary、varbinary和blob)
 
NULL,NOT NULL,DEFAULT(但不适用于BLOB类型)
               日期时间型 NULL,NOT NULL,DEFAULT ‘string’
          枚举型(ENUM) NULL,NOT NULL,DEFAULT ‘string‘
时间: 2024-10-19 01:16:23

MySQL的数据类型及其常用修饰符详解的相关文章

关于@property后面修饰符详解

关于@property后面修饰符详解 @property后面有哪些修饰符 1.线程安全的 atomic.nonatomic 2.访问权限的 readonly.readwrite 3.内存管理(ARC) assign.strong.weak.copy 4.内存管理(MRC) assign.retain.release 5.指定方法名称 (如何定义set get 方法) setter = getter = 由于将来我们经常需要定义一些方法来操作成员变量,而每个方法都必须有一个有意义的名称,而想名字非

C#.net 中 修饰符 详解 (来自MSDN)

自己理解的不够深刻,无奈基础较差!记上一笔,记忆深刻些,哈哈…… 1. 访问修饰符 public 同一程序集中的任何其他代码或引用该程序集的其他程序集都可以访问该类型或成员. private 只有同一类或结构中的代码可以访问该类型或成员. protected 只有同一类或结构或者此类的派生类中的代码才可以访问的类型或成员. internal 同一程序集中的任何代码都可以访问该类型或成员,但其他程序集中的代码不可以. protected internal 由其声明的程序集或另一个程序集派生的类中任

C#修饰符详解

大家在新浪微博 @蜀云泉 就可以找到我啦. 一.new 别看new这个修饰符经常用,恐怕很多人都不知道其本质.我们先来看看new修饰符的官方定义: new 仅允许在嵌套类声明中使用,表明类中隐藏了由基类中继承而来的与类中同名的成员. 看懂了吗?不懂没关系,咱们接着往下看 首先,我定义一个类: 1 namespace 修饰符概念 2 { 3 class new修饰符 4 { 5 6 private string StrName; 7 8 public string strName 9 { 10 g

C# 中4个访问符和8个修饰符详解

4个访问修饰符(是添加到类.结构或成员声明的关键字) Public:公有的,是类型和类型成员的访问修饰符.对其访问没有限制. Internal:内部的,是类型和类型成员的访问修饰符.同一个程序集中的所有类都可以访问 Private:私有的,是一个成员访问修饰符.只有在声明它们的类和结构中才可以访问. Protected::受保护的,是一个成员访问修饰符.只能在它的类和它的派生类中访问. protected internal:访问级别为 internal 或 protected.即,“同一个程序集

MySQL的数据类型和建库策略详解

无论是在小得可怜的免费数据库空间或是大型电子商务网站,合理的设计表结构.充分利用空间是十分必要的.这就要求我们对数据库系统的常用数据类型有充分的认识.下面我就将我的一点心得写出来跟大家分享. 一.数字类型 数字类型按照我的分类方法分为三类:整数类.小数类和数字类. 我所谓的"数字类",就是指DECIMAL和NUMERIC,它们是同一种类型.它严格的说不是一种数字类型,因为他们实际上是将数字以字符串形式保存的:他的值的每一位(包括小数点)占一个字节的存储空间,因此这种类型耗费空间比较大.

Koltin——最详细的可见性修饰符详解

在Kotlin中,不管是类,对象,接口,构造函数,函数,属性及其设置器都具有可见性修饰符.Kotlin中的可见性修饰符共四种.即public.protected.private.internal.在不同的场景声明不同的修饰符都有不同的可见性.下面详解介绍不同的修饰符在不同场景的范围. 这里值得注意的是,属性的Getter()函数的可见性具有与属性相同的可见性. 目录 一. 四种修饰符的说明 public修饰符表示 公有 .此修饰符的范围最大.当不声明任何修饰符时,系统会默认使用此修饰符. int

Java-004-变量类型和修饰符详解

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Yuanti SC"; color: #000000 } Java的变量 Java中主要有如下几种类型的变量:局部变量.类变量(静态变量).成员变量(非静态变量) 变量其实是java中的一个最基本的单元,也就是内存中的一块区域, Java中的变量有四个基本属性:变量名,数据类型,存储单元和变量值 ◆变量名:合法的标识符 ◆变量的数据类型:可以是基本类型和引用类型(必须包含类型)

C语言printf格式化输出修饰符详解

转换说明 输出 %a,%A 浮点数.十六进制数和p-计数法(C99) %c 一个字符 %d 有符号十进制数 %e,%E 浮点数,e计数法 %f 浮点数,十进制计数法 %g,%G 根据数值不同自动选择%f或%e,%e格式在指数小于-4或者大于等于精度时使用 %i 有符号十进制整数(与%d相同) %o 无符号八进制整数 %p 指针 %s 字符串 %u 无符号十进制数 %x,%X 使用十六进制数0f的无符号十六进制整数 %% 打印一个百分号 prinf()修饰符 修饰符 意义 标志 五种标志将在后面的

php正则表达式修饰符详解

preg_match_all("/(.+)<\/form>/isU" , $string, $result); 这里/ 后面加了 3个修饰符 i 是 不区分大小写的匹配 s 是 带有换行的 匹配 U 是非贪婪模式.匹配最少部分. 修饰符:i :如果在修饰符中加上"i",则正则将会取消大小写敏感性,即"a"和"A" 是一样的.m:默认的正则开始"^"和结束"$"只是对于正则字符