一、数据类型

1、数值类型

为每张表的每个字段选择合适的数据类型是数据库设计过程中一个重要的步骤。

数字分为整数和小数。其中整数用整数类型表示,小数用浮点数类型和定点数类型表示。

浮点数类型包括单精度浮点数 FLOAT 类型和双精度浮点数 DOUBLE 类型。定点数类型就是 DECIMAL 类型,DEC 和 DECIMAL 这两个定点数类型是同名词

注意事项:
数字类型的选择应遵循如下原则。
1)选择最小的可用类型,如果改字段的值不会超过 127,则使用 TINYINT 比 INT 效果好。
2)对于完全都是数字的,即无小数点时,可以选择整数类型,比如年龄。
3)浮点类型用于可能具有的小数部分的数,比如学生成绩。
4)在需要表示金额等货币类型时优先选择 DECIMAL 数据类型。

2、日期时间类型

MySQL 主要支持 5 种日期类型:DATE、TIME, YEAR、DATATIME 和 TIMESTAMP

3、字符串类型

字符串类型的数据分为普通的文本字符串类型(CHAR 和 VARCHAR)、可变类型(TEXT 和 BLOB)

4、复合类型

MySQL 数据库还支持两种复合数据类型 ENUM 和 SET,它们扩展了 SQL 规范。

Enum 类型的字段只允许从一个集合中取得某一个值,有点儿类似于单选按钮的功能。例如,一个人的性别从集合 {‘男’,‘女’} 中取值,且只能取其中一个值。

Set 类型的字段允许从一个集合中取得多个值,有点儿类似于复选框的功能。例如,一个人的兴趣爱好可以从集合 {‘看电影’,‘购物’,‘听音乐’, ‘旅游’,‘游泳’} 中取值,且可以取多个值。

5、二进制类型

MySQL 主要支持 7 种二进制类型:binary、varbinary、bit、tinyblob、blob、mediumblob 和 longblob

注:Text 与 blob 都可以用来存储长字符串,text 主要用来存储文本字符串,例如新闻內容、博客日志等数据;blob 主要用来存储二进制数据,例如图片、音频、视频等二进制数据。

在真正的项目中,更多的时候需要将图片、音频、视频等二进制数据,以文件的形式存储在操作系统的文件系统中,而不会存储在数据库表中,毕竟,处理这些二进制数据并不是数据库管理系统的强项。

6、合适的数据类型

通常来说,数据类型的选择遵循以下原则:

(1)在符合应用要求(取值范围、精度)的前提下,尽量使用 “短” 数据类型

(2)数据类型越简单越好

(3)尽量采用精确小数类型(例如 decimal),而不采用浮点数类型

(4)在 MySQL 中,应该用内置的日期和时间数据类型,而不是用字符串来存储日期和时间

(5)尽量避免 NULL 字段,建议将字段指定为 NOT NULL 约束

二、运算符

1、算术运算符

算术运算符包括加、减、乘、除和取余运算。他们是最常用的、最简单的一类运算符

2、比较运算符

MySQL 数据库允许用户对表达式的左边操作数和右边操作数进行比较,比较结果为真返回 1,为假返回 0,不确定返回 NULL

3、逻辑运算符

逻辑运算符,也称为布尔运算符,判断表达式的真假。

4、位运算符

位运算符是将给定的操作数转化为二进制后,对各个操作数的每一位都进行指定的逻辑运算,得到的二进制结果转化为十进制数后就是位运算的结果。

Learning-MySQL【3】:数据类型和运算符的更多相关文章

  1. 03 MySQL之数据类型和运算符

    01-数据类型 MySQL支持多种数据类型,主要有 数值类型.日期/时间类型和字符串类型. 1.1 整数类型 1.2 浮点数类型和定点数类型 单精度浮点类型(FLOAT)和双精度浮点类型 (DOUBL ...

  2. PostgreSQL自学笔记:5 数据类型和运算符

    5 数据类型和运算符 5.1 PostgreSQL 数据类型介绍 5.1.1 整数类型 整型类型 字节 取值范围 smallint 2字节 -2^15 ~ 2^15 int integer 4字节 - ...

  3. IOS开发新手教程(一)-数据类型和运算符

    OC语法入门(一) 数据类型和运算符 1.1凝视 凝视和其它语言一样,同意单行 ,多行凝视,一份规范的代码里面须要有一些正式的凝视,例如以下凝视: /* 这是多行 凝视 */ //这是多行凝视 OC语 ...

  4. Java 第二章 变量、数据类型和运算符

    第二章      变量.数据类型和运算符 什么是变量: 变量代表一块内存区域,变量类型不一样,这一块内存的大小也不一样. #在编程语言里面,你可以通过定义变量,向内存里添加数据或者修改内存已有的数据. ...

  5. Java1变量数据类型和运算符

    day02_变量数据类型和运算符   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 public class jh_01_数据类型说明 {     public  ...

  6. Java中的变量,数据类型和运算符

    变量,数据类型和运算符 1.变量是一个数据存储空间的表示,它是储存数据的基本单元. 如何理解这句话,下面用一个表格可以形象的表达: 变量与房间之间的对应关系 房间名称 变量名 房间类型 变量类型 入住 ...

  7. 使用 JavaScript 中的变量、数据类型和运算符,计算出两个 number 类型的变量与一个 string 类型的变量的和,根据 string 类型处于运算符的不同位置得到不同的结果

    查看本章节 查看作业目录 需求说明: 使用 JavaScript 中的变量.数据类型和运算符,计算出两个 number 类型的变量与一个 string 类型的变量的和,根据 string 类型处于运算 ...

  8. 第四章 MySQL数据类型和运算符

    5.1 MySQL数据类型介绍 一.数据类型简介 (1) 数据表由多列字段构成,每一个字段指定了不同的数据类型,指定了数据类型之后,也就决定了向字段插入的数据内容 (2) 不同的数据类型也决定了 My ...

  9. MySQL基础之数据类型和运算符

    早些年学习MySQL的笔记,发在博客园上,以便后续回顾学习: 1. 数据类型为int(11),注意到后面的数字11,这表示的是该数据类型指定的显示宽度,指定能够显示的数值中数字的个数.其他数据类型也可 ...

  10. MySQL数据类型和运算符

    mysql支持多种数据类型,主要有下面三种: 数值数据类型 日期/时间类型 字符串类型 整数类型 不同数据类型有不同的取值范围,可存储的值的范围越大,则所需的存储空间也越大. 整数类型主要有: tin ...

随机推荐

  1. C/S,B/S的区别

    一.概念说明 C/S(Client/Server(客服机/服务器))架构:客户端/服务器架构.通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,需要安装客服端才可进行管理操作. ...

  2. 常用C++面试总结

    指定对齐值:#pragma pack(n),n=1,2,4,8,16改变系统的对齐系数struct和union都是由多个不同的数据类型成员组成, 但在任何同一时刻, union中只存放了一个被选中的成 ...

  3. mybatis mapper-locations作用

    application上配置了@MapperScan(扫面mapper类的路径)和pom.xml中放行了mapper.xml后,配置mapper-locations没有意义 查找后得知,如果mappe ...

  4. 通过ICE轻松部署WES7镜像

    作者:雷志刚 转自:http://lzg-ad.blog.sohu.com/156323256.html 注:该文转自Happymy,感谢他的技术提供和分享. 本文适合的软件版本:CTP,RC 如果大 ...

  5. post body 传输参数

    postman 示例: 请求地址:http://member-system-api.dd01.work/api/inApp 设置headers头:Content-Type       applicat ...

  6. Docker入门基础(一)

    Docker入门基础 Linux只存在文件目录,不存在“盘”的概念 Dockers优点:方便部署环境.资源占用少(微服务) Docker的三大概念 镜像:类似虚拟机的镜像.用俗话说就是安装文件.容器: ...

  7. ES6 Reflect 与 Proxy

    概述 Proxy 与 Reflect 是 ES6 为了操作对象引入的 API . Proxy 可以对目标对象的读取.函数调用等操作进行拦截,然后进行操作处理.它不直接操作对象,而是像代理模式,通过对象 ...

  8. c++stack容器介绍

    c++stack(堆栈)是一个容器的改编,它实现了一个先进后出的数据结构(FILO) 使用该容器时需要包含#include<stack>头文件: 定义stack对象的示例代码如下: sta ...

  9. docker容器与镜像

    就像cad图层概念 数据卷就是为了完成数据持久化操作

  10. MySQL5.7 虚拟列实现表达式或函数索引

    MySQL5.7 虚拟列实现表达式或函数索引 http://www.linuxidc.com/Linux/2015-11/125162.htm https://dev.mysql.com/doc/re ...