
mysql
文章平均质量分 53
姚鑫国
永不停歇就是我的人生标签!
展开
-
MySql 使用CONVERT转换字段字符集、数据类型
CONVERT ( key USING utf8mb4 )一、转换数据类型1、语法input_value –用于指定输入值。data_type –它用于指定要转换的所需数据类型。data_type 1. 字符型,可带参数 : CHAR() 2. 日期 : DATE 3. 时间: TIME 4. 日期时间型 : DATETIME 5. 浮点数 : DECIMAL 6. 整数 : SIGNED 7. 无符号整数 : UNSIGNEDCONVERT( inp原创 2022-04-29 10:02:10 · 3670 阅读 · 0 评论 -
MySql 聚合统计 在每个分类下面新增合计(WITH ROLLUP )
MySQL提供了 group by with rollup 函数进行group by 字段的汇总但是order by 互斥的不能同时用一、实列1、原数据结构2、实现的效果3、语法SELECT ifnull(a.xy_name,'合计') yx, if(a.xy_name is not null and a.zy_name is null ,'合计',a.zy_name) zy,count(1) as sl from zy_onestop_db.vi_college_major_.原创 2021-09-14 15:57:54 · 779 阅读 · 0 评论 -
MySql在insert触发器里update当前数据
解决插入时在操作处理当前插入的数据插入是不能直接些update语句操作当前数据但是可以使用set实列:BEGIN set new.name = '这是跟新数据';end;可以根据当前 new 获取插入的最新数据并修改他 在进行插入语句!...原创 2021-08-23 16:42:01 · 1471 阅读 · 0 评论 -
MySql触发获取插入数据或删除修改的数据器 new、old
目录1、insert2、update3、delete触发器(trigger):监视某种情况,并触发某种操作,它是提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,例如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。 触发器创建语法四要素:监视地点(table)监视事件(insert/update/delete)触发时原创 2021-08-23 16:37:29 · 1634 阅读 · 0 评论 -
MySql 悲观锁for update
一、for update悲观锁1.开始事务begin;/begin work;/start transaction; (三者选一就可以)1.查询出商品信息查询出来的数据有主键的情况下会锁定当前主键key的数据 不会影响操作该表的其他数据select status from table where id=1 for update;2.根据商品信息生成订单insert into table111 (id,goods_id) values (null,1);3.修改商品status为2原创 2021-07-30 09:56:48 · 267 阅读 · 0 评论 -
MySQL 正则表达式 通过正则匹配字符、替换特定字符、返回特定字符
1、NOT LIKE 操作符Not like 是 MySQL 用于模式匹配的运算符。它将列与给定值进行比较,并返回与模式不同的列。2、REGEXP 操作符您已经看到 MySQL 模式与 LIKE …% 匹配。MySQL 支持另一种基于正则表达式和 REGEXP 操作符的模式匹配操作。如果您了解 PHP 或 PERL,那么理解起来就非常简单,因为这种匹配与那些编写正则表达式脚本的方式相同。MySql比较运算符 正则式匹配 REGEXP 的详细使用3、REGEXP_INSTR() 在 M原创 2021-07-29 13:50:20 · 8561 阅读 · 0 评论 -
mysql 窗口函数
说明:序号NameDescription1CUME_DIST()累积分布值2DENSE_RANK()当前行在其分区内的秩,没有间隙3FIRST_VALUE()来自窗框第一行的参数值4LAG()来自分区内当前行的参数值5LAST_VALUE()窗框最后一行的参数值6LEAD()分区内当前行前导行的参数值7NTH_VALUE()窗框第N行参数值8NTILE()当前行在其分区内的Bucket编号。9PERCE原创 2021-06-19 16:44:35 · 2692 阅读 · 0 评论 -
MySql int类型转换成金额格式展示
解决方案:mysql int类型数据直接展示金额类型:select concat(format(222222223333.00,2),'元') as AddedCurrency原类型 222222223333.00;转换后 222,222,223,333.00元;原创 2021-06-04 10:37:13 · 775 阅读 · 0 评论 -
MySql JSON5.7函数、8.0新特性
JSON方法NameDescription->计算路径后从JSON列返回值->>计算路径后从JSON列返回值,去除收尾双引号JSON_UNQUOTE(JSON_EXTRACT()).去除收尾双引号JSON_APPEND()将数据附加到JSON文档JSON_ARRAY()创建JSON数组JSON_ARRAY_APPEND()将数据附加到JSON文档JSON_ARRAY_INSERT()插入JSON数组JSON_CO原创 2021-05-25 15:14:45 · 270 阅读 · 0 评论 -
MySql查询一个库所有的表下得字段名称详情
只需要把下面的库名称修改成需要的库就可以了SELECT c.table_name AS '表名',( SELECT TABLE_COMMENT FROM information_schema.TABLES a WHERE a.TABLE_NAME = c.table_name ) AS '表名称',c.COLUMN_NAME AS '字段',c.COLUMN_COMMENT AS '字段名称',IS_NULLABLE AS '是否为空',COLUMN_TYPE AS '字段类型',PRIVIL原创 2021-01-09 13:10:59 · 232 阅读 · 0 评论 -
MySql 插入或更新(replace into 、insert into)
在向表中插入数据的时候,经常遇到这样的情况:1. 首先判断数据是否存在; 2. 如果不存在,则插入;3.如果存在,则更新。replace可以去判断主键是否重复重复则更新否则插入。replace into 有三种形式1、replace into tbl_name(col_name, …) values(…)2、replace into tbl_name(col_name, …) select …3、replace into tbl_name set col_name=value, …...原创 2020-12-02 13:40:18 · 794 阅读 · 0 评论 -
MySql 日期的选取、日期和时间相互转换、时间戳和时间转换、时区
一、时间范围日期类型存储空间日期格式日期范围datetime8 bytesYYYY-MM-DD HH:MM:SS1000-01-01 00:00:00 ~ 9999-12-31 23:59:59timestamp4 bytesYYYY-MM-DD HH:MM:SS1970-01-01 00:00:01 ~ 2038date3 bytesYYYY-MM-DD1000-01-01year1 bytesYYYY1901time3 byte原创 2020-09-30 14:55:17 · 571 阅读 · 0 评论 -
MySql 时间加减运算
值描述day天hour时minute分second秒microsecond毫秒week周month月quarter季year年set @dt = now();select date_add(@dt, interval 1 day); -- 加 1 一天select date_add(@dt, interval 1 hour); -- 加 1 小时 select date_add(@dt, interval 1...原创 2020-09-30 13:52:03 · 446 阅读 · 0 评论 -
MySql 存储过程的控制语句(条件语句、循环语句、游标循环)
MySQL 5.0 版本开始支持存储过程。存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象。存储过程是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。原创 2020-09-30 11:29:34 · 1036 阅读 · 0 评论 -
MySql 存储过程传参 参数类型in、ont、inout的使用
一、sql语法CREATE PROCEDURE 存储过程名([[IN |OUT |INOUT ] 参数名 数据类形...])二、参数类型IN 输入参数:表示调用者向过程传入值(传入值可以是字面量或变量)OUT 输出参数:表示过程向调用者传出值(可以返回多个值)(传出值只能是变量)INOUT 输入输出参数:既表示调用者向过程传入值,又表示过程向调用者传出值(值只能是变量)三、实例1、in类型mysql> delimiter $$mysql> create procedure原创 2020-09-30 10:55:24 · 1370 阅读 · 0 评论 -
MySql 查看一个库的所有存储过程
MySQL 5.0 版本开始支持存储过程。存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象。存储过程是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。原创 2020-09-30 10:46:53 · 3392 阅读 · 1 评论 -
MySql 储存过程 变量的定义和赋值
MySQL 5.0 版本开始支持存储过程。存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象。存储过程是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。一、sql语法DECLARE variable_name datatype(size) DEFAULT default_value;解释:variable_name 是定义变量的名称(可以定义多个变量逗号分隔),data.原创 2020-09-30 10:36:19 · 3750 阅读 · 0 评论 -
MySql【超简单】清空部分表的数据
一、通过数据库的information_schema.tables表查询出需要清空的表查询db_name库中的所有表,如果有特定的表不需要清空 条件后面添加 not in (‘table1’,‘table2’)select concat('truncate table ',table_name,';') from information_schema.tables where table_schema='db_name' and TABLE_TYPE = 'BASE TABLE'二、拼接出清空原创 2020-09-04 16:35:20 · 617 阅读 · 0 评论 -
MySQL查看指定表的所有外键
MySQL查看一个表的所有外键,避免每个表都去查看。select * from INFORMATION_SCHEMA.KEY_COLUMN_USAGE where CONSTRAINT_SCHEMA ='database1'原创 2020-08-24 11:29:23 · 1610 阅读 · 0 评论 -
MySql比较运算符 正则式匹配 REGEXP 的详细使用
MySql比较运算符 正则式匹配BETWEEN的详细使用一、初始化数据DROP TABLE IF EXISTS `test_01`;CREATE TABLE `test_01` ( `id` int(0) NOT NULL, `stu` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '学号', `user` varchar(255) CHARACTER SE原创 2020-08-07 10:47:29 · 24799 阅读 · 0 评论 -
mysql 统计每人每年1-12月个个月的分数和总分、平均分
mysql 统计每人每年1-12月个个月的分数和总分、平均分初始化数据DROP TABLE IF EXISTS `test_01`;CREATE TABLE `test_01` ( `id` int(0) NOT NULL, `user` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '用户', `km` varchar(255) CHARACTER SET原创 2020-08-06 16:13:05 · 24987 阅读 · 0 评论 -
mysql横向转纵向、纵向转横向排列
mysql横向转纵向、纵向转横向排列初始化数据DROP TABLE IF EXISTS `cj_tab`;CREATE TABLE `cj_tab` ( `id` int(0) NOT NULL, `km` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '科目', `fs` varchar(255) CHARACTER SET utf8mb4 COLLATE原创 2020-08-06 15:46:29 · 25261 阅读 · 0 评论 -
navicat创建MySql定时任务详解
navicat创建MySql 定时任务详解事件(event)是MySQL在相应的时刻调用的过程式数据库对象。一个事件可调用一次,也可周期性的启动,它由一个特定的线程来管理的,也就是所谓的“事件调度器”。事件和触发器类似,都是在某些事情发生的时候启动。当数据库上启动一条语句的时候,触发器就启动了,而事件是根据调度事件来启动的。由于他们彼此相似,所以事件也称为临时性触发器。事件取代了原先只能由操作系统的计划任务来执行的工作,而且MySQL的事件调度器可以精确到每秒钟执行一个任务,而操作系统的计划任务(如:L原创 2020-08-06 11:53:19 · 25284 阅读 · 1 评论 -
mysql命令-创建删除切换数据库登录退出mysql
查看当前mysql的版本mysql -V登录mysqlmysql -uroot -proot就是账号,回车后会提示输入密码,密码是不可见的,输入密码后点击回车就可以进入mysql了。登录成功常用命令提示:mysql命令都需要加分号‘;’。mysql -uroot -p -- 登录show databases;-- 显示所有数据库create database mys...原创 2020-03-25 10:13:53 · 13798 阅读 · 0 评论