一,MySQL的数据类型

数据类型是定义列中可以存储什么类型的数据以及该数据实际怎样存储的基本规则

数据类型限制存储在数据列列中的数据。例如,数值数据类型列只能接受数值类型的的数据

在设计表时,应该特别重视所用的数据类型。使用错误的数据类型可能会严重地影响应用程序的功能和性能。

更改包含数据的列不是一件小事(而且这样做可能会导致数据丢失)。

数据类型:整型、浮点型、字符串、日期等


1、字符串数据类型

最常用的数据类型是串数据类型。它们存储串,如名字、地址、电 话号码、邮政编码等。

不管使用何种形式的串数据类型,串值都必须括在引号内

有两种基本的串类型,分别为定长串和变长串

  • 定长串:char
  1. 接受长度固定的字符串,其长度是在创建表时指定的。 定长列不允许存储多于指定长度字符的数据。
  2. 指定长度后,就会分配固定的存储空间用于存放数据
char(7) 不管实际插入多少字符,它都会占用7个字符位置
  • 变长串 varchar

存储可变长度的字符串 varchar(7) 如果实际插入4个字符, 那么它只占4个字符位置,当然插入的数据长度不能超过7个字符。


注意
既然变长数据类型这样灵活,为什么还要使用定长数据类型?​回答:因为性能,MySQL处理定长列远比处理变长列快得多。
  • Text 变长文本类型存储

2、数值类型

数值数据类型存储数值。MySQL支持多种数值数据类型,每种存储的数值具有不同的取值范围。支持的取值范围越大,所需存储空间越多

与字符串不一样,数值不应该括在引号内

decimal(5, 2) 表示数值总共5位, 小数占2位tinyint 1字节(8位) 0-255。-128,127int     4字节。    -21亿,21亿。0-42亿float.  ​MySQL中没有专门存储货币的数据类型,一般情况下使用DECIMAL(8, 2)

有符号或无符号

所有数值数据类型(除BIT和BOOLEAN外)都可以有符号或无符号

  • 有符号数值列可以存储正或负的数值
  • 无符号数值列只能存储正数。
  • 默认情况为有符号,但如果你知道自己不需要存储负值,可以使用UNSIGNED关键字

注意
如果将邮政编码类似于01234存储为数值类型,则保存的将是数值1234,此时需要使用字符串类型手机号应该用什么进行存储呢?

3、日期和时间类型

MySQL使用专门的数据类型来存储日期和时间值

datetime 8字节1000-01-01 00:00:00 ~ 9999-12-31 23:59:59

4、二进制数据类型

二进制数据类型可存储任何数据(甚至包括二进制信息),如图像、多媒体、字处理文档等


二、表的字段约束

  • unsigned 无符号(给数值类型使用,表示为正数,不写可以表示正负数都可以)
  • 字段类型后面加括号限制宽度 char(5). varchar(7) 在字符类型后面加限制 表示 字符串的长度int(4) 没有意义,默认无符号的int为int(11),有符号的int(10)int(4) unsigned zerofill只有当给int类型设置有前导零时,设置int的宽度才有意义。
  • not null 不能为空,在操作数据库时如果输入该字段的数据为NULL ,就会报错
  • default 设置默认值
  • primary key 主键不能为空,且唯一.一般和自动递增一起配合使用。
  • auto_increment 定义列为自增属性,一般用于主键,数值会自动加1
  • unique 唯一索引(数据不能重复:用户名)可以增加查询速度,但是会降低插入和更新速度

三、MySQL的运算符

  • 算术运算符: +、 -、 *、 /、 %
  • 比较运算符: =、 >、 =、 <=、!=
  • 数据库特有的比较: in、not in、is null、is not null、like、between、and
  • 逻辑运算符: and、or、not
  • like: 支持特殊符号%和_ ;
其中%表示任意数量的任意字符,_表示任意一位字符

四、主键

1、表中每一行都应该有可以唯一标识自己的一列,用于记录两条记录不能重复,任意两行都不具有相同的主键值

2、应该总是定义主键 虽然并不总是都需要主键,但大多数数据库设计人员都应保证他们创建的每个表具有一个主键,以便于以后的数据操纵和管理。

要求

  • 记录一旦插入到表中,主键最好不要再修改
  • 不允许NULL
  • 不在主键列中使用可能会更改的值。
(例如,如果使用一个名字作为主键以标识某个供应商,当该供应商合并和更改其名字时,必须更改这个主键。)
  • 自增整数类型:数据库会在插入数据时自动为每一条记录分配一个自增整数,这样我们就完全不用担心主键重复,也不用自己预先生成主键
  • 可以使用多个列作为联合主键,但联合主键并不常用。使用多列作为主键时,所有列值的组合必须是唯一的

blob数据类型_MySQL的数据类型相关推荐

  1. mysql里的char怎么添加数据类型_MySQL CHAR 数据类型

    MySQL CHAR 数据类型 简介:在本教程中,您将了解MySQL CHAR数据类型以及如何在数据库表设计中应用它. MySQL CHAR数据类型简介 CHAR数据类型是MySQL中的固定长度的字符 ...

  2. mysql中的基本数据类型_mysql基本数据类型

    2018-07-12 11:24:24 mysql数据库分多钟数据类型,大类可以分为三种:数值类型.时间(日期)和字符(串)类型. 数值类型 MySQL支持所有标准SQL数值数据类型. 这些类型包括严 ...

  3. mysql的基本数据类型_mysql基本数据类型(mysql学习笔记三)

    Mysql数据类型 小数: 浮点:小数位可以变化 Float单精度默认精度6位左右 Double双精度默认精度16位左右 支持,控制数值范围 Type(M,D) M表示所有数值位数(不包括小数点和符号 ...

  4. linux mysql 数据类型_MySQL的数据类型和建库策略(转)

    MySQL的数据类型和建库策略: 无论是在小得可怜的免费数据库空间或是大型电子商务网站,合理的设计表结构.充分利用空间是十分必要的.这就要求我们对数据库系统的常用数据类型有充分的认识.下面我就将我的一 ...

  5. mysql忽略数据类型_MYSQL 常用数据类型

    数字列类型 数字列类型用于储存各种数字数据,如价格.年龄或者数量.数字列类型主要分为两种:整数型和浮点型.所有的数字列类型都允许有两个选项:UNSIGNED和ZEROFILL.选择UNSIGNED的列 ...

  6. mysql添加两种数据类型_MySQL入门(二) 数据库数据类型详解

    序言 今天去健身了,感觉把身体练好还是不错的,闲话不多说,把这个数据库所遇到的数据类型今天统统在这里讲清楚了,以后在看到什么数据类型,咱度应该认识,对我来说,最不熟悉的应该就是时间类型这块了.但是通过 ...

  7. MySQL数据类型特征_Mysql学习(三)数据类型_mysql

    mysql学习(3)数据类型 数据类型 数据类型是指.存储过程参数.表达式和局部变量的数据特征, 它决定了数据的存储格式,代表了不同的信息类型. 整型 Tinyint      有符号位 -128到1 ...

  8. 在mysql中显示数据库数据类型_MySQL(二) 数据库数据类型详解

    序言 今天去健身了,感觉把身体练好还是不错的,闲话不多说,把这个数据库所遇到的数据类型今天统统在这里讲清楚了,以后在看到什么数据类型,咱度应该认识,下面就跟着我的节奏去把这个拿下吧. ---WZY 一 ...

  9. mysql 设置 0、1 用什么数据类型_MySQL索引的基本使用

    目录 1.为什么要使用索引? 2.什么是索引? 3.索引分类: 4.注意: 5.不同的存储引擎支持的索引类型 6.hash和btree 7.创建普通索引 8.创建唯一索引 9.创建全文索引 10.多列 ...

最新文章

  1. 设置mysql默认字符集_MySQL之修改默认引擎和字符集
  2. 不只是让利百亿,天猫618揭示了哪些新零售趋势?
  3. 088_html5表单属性
  4. windows2003 服务器安全配置的建议
  5. 新时代营销解决方案:敏捷BI助力银行高效精准营销
  6. Linux软件安装之RPM的安装技巧
  7. 如何破解您忘记的Windows密码
  8. 使用easyUI 格式化datagrid列
  9. 大海中到处是水,海底隧道是怎样修建的?看完真佩服工程师的智慧
  10. 零知识证明应用到区块链中的技术挑战
  11. “不务正业”的化学奖又发给了生物
  12. 关于 android 的 view.getLeft(), getRight(), getTop(), getBottom() 的一些疑惑(坑)解答
  13. 熬夜整理出40张可视化大屏模板,不敲一个代码就能直接套用
  14. 苹果x与苹果xs的区别_卡通与苹果Xs手机壳的完美邂逅,可爱气质萦绕指尖
  15. 七牛云 rs.php 没有,设置了callbackUrl,七牛只是在客户端上打印了json格式的key和hash,居然没有按照设置跳转回来..怎么弄?...
  16. 【数据结构】顺序存储结构
  17. 主板检测卡c5_主板检测卡代码(常见)及解决方法
  18. mysql一个表的省市县级联_mySQL 实现省市县联动查询
  19. 【经验贴】Java搭建一个以yy直播为主的直播聊天室
  20. js 日语索引 日文排序

热门文章

  1. ctype.h,ctype.c 结构分析 \linux-1.0\linux\include\linux\ctype
  2. STL中map的使用要点
  3. Kernel中如何操作CPU及外设寄存器
  4. Linux Storage入门学习
  5. mysql显示RMB符号乱码_mysql显示乱码
  6. python逆序数的程序_计算逆序数(归并法)程序问题 (Python)
  7. C++关联容器总结一
  8. html导出pdf实例,jsPDF导出pdf示例
  9. Packet Tracer 通过配置静态路由实现不同网段之间的通信(详细步骤)
  10. 天池 在线编程 最长AB子串(哈希)