BEGIN declare f_age int;DECLARE incode1 VARCHAR(100);DECLARE incode2 VARCHAR(100);DECLARE incode3 VARCHAR(100);DECLARE incode4 VARCHAR(100);DECLARE incode5 VARCHAR(100);DECLARE incode6 VARCHAR(100); declare a1 int; declare a2 int; declare a3 int; dec…
DELIMITER// CREATE PROCEDURE setRoomManger2() BEGIN ); ; DECLARE cur CURSOR FOR SELECT roomid FROM nst_t_room; ; OPEN cur; FETCH NEXT FROM cur INTO roomids; REPEAT IF NOT done THEN ,roomids,); END IF; FETCH NEXT FROM cur INTO roomids; UNTIL done END…
Mysql存储过程查询结果赋值到变量的方法   把查询结果赋值到变量,大部分情况下使用游标来完成,但是如果明确知道查询结果只有一行(例如统计记录的数量,某个字段求和等),其实可以使用set或into的方式来实现赋值.示例代码: 01 drop table if exists test_tbl; 02 create table test_tbl (name varchar(20), status int(2)); 03 insert into test_tbl values('abc', 1),(…
以下的文章主要介绍的是MySQL随机选取数据,对实现MySQ随机查询数据与MySQ随机更新数据的实际操作步骤的描述,以及对其实际操作中所要用到的语句的描述,以下就是对其具体操作步骤的描述. MySQL随机查询数据 以前在群里讨论过这个问题,比较的有意思.mysql的语法真好玩.他们原来都想用PHP的实现随机,但取出多条好像要进行两次以上查询.翻了手册,找到了下面这个语句,可以完成任务了. ; MySQL的rand()函数在手册里是这么说的: RAND() RAND(N) 返回在范围0到1.0内的…
一.首先说下本篇博客所实现功能的背景和功能是怎样的: 背景:因为公司项目开始迁移新平台项目,所以以前的平台老数据以及订单信息需要拆分表,而且需要业务逻辑来分析以前的订单表,来拆分成另外的几个新表,包括增加新的流水分析,以及更新其他用户或者商家的余额以及对账信息. 功能:需要查询出某个日期节点后的几十万条订单信息,循环遍历每条订单,获取每条订单的交易额,从而根据订单中的商家id和用户id来更新用户表中的积分或者余额信息,并且要在循环中为商家保存流水. 讲解:其实这个存储过程一点都不难,主要是本人在…
性能测试是基于大量数据的,而进行性能测试之前肯定没那么多数据,所以就要自己准备数据 数据构造方法: 1.业务接口 -- 适合数据表关系复杂 -- 优点:数据完整性比较好2.存储过程 -- 适合表数量少,简单 -- 优点:速度最快3.脚本导入 -- 适合数据逻辑复杂 -- 自由度比较高4.数据量级 --测试数据 --基础数据 启动并用工具连接mysql,这里的新建函数,所建的函数,即为存储过程 也可以在命令行mysql -u root -p 登录后输入存储过程的sql运行,但是这就是纯命令行了 执…
DECLARE @tablename VARCHAR(30),@sql VARCHAR(500)DECLARE cur_delete_table CURSOR READ_ONLY FORWARD_ONLY FORSELECT name FROM sysobjects WHERE name LIKE 'PUB%' AND type='U'OPEN cur_delete_tableFETCH NEXT FROM cur_delete_table INTO @tablenameWHILE @@FETC…
在mysql中查询5条不重复的数据,使用以下: 1 SELECT * FROM `table` ORDER BY RAND() LIMIT 5  就可以了.但是真正测试一下才发现这样效率非常低.一个15万余条的库,查询5条数据,居然要8秒以上 搜索Google,网上基本上都是查询max(id) * rand()来随机获取数据. 1 SELECT *  2 FROM `table` AS t1 JOIN (SELECT ROUND(RAND() * (SELECT MAX(id) FROM `ta…
转自: http://www.maomao365.com/?p=10564 摘要: 下文讲述MySQL数据库查询重复数据时,只保留一条数据的方法 实现思路: 在MySQL数据库中没有row_number函数,所以我们需变向实现此功能.  --1.基础数据表查看 mysql> select * from `maomao365.com`; +-------+------------+ | keyId | infoB | +-------+------------+ | mysql test | |…
我们在测试过程中,可能需要到数据库中拉去一些数据,为从测试准备.比如最近在做接口性能测试的时候,就需要很多数据来支撑,所以就需要的数据库去查询数据,下面就是python3 查询 mysql 并且保存到文件中,然后为接口做测试做准备. #coding=utf-8 import pymysql as MySQLdb #这里是python3 如果你是python2.x的话,import MySQLdb host = xxxx user = xxxx passwd = xxxx port = xxxx…
BEGIN DECLARE sid INT(10) DEFAULT 0; DECLARE money INT(10) DEFAULT 0; DECLARE row_count INT; DECLARE done INT DEFAULT FALSE;#默认游标读出有记录 DECLARE cur_order CURSOR for SELECT m.id,sum(o.price) money from ims_bj_shopn_order as o LEFT JOIN ims_bj_shopn_mem…
增加数据: insert into "表名" values( '字段'',字段'); 或insert into '表名'( '字段'',字段')  values( '字段'',字段'); 修改数据: update "表名" set gender='男' where id=1 删除数据: delete from "表名" where id=1 带条件删除 delete from 删除,但可以找回 truncate table 彻底删除 查询数据:…
今天想给数据库换一个数据引擎,mysiam转为 innodb 结果 python 插入数据时失败,但是自增id值是存在的, 换回mysiam后,又可以插入了~~ 想换php插入试试,结果php数据引擎怎么转都可以, 或许是数据类型问题吧,毕竟前两个是注重类型的语言, PHP是几乎不分类型随便插入的…
select TABLE_NAME, concat(truncate(data_length/1024/1024,2),' MB') as data_size, concat(truncate(index_length/1024/1024,2),' MB') as index_size from information_schema.tables where TABLE_SCHEMA = 'acc_log' group by TABLE_NAME order by data_length des…
CREATE DEFINER=`user`@`%` PROCEDURE `create_upload_data`(in start_userid integer,in create_counter integer) BEGIN declare i integer; set i = start_userid; while i < start_userid + create_counter do insert into t_xx_table(column1,column2,column3,colum…
数据库 表 发生变化,需要把2.0的表数据 同步到3.0库中去: -- 同步数据存储过程执行 -- 更新留言旧表数据到新表数据中 /*DEFINER:Vector*/ drop procedure if exists p_for_feedback_message; create procedure p_for_feedback_message() begin DECLARE v_done INT DEFAULT 0; DECLARE v_id INT DEFAULT 0; DECLARE v_f…
原因: 今天遇到一个问题:一个数据表case_folder_info想要实现自定义排序功能,就在表里新加了一个字段SORT_NUMBER,由于表里存在已有数据,所以这个SORT_NUMBER字段都为空,但要想实现上移.下移.置顶等功能的话,需要里面有默认数据,所以我想给这个字段里默认有一些排序的值. 思考实现方式: 1.用c#写个小程序,然后取出来所有数据,UPDATE一遍,这个还得新建项目,添加数据库连接字符串,添加数据库类库引用,太麻烦. 2.用数据库自带的命令行方式实现. 最终经过我头脑的…
最近在着手koa时候,发现mongoose(mongodb)查询数据库后添加新属性,前端拿不到新属性问题, 然后测试了一下Sequelize(mysql),发现也有同样的问题存在.此时着手干! 1.1 mongoose问题展示: router.get('/order_show', async (ctx, next) => { const id = ctx.query.id try { let doc = await Order.findOne({ _id: id }).populate(['bu…
参考网站:https://zhidao.baidu.com/question/201227796936321525.html 用SQL命令查看Mysql数据库大小 要想知道每个数据库的大小的话,步骤如下:1.进入information_schema 数据库(存放了其他的数据库的信息)use information_schema; 2.查询所有数据的大小:select concat(round(sum(data_length/1024/1024),2),'MB') as data from tab…
可以用 命令"show PROCEDURE status"查看所有的存储过程或检索系统表"mysql.proc"来查询已有的存储过程.例如:用show PROCEDURE status命令查看:-- 查看所有的存储过程show PROCEDURE status; -- 查看特定数据库存储过程show PROCEDURE status where db='test'; -- 用指定的登录名查看该用户创建的存储过程show PROCEDURE status where…
今天项目BOSS提了个sql语句需求,我听得稀里糊涂,没办法,一步步讨论.实践,最终搞定. 先上建表语句: /* Navicat MySQL Data Transfer Source Server : localhost_3306 Source Server Version : 50623 Source Host : localhost:3306 Source Database : demo Target Server Type : MYSQL Target Server Version : 5…
1.临时表 DROP PROCEDURE IF EXISTS `P_GetMonitorPeople`; CREATE PROCEDURE P_GetMonitorPeople (IN fgid INT, IN mins INT,in lens INT) BEGIN THEN BEGIN -- 建表tb_temp1 DROP TABLE IF EXISTS tb_temp1; CREATE TEMPORARY TABLE tb_temp1( `Tmp_Id` int UNSIGNED NOT N…
在mysql  控制台当 当为gbk的时候查询的数据是汉字,假设不是则为乱码.  set  names  gbk;  那么查询出来的数据则为汉字…
前天在问答区看到一个童鞋对于mysql中大小写问题不熟悉,在回复他后再次汇总梳理如下: mysql中大小写问题主要有以下两种: A.表名区分大小写 ower_case_table_names 是表名区分大小写的标识:在my.conf加入:ower_case_table_names = 0其中 0:区分大小写,1:不区分大小写 B.插入查询时区分大小写字段值需要设置BINARY属性,即可区分大小写.设置的方法有多种:创建时设置:CREATE TABLE T(A VARCHAR(10) BINARY…
# 使用的navicat  编辑的存储过程 CREATE DEFINER=`root`@`localhost` PROCEDURE `insert_student_back`()BEGIN#定义max变量 DECLARE max INT DEFAULT 0; select max(id) into max from student_back; #判断是不是空值 是空值就赋值为0 if max is null then set max = 0; end if; #备份数据 INSERT INTO…
因为 数据量比较多, 比如每次 /** * 批量查询 * @param sourList * @param batchCount * @param userMapper * @return */ public List<User> dealBySubList(Set<String> sourList,Integer batchCount,UserMapper userMapper){ List<User> userList = new ArrayList<User…
SELECT * FROM tablename ORDER BY RAND() LIMIT 10…
drop table if exists test_tbl; create table test_tbl (name varchar(20), status int(2)); insert into test_tbl values('abc', 1),('edf', 2),('xyz', 3); drop procedure IF EXISTS pro_test_3; delimiter // create procedure pro_test_3() begin -- 方式 1 DECLARE…
一.数字类 1. 生成随机数:rand() a. 随机抽取2位 select * from stuinfo order by rand() limit 2 2. 四舍五入:round(数字) 3. 向上取整:ceil(数字) 4. 向下取整:floor(数字) 5. 截取:truncate(数字,截取小数位数) 二.字符串类 1. 转成大写:ucase(字符串) 2. 转成小写:lcase(字符串) 3. 截取字符串: a. 从左边截取:left(字符串) b. 从右边截取:right(字符串)…
多条数据以一条数据展示:GROUP_CONCAT select GROUP_CONCAT(uuid) from user; 判断某字符是否存在某字段:INSTR select * from( select GROUP_CONCAT(uuid) names from user ) temp where INSTR(uuid,'001');…