mysql数据类型与运算符
一、数据类型
1、整型
| MySQL数据类型 | 含义(有符号) |
| tinyint(m) | 1个字节 范围(-128~127) |
| smallint(m) | 2个字节 范围(-32768~32767) |
| mediumint(m) | 3个字节 范围(-8388608~8388607) |
| int(m) | 4个字节 范围(-2147483648~2147483647) |
| bigint(m) | 8个字节 范围(+-9.22*10的18次方) |
取值范围如果加了unsigned,则最大值翻倍,如tinyint unsigned的取值范围为(0~256)。
int(m)里的m是表示SELECT查询结果集中的显示宽度,并不影响实际的取值范围,没有影响到显示的宽度,不知道这个m有什么用。
2、浮点型(float和double)
| MySQL数据类型 | 含义 |
| float(m,d) | 单精度浮点型 8位精度(4字节) m总个数,d小数位 |
| double(m,d) | 双精度浮点型 16位精度(8字节) m总个数,d小数位 |
设一个字段定义为float(5,3),如果插入一个数123.45678,实际数据库里存的是123.457,但总个数还以实际为准,即6位。
3、定点数
浮点型在数据库中存放的是近似值,而定点类型在数据库中存放的是精确值。
decimal(m,d) 参数m<65 是总个数,d<30且 d<m 是小数位。
4、字符串(char,varchar,_text)
| MySQL数据类型 | 含义 |
| char(n) | 固定长度,最多255个字符 |
| varchar(n) | 固定长度,最多65535个字符 |
| tinytext | 可变长度,最多255个字符 |
| text | 可变长度,最多65535个字符 |
| mediumtext | 可变长度,最多2的24次方-1个字符 |
| longtext | 可变长度,最多2的32次方-1个字符 |
char和varchar:
1.char(n) 若存入字符数小于n,则以空格补于其后,查询之时再将空格去掉。所以char类型存储的字符串末尾不能有空格,varchar不限于此。
2.char(n) 固定长度,char(4)不管是存入几个字符,都将占用4个字节,varchar是存入的实际字符数+1个字节(n<=255)或2个字节(n>255),所以varchar(4),存入3个字符将占用4个字节。
3.char类型的字符串检索速度要比varchar类型的快。
varchar和text:
1.varchar可指定n,text不能指定,内部存储varchar是存入的实际字符数+1个字节(n<=255)或2个字节(n>255),text是实际字符数+2个字节。
2.text类型不能有默认值。
3.varchar可直接创建索引,text创建索引要指定前多少个字符。varchar查询速度快于text,在都创建索引的情况下,text的索引似乎不起作用。
5.二进制数据(_Blob)
1._BLOB和_text存储方式不同,_TEXT以文本方式存储,英文存储区分大小写,而_Blob是以二进制方式存储,不分大小写。
2._BLOB存储的数据只能整体读出。
3._TEXT可以指定字符集,_BLO不用指定字符集。
6.日期时间类型
| MySQL数据类型 | 含义 |
| date | 日期 '2008-12-2' |
| time | 时间 '12:25:36' |
| datetime | 日期时间 '2008-12-2 22:06:44' |
| timestamp | 自动存储记录修改时间 |
若定义一个字段为timestamp,这个字段里的时间数据会随其他字段修改的时候自动刷新,所以这个数据类型的字段可以存放这条记录最后被修改的时间。
数据类型的属性
| MySQL关键字 | 含义 |
| NULL | 数据列可包含NULL值 |
| NOT NULL | 数据列不允许包含NULL值 |
| DEFAULT | 默认值 |
| PRIMARY KEY | 主键 |
| AUTO_INCREMENT | 自动递增,适用于整数类型 |
| UNSIGNED | 无符号 |
| CHARACTER SET name | 指定一个字符集 |
二、运算符、
mysql支持多种类型的运算符,这些运算符可以用来连接表达式的项。主要包括算术运算符,比较运算符,逻辑运算符和位运算符
1、算术运算符:

2、比较运算符:


比较运算符中需要注意"=","<>"和"<=>"的区别。"="用于比较操作数是否相等,相等为1,但是不能用于比较NULL(NULL=NULL),"<>"的操作和"="的意思刚好相反,也可以写作"!=",也不能用于比较NULL。"<=>"和"="意思相同,但是可以用来比较NULL(NULL<=>NULL 返回值为1)。LIKE作为通配符的匹配,REGEXP或RLIKE可以作为正则表达式的匹配。
BETWEEN运算符的格式:a between min and max ,例如:select 10 between 1 and 20
IN运算符的格式:a IN (value1, value2),例如:select 3 in (3,4,5)
like运算符格式:a like %123%,当含有字符串123时返回1,否则返回0,例如:select 123456 like '123%', 123456 like "%123%"
REGEXP运算符格式:str regexp str_pat,当str中含有str_pat相匹配的字符串时,则返回1,否则返回0。例如:select 'abcdef' regexp 'ab','abcdef' regexp 'k'
3、逻辑运算符、

逻辑运算符:"NOT或!"表示逻辑非,"AND或&&"表示逻辑与,"OR或||"表示逻辑或,"XOR"表示逻辑异或。
4、位运算符、

mysql数据类型与运算符的更多相关文章
- MySQL数据类型——数值类型
1.1.1 整型 整型 占用字节 范围 范围 tinyint 1 -27~27-1 -128~127 smallint 2 -215~215-1 -32768~32767 mediumint 3 -2 ...
- 第四章 MySQL数据类型和运算符
5.1 MySQL数据类型介绍 一.数据类型简介 (1) 数据表由多列字段构成,每一个字段指定了不同的数据类型,指定了数据类型之后,也就决定了向字段插入的数据内容 (2) 不同的数据类型也决定了 My ...
- PHP语法(二):数据类型、运算符和函数
相关链接: PHP语法(一):基础和变量 PHP语法(二):数据类型.运算符和函数 PHP语法(三):控制结构(For循环/If/Switch/While) 这次整理了PHP的数据类型.运算符和函数. ...
- mysql 数据类型
1.整型 MySQL数据类型 含义(有符号) tinyint(m) 1个字节 范围(-128~127) smallint(m) 2个字节 范围(-32768~32767) mediumint(m) ...
- MySQL 数据类型 详解
MySQL 数据类型 详解 MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数.许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持不同大小的数据,并且 My ...
- MySQL数据类型的验证
CHAR char (M) M字符,长度是M*字符编码长度,M最大255. 验证如下: mysql)) default charset=utf8; ERROR (): ); use BLOB or T ...
- MySQL数据类型 int(M) 表示什么意思?详解mysql int类型的长度值问题
MySQL 数据类型中的 integer types 有点奇怪.你可能会见到诸如:int(3).int(4).int(8) 之类的 int 数据类型.刚接触 MySQL 的时候,我还以为 int(3) ...
- 浅谈MySQL数据类型
MySQL 数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的. MySQL支持多种类型,大致可以分为三类:数值.日期/时间和字符串(字符)类型. 一.数值类型 MySQL支持所有标 ...
- 【转】MySQL数据类型和常用字段属性总结
来源:http://www.jb51.net/article/55853.htm 这里先总结数据类型.MySQL中的数据类型大的方面来分,可以分为:日期和时间.数值,以及字符串.下面就分开来进行总结. ...
随机推荐
- 【资料】wod旗帜,纹章
物品 徽章 旗帜 掉落地点 备注 火焰纹章 法师与怪物 火焰魔法.魔法攻防 雄鹰纹章 受诅咒的遗迹 弩系相关 盗贼纹章 捉迷藏 偷袭.匕首.割喉.近攻防 守夜人的纹章 酒馆里平静的一天 钝器.双打.旋 ...
- easyui datagrid checkbox multiple columns have been done do
lengku1987 2013-01-06 22:27:47 Sponsored Links easyui datagrid checkbox multiple columns have ...
- 前端如何接收 websocket 发送过来的实时数据
WebSocket protocol 是HTML5一种新的协议,它实现了浏览器与服务器全双工通信(full-duple).刚开始的握手需要借助HTTP请求完成,在 WebSocket API,浏览器和 ...
- http://jingyan.baidu.com/article/7f41ecec1b7a2e593d095ce6.html
http://jingyan.baidu.com/article/7f41ecec1b7a2e593d095ce6.html http://www.linuxeden.com/html/softuse ...
- java学习笔记10--泛型总结
java学习笔记系列: java学习笔记9--内部类总结 java学习笔记8--接口总结 java学习笔记7--抽象类与抽象方法 java学习笔记6--类的继承.Object类 java学习笔记5-- ...
- 【itercast OSI 七层网络模型 学习笔记】Layer 1 物理层
NIC:网卡(基本上是一层功能) 传输介质:以太网,分有线和无线 开始以太网只有10Mbps的吞吐量,使用的是带有冲突检测的载波侦听多路访问(CSMA/CD,Carrier Sense Multipl ...
- Python+Django+SAE系列教程13-----MySQL记录的添\删\改
建立了数据库后,我们就来做一个简单的表(person_classroom)的加入.删除.改动的操作. 首先我们建立一个加入的页面的模板Classroom_Add.html(加入的表单)并把它放在Bid ...
- tableLayoutPanel 列宽度设置
public partial class UserControl1 : UserControl { public UserControl1() { InitializeComponent(); ].W ...
- 如何用 js 递归输出树型
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- sql分页性能测试结果
--方案一: declare @d datetime set @d = getdate() ID from Info order by ID) order by ID select [not in方法 ...