mysql sql的分类、运算符、常用的数据类型
SQL (结构化查询语言)的分类
DML(数据操作语言),关键字 insert,update,delete,
DCL(数据控制语言),控制权限,grand,revoke 授权,回收
DDL(数据定义语言),创建数据库,表,约束 create,drop,modify
DQL(数据查询语言),查询数据,select mysql中的运算符
算数运算符 + - * / %
比较运算符 = > < >= <= 不等于: != <>
赋值运算符 =
逻辑运算符 and or not mysql中常用的数据类型
一、值类型
1、整型
tinyint:迷你型,用1字节储存,256种状态
smallint:小整型,用2字节存储,256种状态
mediumint:中整型。3字节存储
int:标准整型,4字节存储
bigint:大整型,8字节存储
Sql中的数值类型默认全部是有符号的,分正负,tinyint(-128到127),如果使用无符号数据,需要去掉符号,
去掉符号用 unsigned,如 age tinyint unsigned,无符号从0开始。 2、小数型
a、浮点型
height float:直接使用 float 表示没有小数部分。
money float(M,D):M 代表总长度,D代表小数部分长度。整数部分长度为 M-D。
浮点型数据的插入,整型部分是不能超出长度的,小数部分是可以超出长度(系统会自动四舍五入)。 b、定点型
小数点固定,精度固定,不会丢失精度。用 decimal 数据类型定义。
定点型会绝对的保证整数部分不会被四舍五入(不会丢失精度),小数部分有可能(理论小数部分也不会丢失精度,
在自己的范围内不会进位,不在自己范围内会进位)。
插入数据时,定点数的整数部分一定不能超出长度(进位)不可以,
小数部分的长度是可以随意超出指定长度的(系统会自动四舍五入)。
二、字符串类型
在Sql中,字符串类型分为6类,分别是:char、varchar、text、blob、enum和set。
1、 定长字符串 char
char:磁盘(二维表)在定义结构的时候,就已经确定了最终数据的存储长度。
char(L):L代length(长度)的意思,单位为字符,最大长度值为255。
char(4):在utf8环境下,需要 4 * 3 = 12个字节。
2、变长字符串 varchar
varchar 在分配空间的时候,按照最大的空间分配,但是实际上用了多少,是根据具体的情况来确定的。
varchar(L):L表示length(长度),理论长度是65536个字符,但是会多出 1 到 2 个字节来确定存储的实际长度,
但是实际上如果长度超过255,既不用定长,也不用变长,使用文本字符串text。
varchar(10) :存了10个汉字,在utf8环境下,需要 (10 * 3) + 1 = 31(bytes)来存储。
3、文本字符串
如果数据量非常大,通常说超过255个字符就会使用字符串。
文本字符串根据存储的数据格式进行分类,text和blob。
text:存储文字(二进制实际上都是存储路径)。
blob:存储二进制数据(通常不用)。
4、枚举字符串
枚举:enum,事先将所有可能出现的结果都设计好,实际存储的数据必须是定义好的数据中的其中一个。
枚举的作用:
规范数据格式,数据只能是规定的数据的其中之一。
节省存储空间(枚举通常有1个别名,单选框),枚举实际存储的是字符串本身。
语法: enum(可能出现的元素列表)。如 enum('男','女');
5、集合字符串
集合和枚举很类似,实际存储的是数值,而不是字符集(集合是多选)。
语法: 字段名 set(元素列表)
例子:创建1个名叫【my_set】的表,为其加入一个hobby字段,为其设置数据类型为集合。
create table my_set(
hobby set('足球','篮球','乒乓球')
)charset utf8;
三、MySql记录长度
utf8环境下(3个字节存一个汉字),varchar的实际顶配为21844个字符。
gbk环境下(2个字节存1个汉字),varchar的实际顶配为32766字符。
mysql sql的分类、运算符、常用的数据类型的更多相关文章
- mysql/sql server和java之间的数据类型对应关系
Mysql************************************当前列 ClassName ColumnType DisplaySize TypeName0: java.lang.I ...
- 五、mysql中sql语句分类及常用操作
1.sql语句分类: DQL语句 数据查询语言 select DML语句 数据操作语言 insert delete update DDL语句 数据定义语言 create drop alter TCL语 ...
- SQL Server中开发常用的数据类型
我们在日常开发过程中,在进行数据库设计的时候,经常会遇到如果选择数据类型的问题,选择什么样的数据类型最合适,然后当我们在项目中建立对应实体的时候,如何选择对应的CLR类型.针对这些问题,于是这篇文章诞 ...
- Mysql sql 功能分类
分类 DDL:数据定义语言,用于定义数据库对象,比如创建表,列,库等 DML:数据操作语言,用于添加.删除.修改数据 DQL:数据查询语言,用于查询(结果集是虚拟表,放在内存中) DCL:数据控制语言 ...
- mysql中常用的数据类型
MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性.MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语 ...
- MySQL的sql语言分类DML、DQL、DDL、DCL、
MySQL的sql语言分类DML.DQL.DDL.DCL. SQL语言一共分为4大类:数据定义语言DDL,数据操纵语言DML,数据查询语言DQL,数据控制语言DCL 1.数据定义语言DDL(Data ...
- Sql Server中不常用的表运算符之UNPIVOT
在Sql Server中不常用的表运算符之PIVOT中,介绍了PIVOT表运算符,现在来说说与之相对应的另一个表运算符UNPIVOT. 从名字可以看出,这个运算符的作用与PIVOT刚好相反,是将一行的 ...
- Sql Server中不常用的表运算符之APPLY(2)
在Sql Server中不常用的表运算符之APPLY(1)中提到,SQL2005中新支持的APPLY的特性:1.可以直接将表表达式(表值函数或者子查询)作为APPLY语句的右表连接左表.2.由于使用A ...
- SQL优化 MySQL版 - 索引分类、创建方式、删除索引、查看索引、SQL性能问题
SQL优化 MySQL版 - 索引分类.创建方式.删除索引.查看索引.SQL性能问题 作者 Stanley 罗昊 [转载请注明出处和署名,谢谢!] 索引分类 单值索引 单的意思就是单列的值,比如说有 ...
随机推荐
- 常用内置模块(二)——logging模块
logging模块 一.logging作用 1. 控制日志级别 2. 控制日志格式 3. 控制输出的目标为文件 二.日志级别 logging.debug( logging.info( loggin ...
- Jackson环境安装设置
本地环境设置 由于Jackson是基于Java编程语言的,所以需要设置Java开发环境,这里介绍如何下载安装设置Java.请按照以下步骤来设置环境. Java SE是免费的,点击下载链接:下载Java ...
- 兼容ie8浏览器的准备工作
一.html5shiv.js和respond.min.js html5shiv:解决ie9以下浏览器对html5新增标签的不识别,并导致CSS不起作用的问题. respond.min:让不支持css3 ...
- 大道浮屠诀---NBU7.7.3_oracle11G单机-单机(异机恢复WINDOWS2008平台)
现有环境说明: 一台WINDOWS2008R2:安装有NBU7.7.3,作为服务端 一台WINDOWS2008R2:安装有oracle11.2.0.3,作为数据库服务器 现假设数据库意外崩溃,需要进行 ...
- WebServer Project-02-XML解析
XML:Extensible Markup Language,可扩展标记语言,左卫门数据的一种存储格式或用于存储软件的参数,程序解析此配置文件,就可以达到不修改代码就能更改程序的目的. <?xm ...
- 567. Permutation in String【滑动窗口】
Given two strings s1 and s2, write a function to return true if s2 contains the permutation of s1. I ...
- UncategorizedSQLException异常处理办法
如题,先贴console org.springframework.jdbc.UncategorizedSQLException: StatementCallback; uncategorized SQ ...
- docker配置阿里云镜像加速地址
1.注册阿里云用户 2.阿里云控制台首页,开发者工具->开发者中心 3.加入开发者中心,并设置密码. 4.镜像中心->镜像加速器
- 随便写点什么,证明我还活着,VS2010出现的问题
今天使用VS2010的过过程中出现了这个问题,哎... 简单地说,其实就是在我的sln里面有某个proj出问题了, 问题是某个或者某几个依赖项出问题了, 怎么办呢,没办法,只能一个一个排查, 我把所有 ...
- 微信小程序picker下拉绑定数据
页面部分 <picker mode = "selector" bindchange="bindPickerChange" value="{{pr ...