一、数据类型

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. springMVC01,使用xml

    unit03_01 unit03_02 springmvc流程图 案例:hello示例 /hello.do --> springmvc --> /WEB-INF/hello.jsp /he ...

  2. 黑盒测试实践——day01

    一.任务进展情况 小组成员讨论了测试案例的选取以及测试工具的选取,目前正在设计合理的测试方法,研究待测试系统的功能需求和缺陷. 二.存在的问题 测试工具的使用还是不很清楚. 三.解决方法 通过上网搜集 ...

  3. linux中的pwd

    https://www.cnblogs.com/crazylqy/p/5818745.html

  4. 性能优化-YAHOO军规

    1.尽可能减少http请求数量 2.使用CDN 3.添加Expire/Cache-Control头 4.启用Gzip压缩 5.将css放在页面最上 6.将script放在页面最下 7.避免在CSS中使 ...

  5. Codeforces Round div2 #541 题解

    codeforces Round #541 abstract: I构造题可能代码简单证明很难 II拓扑排序 III并查集 启发式排序,带链表 IV dp 处理字符串递推问题 V 数据结构巧用:于二叉树 ...

  6. 20175303 2018-2019-2 《Java程序设计》第2周学习总结

    •总体的说,第2周主要学习了课本第二章第三章的内容,这周的学习简直比上一周的简单而且容易理解得多.上周的各种安装,注册,眼花缭乱,很早就开始弄,但各种出错,到最后都想放弃了,好在有同学的帮助,帮我正确 ...

  7. [yum] yum加速

    通常,以我对于个人生活和工作品质的要求,并没有这个需求. 因为我的宽带费很贵,独享.就算是centos主站,也很快.但是当你去了一些办公环境恶劣的地方上班的时候, 也难免动用一些小技巧.如下: 装这个 ...

  8. day5_函数返回值

    每个函数都有返回值,如果没有在函数里面指定返回值的话,在python里面函数执行完之后,默认会返回一个None,函数也可以有多个返回值,如果有多个返回值的话,会把返回值都放到一个元组中,返回的是一个元 ...

  9. 阿里云api调用做简单的cmdb

    阿里云api调用做简单的cmdb 1 步骤 事实上就是调用阿里api.获取可用区,比方cn-hangzhou啊等等.然后在每一个区调用api 取ecs的状态信息,最好写到一个excel里面去.方便排序 ...

  10. layer知识点总结

    1,本弹窗直接跳转父页面: <script>        window.parent.location.reload(); //刷新父页面        var index = pare ...