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 罗昊 [转载请注明出处和署名,谢谢!] 索引分类 单值索引 单的意思就是单列的值,比如说有 ...
随机推荐
- jQuery 对文档的操作
通过jquery方式实现页面各种节点的追加.修改.删除.复制等操作 节点追加 1 父子关系追加 /*************************************************** ...
- MarkDown 快速开始 基础教学
# MarkDown 快速上手 # > [源代码](https://www.cnblogs.com/qiyuexin/p/9932941.html) > by qyx@2018/11/07 ...
- 1022 Digital Library (30 分)
1022 Digital Library (30 分) A Digital Library contains millions of books, stored according to thei ...
- Java各版本的含义
JavaSE(Java Standard Edition):标准版,定位在个人计算机上的应用.这个版本是Java平台的核心,它提供了非常丰富的API来开发一般个人计算机上的应用程序,包括用户界面接口A ...
- 使用Python将字符串转换为格式化的日期时间字符串
我正在尝试将字符串“20091229050936”转换为“2009年12月29日(UTC)” >>>import time >>>s = time.strptime ...
- 34-Ubuntu-用户权限-05-超级用户
超级用户 Linux系统中的root(超级用户)账号通常用于系统的维护和管理,对操作系统的所有资源具有访问的权限. 在大多数的Linux版本中,都不推荐直接使用root账号登录系统. 在Linux安装 ...
- vue 过滤器filter的详解
1.代码运用的地方 <!-- 在双花括号中 --> {{ date | formatDate}} <!-- 在 `v-bind` 中 --> <div v-bind:id ...
- 编写Storm程序
- pymupdf 修改pdf文件
安装: sudo pip install pymupdf==1.16.0 引入使用: import fitz 可以插入文字.图片.... 帮助文档: PyMuPDF documentation ht ...
- leetcood学习笔记-70-爬楼梯
题目描述: 第一次提交:(超时) class Solution: def climbStairs(self, n: int) -> int: if n == 0 or n == 1 or n = ...