1.mysql数据类型

(1)数值数据类型:包括整数类型tinyint、smallint、mediumint、int、bigint,浮点小数类型float和double,定点小数类型decimal。

(2)日期/时间类型:包括year、time、date、datetime和timestamp。

(3)字符串类型:包括char、varchar、binary、varbinary、blob、text、enum和set等

(4)二进制类型:包括bit、binary、varbinary、tinyblob、blob、mediumblob和longblob。

2.整数类型

类型名称

说明

存储类型

tinytin

很小的整数

1个字节

smallint

小的整数

2个字节

mediumint

中等大小的整数

3个字节

int

普通大小的整数

4个字节

bigint

大整数

8个字节

3.浮点数类型和定点数类型(表示小数)

类型名称

说明

存储需求

float

单精度浮点数

4个字节

double

双精度浮点数

8个字节

decimal

压缩的“严格”定点数

M+2个字节

decimal不同于float和double,其是以字符串存储的。

  1. 例:mysql> create table ex2(a float(4,1),b double(4,1),c decimal(4,1));
  2. mysql> insert into ex2 values(4.23,4.26,4.234);
  3. mysql> select * from ex2;
  4. +------+------+------+
  5. | a | b | c |
  6. +------+------+------+
  7. | 4.2 | 4.3 | 4.2 |
  8. +------+------+------+
  9. 1 row in set (0.02 sec)
  10. M成为精度:表示总共的位数;D成为标度:表示小数的位数。

4.日期与时间类型

类型名称

日期格式

日期范围

存储需求

year

yyyy

1901-2155

1个字节

time

hh:mm:ss

-838:59:59

3个字节

date

yyyy-mm-dd

3个字节

datetime

yyyy-mm-dd hh:mm:ss

8个字节

timestamp

yyyy-mm-dd hh:mm:ss

4个字节

insert into ex4 values (now());表示现在的时间。

5.字符串类型

类型名称

说明

存储需求

char

固定长度非二进制字符串

M字节,1<=m<=255

varchar

变长非二进制字符串

L+1字节,在此L<=M且1<=m<=255

tinytext

非常小的非二进制字符串

L+1字节,在此L<28

text

小的非二进制字符串

L+2字节,L<28

mediumtext

longtext

longtext

枚举类型,只能有一个枚举字符串值

1或2个字节

set

一个集合,字符串对象可以有零个或多个

 

6.二进制类型

类型名称

说明

bit

位字段类型

binary

固定长度的二进制字符集

varbinary

可变长度的二进制字符串

tinyblob

非常小的blob

blob

小blob

mediumblob

中等大小的blob

longblob

非常大的blob

7.如何选择数据类型

(1)整数和浮点数

如果插入的数据不需要小数部分,则用整数类型存储数据;如果需要小数部分,则使用浮点数类型。

(2)浮点数和定点数

浮点数float和double与定点型decimal的不同是,在长度固定的情况下,浮点型能表示的范围更大。对于精确度要求比较高时,要使用定点型decimal来存储。

一定要注意,如果进行数值比较时,最好使用定点型decimal。

(3)日期和时间类型

a.根据实际需要选择能够满足应用的最小存储的日期类型。

b.如果要记录年月日时分秒,并且记录的年代久远,最好使用datetime。

c.如果记录的日期需要让不同时区的用户使用,使用timestamp

(4)char与varchar

char属于固定长度的字符串,而varchar属于可变长度的字符类型。

(5)enum和set

enum只能取单值,它的数据列表时一个枚举类型。set可以取多个值。都是以字符串形式出现的,但在mysql内部,实际是以数值索引的形式存储它们。

(6)blob和text

一般保存少量字符串的时候,可以选择char或者varchar,而在保存大文件时,通常选择使用text或者blob,差别:blob能用来保存二进制数据,如照片、音频信息等;而text只能保存字符数据,如一篇文章或日记。

8.常见运算符

运算符

作用

+

加法运算

-

减法运算

*

乘法运算

/

除法运算,返回商

%

求余运算,返回余数

  1. mysql> insert into tmp14 value(99);
  2. mysql> select num,num+1 from tmp14;
  3. +------+-------+
  4. | num | num+1 |
  5. +------+-------+
  6. | 99 | 100 |
  7. +------+-------+

9.比较运算符

运算符

作用

=

等于

<=>

安全等于(可以比较null)

<>(!=)

不等于

<=

小于等于

=>

大于等于

<

小于

>

大于

is null

判断一个值是否为null

is not null

判断一个值是否不为null

least

在有两个或多个参数时,返回最小值

createst

当有两个或多个参数时,返回最大值

between and

判断一个值是否落在两个值之间

isnull

与is null相同

in

判断一个值是in列表中的任意一值

not in

判断一个值不是in列表中的任意一值

like

通配符匹配

regexp

正则表达式匹配

例子:

  1. mysql> select 1=2,3=3,4>5,9>2;
  2. +-----+-----+-----+-----+
  3. | 1=2 | 3=3 | 4>5 | 9>2 |
  4. +-----+-----+-----+-----+
  5. | 0 | 1 | 0 | 1 |
  6. +-----+-----+-----+-----+
  7. 1 row in set (0.00 sec)

10.逻辑运算

运算符

作用

not或者!

逻辑非

and或者&&

逻辑与

or或者||

逻辑或

xor

逻辑异或

  1. 例:mysql> select not 2,not (2-2);
  2. +-------+-----------+
  3. | not 2 | not (2-2) |
  4. +-------+-----------+
  5. | 0 | 1 |
  6. +-------+-----------+

11.位运算符:用来对二进制字节中的位进行测试、位移或者测试处理。

运算符

作用

|

位或

&

位与

^

位异或

<<

位左移

>>

位右移

~

位取反,反转所有比特

  1. 例:mysql> select 10|15,9|4|2;
  2. +-------+-------+
  3. | 10|15 | 9|4|2 |
  4. +-------+-------+
  5. | 15 | 15 |
  6. +-------+-------+
  7. 1 row in set (0.00 sec)

12.运算符的优先级:决定了不同运算符在表达式中计算的先后顺序。

优先级

运算符

最低

=赋值运算

||,or

xor

&&,and

not

between and,case,when,then,else

=比较运算,<=>,,,,,is like regexp in

|

&

<<,>>

-,+

*,/,%

^

~

最高

Mysql-6-数据类型和运算符的更多相关文章

  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. python glances来监控linux服务器CPU 内存 IO使用

    什么是 Glances? Glances 是一个由 Python 编写,使用 psutil 库来从系统抓取信息的基于 curses 开发的跨平台命令行系统监视工具. 通过 Glances,我们可以监视 ...

  2. JAVA堆内存和栈内存初步了解

    一.堆内存和栈内存 程序运行时内存分配有三种:静态存储分配,栈式存储分配,堆式存储分配 1.静态存储分配: 在程序编译时就可以确定数据目标在运行时所需要的内存,因此在编译时就为其分配固定大小的内存. ...

  3. Android 内存监测工具 DDMS --> Heap

    用 Heap监测应用进程使用内存情况的步骤如下: 1. 启动eclipse后,切换到DDMS透视图,并确认Devices视图.Heap视图都是打开的: 2. 将手机通过USB链接至电脑,链接时需要确认 ...

  4. 关于对H264码流的PS的封装的相关代码实现

    1.写在开始之前: 最近因为新工作要维护别人留下的GB模块代码,先熟悉了流程,然后也试着封装了下ps流,结果也能通过测试正常预览了,当然,其中开发读文档的头疼,预览花屏,卡帧的事情都有遇到,当时慢慢的 ...

  5. A唐纳德先生和假骰子(华师网络赛)

    Time limit per test: 1.0 seconds Memory limit: 256 megabytes 在进行某些桌游,例如 UNO 或者麻将的时候,常常会需要随机决定从谁开始.骰子 ...

  6. 1143. Lowest Common Ancestor (30)

    The lowest common ancestor (LCA) of two nodes U and V in a tree is the deepest node that has both U ...

  7. [BZOJ2962][清华集训]序列操作

    bzoj luogu 题意 有一个长度为\(n\) 的序列,有三个操作: \(I \ \ a\ b\ c\ :\)表示将\([a,b]\)这一段区间的元素集体增加\(c\): \(R \ \ a\ b ...

  8. 洛谷 P1379 八数码难题

    题目描述 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字.棋盘中留有一个空格,空格用0来表示.空格周围的棋子可以移到空格中.要求解的问题是:给出一种初始布局(初始状态)和目标布局(为了 ...

  9. Oracle 12c 新特性之 PDB 级别闪回数据库

    在Oracle Database 12.1中,闪回数据库操作仅限于 CDB ,Oracle Database 12.2支持 CDB 与 PDB 数据库的闪回. PDB 的还原点种类:1. normal ...

  10. ElasticSearch logo 分布式搜索引擎 ElasticSearch

    原文来自:http://www.oschina.net/p/elasticsearch Elastic Search 是一个基于Lucene构建的开源,分布式,RESTful搜索引擎.设计用于云计算中 ...