Learning-MySQL【3】:数据类型和运算符
一、数据类型
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】:数据类型和运算符的更多相关文章
- 03 MySQL之数据类型和运算符
01-数据类型 MySQL支持多种数据类型,主要有 数值类型.日期/时间类型和字符串类型. 1.1 整数类型 1.2 浮点数类型和定点数类型 单精度浮点类型(FLOAT)和双精度浮点类型 (DOUBL ...
- PostgreSQL自学笔记:5 数据类型和运算符
5 数据类型和运算符 5.1 PostgreSQL 数据类型介绍 5.1.1 整数类型 整型类型 字节 取值范围 smallint 2字节 -2^15 ~ 2^15 int integer 4字节 - ...
- IOS开发新手教程(一)-数据类型和运算符
OC语法入门(一) 数据类型和运算符 1.1凝视 凝视和其它语言一样,同意单行 ,多行凝视,一份规范的代码里面须要有一些正式的凝视,例如以下凝视: /* 这是多行 凝视 */ //这是多行凝视 OC语 ...
- Java 第二章 变量、数据类型和运算符
第二章 变量.数据类型和运算符 什么是变量: 变量代表一块内存区域,变量类型不一样,这一块内存的大小也不一样. #在编程语言里面,你可以通过定义变量,向内存里添加数据或者修改内存已有的数据. ...
- Java1变量数据类型和运算符
day02_变量数据类型和运算符 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 public class jh_01_数据类型说明 { public ...
- Java中的变量,数据类型和运算符
变量,数据类型和运算符 1.变量是一个数据存储空间的表示,它是储存数据的基本单元. 如何理解这句话,下面用一个表格可以形象的表达: 变量与房间之间的对应关系 房间名称 变量名 房间类型 变量类型 入住 ...
- 使用 JavaScript 中的变量、数据类型和运算符,计算出两个 number 类型的变量与一个 string 类型的变量的和,根据 string 类型处于运算符的不同位置得到不同的结果
查看本章节 查看作业目录 需求说明: 使用 JavaScript 中的变量.数据类型和运算符,计算出两个 number 类型的变量与一个 string 类型的变量的和,根据 string 类型处于运算 ...
- 第四章 MySQL数据类型和运算符
5.1 MySQL数据类型介绍 一.数据类型简介 (1) 数据表由多列字段构成,每一个字段指定了不同的数据类型,指定了数据类型之后,也就决定了向字段插入的数据内容 (2) 不同的数据类型也决定了 My ...
- MySQL基础之数据类型和运算符
早些年学习MySQL的笔记,发在博客园上,以便后续回顾学习: 1. 数据类型为int(11),注意到后面的数字11,这表示的是该数据类型指定的显示宽度,指定能够显示的数值中数字的个数.其他数据类型也可 ...
- MySQL数据类型和运算符
mysql支持多种数据类型,主要有下面三种: 数值数据类型 日期/时间类型 字符串类型 整数类型 不同数据类型有不同的取值范围,可存储的值的范围越大,则所需的存储空间也越大. 整数类型主要有: tin ...
随机推荐
- mysql存储emoji问题
前一段时间,项目中需要在数据库中存储emoji,由于编码格式不对,直接导致数据库报错,后来修改mysql的编码,就解决了 emoji符号实际上是文本,并不是图片,它们仅仅显示为图片 在mysql5.5 ...
- python __all__
它不仅在第一时间展现了模块的内容大纲,而且也更清晰的提供了外部访问接口. 若__all__的list中未定义,即便有实现也会找不到.
- 强制不使用“兼容性视图”的HTML代码
转自:http://www.weste.net/2013/8-9/93109.html 在IE8浏览器以后版本,都有一个"兼容性视图",让不少新技术无法使用.那么如何禁止浏览器自动 ...
- python全栈开发 * 32知识点汇总 * 180717
32 网络编程 (一)一.架构 定义:程序员开发的一种模式. 分类: C/S 架构 C/S即:Client与Server , 客户端/ 服务器模式 . 缺点 : 冗余 B/S 架构 Browser与S ...
- 我了解到的新知识之—MPLS
下周末运营商来公司要对MPLS升级,对于一个多年权限管理经验的我来说未免有些陌生,幸好现在网络资源丰富,就开始了搜索之旅,找到了一些信息,所以在想干脆以后就开一个系列就叫<我了解到的新知识> ...
- 部署WEB项目到服务器(四)部署WEB项目Forum到linux服务器(Ubuntu)详解
突发奇想,想在自己电脑上部署一个web网站. 1,使用Navicat for MYSQL客户端创建WEB项目数据库: Navicat for MYSQL连接虚拟机中的mysql数据库 启动mysql数 ...
- mysql 时间戳的使用!
时间转时间戳方法: unix_timestamp() 记录时间戳的类型: bigint 时间戳转时间的方法:from_timestamp() 感谢水哥给的截图!
- IE浏览器Web自动化
一.常见问题 1.1 在IE11浏览器下运行自动化脚本特别缓慢. 具体表现:(64位IE驱动器下)脚本运行慢,尤其是文本框输入,其它浏览器是一起输入,但IE是单个字节输入字符串 解决方法:更换IE的 ...
- MVEAN_day05 Nexus私服对的搭建
序言:为什么要搭建私服 因为在公司中我们是以团队进行开发的,不在是在自己的本地仓库中进行,我们需要连接公司远程仓库进行jar依赖.在公司的局域网中搭建的私服,然后开发人员连接这台计算机,进行团队开发. ...
- Centos下搭建邮件服务器
一.协议 SMTP:用于发送邮件 POP3:用于接收邮件,接收后会将服务器上邮件删除 IMAP:用于接收邮件,接收后不会删除服务器邮件 二.几个重要的角色 MUA:可以理解为收取邮件的工具,比如thu ...