当前位置: 首页 > news >正文

【Mysql】第四章 数据类型(数值+字符串+日期+enum+set)


文章目录

  • 一、数值类型
    • 1.tinyint
    • 2.bit
    • 3.float
    • 4.decimal
  • 二、字符串类型
    • 1.char
    • 2.varchar
  • 三、时间类型
  • 四、enum和set
    • 插入-insert into
    • 查找-直接查-find_in_set


一、数值类型

1.tinyint

占用一个字节,取值范围为-128~127。

列名 tinyint
num tinyint //一个列为num的用tinyint类型

无符号tinyint,占用1字节,取值范围为0~255。

列名 tinyint unsigned
num tinyint unsigned//一个列为num的用tinyint的无符号类型

2.bit

占用1-64位数

列名 bit[(M)] //M为比特位数,范围1-64,M可以被省略,默认为1
num bit(8)//一个列num的用8个比特位

3.float

列名 float[(m, d)]//m指定显示总长度,d指定小数点位数,占4个字节
num float(4,2)//长度为-99.99~99.99总共四位数,小数点占两位

无符号float

列名 float[(m, d)] unsigned
num float(4, 2) unsigned//长度为0~99.99

4.decimal

decimal比float精度更高

列名 decimal(m, d) [unsigned]//m指定显示总长度,d指定小数点位数

注意范围不能省略

二、字符串类型

1.char

列名 char(L)//L单位是字符,最大255
num char(2)//最多插入两个字符比如'ab',但是不能插入'abc'

注意:mysql中的字符就是一个字符,一个字符可以是一个字母a也可以是一个汉字

2.varchar

列名 varchar(L)//L单位是字符,最大65535
num varchar(6)//最多插入6个字符比如'abcdef',或者6个汉字一二三四五六,但是不能插入'abcdefg',也不能插入一二三四五六七

char和varchar区别

  • char类型的数据是定长的,效率高(直接访问定长的空间)。
  • varchar类型的数据是变长的,效率低(需要先读取存储字符串的长度,再访问指定长度的空间)。

三、时间类型

列名 date//日期格式为'YYYY-MM-DD','2024-1-1',占用三字节。
列名 datetime//时间日期格式为'YYYY-MM-DD HH:MM:SS','2024-1-1 12:15:24',占用八字节。
列名 timestamp//时间戳,格式为'YYYY-MM-DD HH:MM:SS',占用四字节,插入不写的话会自动插入当前时间。

四、enum和set

设置enum值时只允许选取其中的一个值,设置set值时可以选取其中的一个或多个值

列名 enum('选项一','选项二')
列名 set('选项一','选项二')
gender enum('男','女')//设置列为gender,选项有男 女
name set('张三','李四', '王五')//name,选项有张三 李四 王五

插入-insert into

//下列表名是student
insert into student value('男', '张三');//用汉字插入一个
insert into student value('男', '张三, 李四');//用汉字插入两个,插入多个中间要用英文逗号隔开insert into student value('1', '张三');//用数字设置,提供1,2,3...insert into student value('男', 1);//用汉字插入男张三
insert into student value('男', 2);//用汉字插入男李四
insert into student value('男', 3);//用汉字插入男张三 李四

注意:set用的是用数字表示是位图,1对应0001是第一个,2对应0010是第二个,3对应0011是第一和第二个,4对应0100是第三个,以此类推。

查找-直接查-find_in_set

//下列表名是student 列名是gender 筛选是'男'或者数字1
select * from student where gender='男';  或者  select * from student where gender=1; 
select * from 表名 where 列名='描述';

find_in_set(str,strlist)函数

  • 查找strlist列中是否有str字符串
  • 查找strlist字符串中是否有str字符,返回位置,例如select find_in_set(‘a’,‘a,b,c’);//返回1
//下列表名是student 列name
select * from student where find_in_set('张三'name);//在表student中,列name中。查找'张三'
select * from 表名 where find_in_set('str',strlist);

find_in_set和直接查找区别:

  • find_in_set查找包括str的值,如查找’代码’,那么’代码’,'代码,游泳’都算
  • 直接查找只查找对应值,如查找’代码’,那么’代码’算,'代码,游泳’不算,因为多了游泳

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 决策树可解释性分析
  • 【wsl】wsl + vscode 中使用 typora 打开 markdown 文件
  • 简单搭建dns服务器
  • 浅学 Pytorch
  • C++协助完成返回值优化
  • 【python学习】Python中的 `json.dump` 和 `json.dumps` 的区别和用法解析
  • 深度学习入门(一):感知机与输入数据
  • 【吊打面试官系列-Elasticsearch面试题】详细描述一下 Elasticsearch 搜索的过程?
  • 【算法】贪心算法
  • 大话C语言:第36篇 枚举​
  • 【算法速刷(5/100)】LeetCode —— 20.有效的括号
  • Docker基础知识大全
  • 63 epoll服务器 (ET模式)
  • 【Linux】匿名管道|命名管道|pipe|mkfifo|管道原理|通信分类|管道的特征和情况
  • SQL二次注入
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 「译」Node.js Streams 基础
  • AWS实战 - 利用IAM对S3做访问控制
  • Docker: 容器互访的三种方式
  • Fabric架构演变之路
  • leetcode讲解--894. All Possible Full Binary Trees
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • Web Storage相关
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 入手阿里云新服务器的部署NODE
  • 时间复杂度与空间复杂度分析
  • 网页视频流m3u8/ts视频下载
  • 翻译 | The Principles of OOD 面向对象设计原则
  • 进程与线程(三)——进程/线程间通信
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (4)STL算法之比较
  • (C语言)fread与fwrite详解
  • (C语言)逆序输出字符串
  • (zt)最盛行的警世狂言(爆笑)
  • (八)Spring源码解析:Spring MVC
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (第61天)多租户架构(CDB/PDB)
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (六)c52学习之旅-独立按键
  • (三)mysql_MYSQL(三)
  • (已更新)关于Visual Studio 2019安装时VS installer无法下载文件,进度条为0,显示网络有问题的解决办法
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • *Django中的Ajax 纯js的书写样式1
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .net core Swagger 过滤部分Api
  • .net web项目 调用webService
  • .NET 回调、接口回调、 委托
  • .net 设置默认首页
  • .NET/C# 在 64 位进程中读取 32 位进程重定向后的注册表
  • @RequestBody与@RequestParam
  • [ C++ ] STL---仿函数与priority_queue