场景:再次复习MySql数据库相关知识,记录下

创建数据库时,推荐用下列建表语句(这样就可以存储 emjoi 表情符号了):

CREATE DATABASE IF NOT EXISTS dbname default character set utf8mb4 collate utf8mb4_unicode_ci;

SQL中的having语句:

SQL 中的 HAVING 子句用于筛选分组 ( GROUP BY ) 后的各组数据,相当于 SELECT 语句中的 WHERE 语句:

SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name HAVING aggregate_function(column_name) operator value;

针对于列的修改语句:

ALTER TABLE table_name ADD column_name datatype
ALTER TABLE table_name DROP COLUMN column_name

数据库视图的使用(视图总是显示最近的数据。每当用户查询视图时,数据库引擎通过使用 SQL 语句来重建数据。):

CREATE VIEW <视图名> AS <SELECT语句>;

SELECT *  FROM  视图名;

查看所创建的视图:

show table status where comment=‘view’;

删除指定的视图:

DROP VIEW <视图名1> [ , <视图名2> …]

Find_IN_SET函数的使用(之前在项目中引用过,所以特意去看这个函数):

Find_IN_SET:如果字符串str在由N个子字符串组成的字符串列表strlist中,则返回1到N范围内的值。字符串列表是由,个字符分隔的子字符串组成的字符串。如果第一个参数是常量字符串,第二个参数是SET类型的列,则FIND_IN_SET()函数将优化为使用位算术。如果str不在strlist中或strlist是空字符串,则返回0。如果任一参数为NULL,则返回NULL。如果第一个参数包含逗号(,)字符,则此函数无法正常工作。

-------------------------------------------------------------------------------------------------------------------------

有的朋友看完定义会有这样的疑问:[sql的like'%模糊查询%'不也是查询属性里含有的数据吗?]

是的,在某一方便他俩确实很相似,但就定义说的说的->Find_IN_SET函数查询数据时是以,进行数据分割,从而精确的进行了数据查询。下面我举例给大家示范:

1.(select * from tb_user;)

2.(SELECT * FROM tb_user WHERE roles LIKE '%8%';)

3.(select * from tb_user where FIND_IN_SET(8, roles);)

模糊查询是把数据中含有这个'8'的数据全部查询出来,而FIND_IN_SET函数是按','(逗号)进行分割,精确的查询数据含有'8'的数据,部分角色权限、商品属性类型字段等,可能会应用到,这个时候我们还是用FIND_IN_SET,而不是模糊查询。

Lpad函数和Rpad函数:

​lpad(str1,length,str2)​​。其中str1是第一个字符串,length是结果字符串的长度,str2是一个填充字符串。如果str1的长度没有length那么长,则使用str2在左侧填充;如果str1的长度大于length,则截断。

Rpad(str1,length,str2)​​。其中str1是第一个字符串,length是结果字符串的长度,str2是一个填充字符串。如果str1的长度没有length那么长,则使用str2在右侧侧填充;如果str1的长度大于length,则截断。

示例:

首先表中的全部数据:

使用lpad查询:

如果查询的字段不满足位数,则在左侧起按我们给的数值补齐5位;

再看rpad:

如果查询的字段不满足位数,则在右侧起按我们给的数值补齐5位;

我们将id都修改为5位然后去查询:

看到从左边起截取两位,rpad同理;

当然另一个小用途是之前在项目用到的,当我们从A表向B表 迁移数据的时候,b表的id要求是PC拼接的32位,这个函数就很好的满足了条件。

REPLACE INTO:REPLACE INTO没有实际应用,浅浅记录:

REPLACE INTO用于实时覆盖写入数据。写入数据时,会先根据主键判断待写入的数据是否已经存在于表中,并根据判断结果选择不同的方式写入数据:

  • 如果待写入数据已经存在,则先删除该行数据,然后插入新的数据。
  • 如果待写入数据不存在,则直接插入新数据。

写法和insert语句一样(REPLACE INTO tb_user value (10000,'庞胖','10,20,30');):

要继续打工,就记录到此吧

MySql数据库相关小知识相关推荐

  1. 机构数据分析培训之关于Mysql定义及数据库相关小知识

    机构数据分析培训之关于Mysql定义及数据库相关小知识 一.关于Mysql定义 MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度 ...

  2. [python学习] 专题九.Mysql数据库编程基础知识

    在Python网络爬虫中,通常是通过TXT纯文本方式存储,其实也是可以存储在数据库中的:同时在WAMP(Windows.Apache.MySQL.PHP或Python)开发网站中,也可以通过Pytho ...

  3. mysql数据库python基础知识_python学习之Mysql数据库编程基础知识介绍

    在Python网络爬虫中,通常是通过TXT纯文本方式存储,其实也是可以存储在数据库中的:同时在WAMP(Windows.Apache.MySQL.PHP或Python)开发网站中,也可以通过Pytho ...

  4. 38个MySQL数据库的小技巧

    1.如何快速掌握MySQL? 培养兴趣 兴趣是最好的老师,不论学习什么知识,兴趣都可以极大地提高学习效率.当然学习MySQL 5.6也不例外. 夯实基础 计算机领域的技术非常强调基础,刚开始学习可能还 ...

  5. 后端程序员必备:mysql数据库相关流程图/原理图芬芬细雨

    前言 整理了一些Mysql数据库相关流程图/原理图,做一下笔记,大家一起学习. 1.mysql主从复制原理图 mysql主从复制原理是大厂后端的高频面试题,了解mysql主从复制原理非常有必要. 主从 ...

  6. 后端开发-MySQL数据库相关流程图原理图

    前言 整理了一些 MySQL 数据库相关流程图/原理图.做一下笔记,分享给大家一起学习. 1. MySQL 主从复制原理图 MySQL 主从复制原理是大厂后端的高频面试题,了解 MySQL 主从复制原 ...

  7. 2. Mysql数据库的入门知识

    2. Mysql数据库的入门知识 (1)打开Windows系统提供的服务查看相应的服务. (2)在Windows任务管理器的进程中查看 (3)使用命令行管理windows的Mysql数据库服务. Ne ...

  8. zabbix5.0 High swap space usage ( less than 50% free)解决步骤。相关小知识:linux系统mem和swap的关系

    zabbix5.0 系统报错High swap space usage ( less than 50% free) 一,执行free -m,看看目前内存是多少 total        used   ...

  9. 大厂面试 Mysql数据库相关面试题总结

    1.列举常见的关系型数据库和非关系型都有那些? 关系型数据库:Oracle.DB2.Microsoft SQL Server.Microsoft Access.MySQL 非关系型数据库:NoSql. ...

最新文章

  1. 图文解说nginx中server的匹配顺序
  2. [IS-IS] IS-IS路由协议的基本知识及配置
  3. Git远程操作详解【转】
  4. VMware发布新版vSphere6.5虚拟化平台,助力企业数字化转型
  5. 【简明表】MATLAB + 矩阵运算
  6. react学习(6)----react样式多用内联
  7. google海底光缆图_感受技术震撼:全球海底光缆分布图详解(附源地图链接)
  8. 人工智能学习(三)Anaconda与PyCharm的结合
  9. iOS用户体验之-modal上下文
  10. Spring揭秘 读书笔记
  11. cpu压测 windows_怎么用AIDA64进行CPU压力测试?
  12. Smobiler错误记录
  13. 前端特效 - 前置- - 01. 百叶窗
  14. 封堵高危端口,预防勒索病毒
  15. html的header背景图片,关于在HTML插入背景图片的问题
  16. 嵌入式高速串行并行技术_推荐(张锋)
  17. Maxima在线性代数的应用
  18. 计算机考试后的感想,计算机考试的感想
  19. 使用OpenGL,在窗口中绘制两个立体图形,位置分别为窗口的左侧和右侧,添加光照,两个图形分别绕x轴和y轴旋转。
  20. 生日蛋糕(noi99)

热门文章

  1. Android:代码修改layout_marginBottom的属性
  2. 如何查看已经连接的wifi密码
  3. chrome 正在等待可用的套接字。。。
  4. 自动驾驶数据服务进入2.0时代
  5. 百度云CDN加速配置
  6. 个人MBTI性格分析和五大性格特质
  7. crosswalk项目的维护
  8. Linux查看当前系统时间
  9. PHP会员登录实现记住密码功能 thinkPHP5
  10. 抖音四神xa,xl,xg,xt - 22.5版本