Mysql
Anald
这个作者很懒,什么都没留下…
展开
-
mysql游标如何优雅的离开循环
BEGIN DECLARE row_data INT DEFAULT 0; DECLARE all_sum INT DEFAULT 0; -- 初始化定义 DECLARE tail_flag INT DEFAULT -1; DECLARE data_cursor CURSOR FOR SELECT id FROM `tb_test`; -- 关键点:游标循环完所有数据的时候,设置tail_flag为1 DECLARE CONTINUE HANDLE原创 2021-03-23 21:04:12 · 885 阅读 · 1 评论 -
数据库中间件收集
MyCATRDRS阿里的Cobar淘宝的TDDL (未开源)360的AtlasOneProxy(收费项目,稳定)百度的topicmysql官方的MySQL ProxyHeisenbergCDSDDBDALSharding-JDBC 360kingshard是一个由Go开发高性能MySQL Proxy项目VitessMySQL RouteMaxScale原创 2017-10-13 13:54:19 · 744 阅读 · 0 评论 -
A表中的数据根据条件,不能再B表中存在,显示A表符合条件的数据
该代码来自某QQ 只能借鉴,类似需求可以使用select c.*from ( select p2p_funds_details.id_, p2p_funds_details.fund_id_, p2p_funds_details.cur_stage_no_, b.profit_plan_, b.period原创 2017-10-13 19:18:08 · 256 阅读 · 0 评论 -
mysql的表约束添加和查看
#添加表约束ALTER TABLE `gd_vedio_comment` ADD CONSTRAINT FOREIGN KEY (vedio_id) REFERENCES `gd_vedio_page_list`(id);#查询单个表约束SELECTTABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME, REFERENCED_TABLE_NAME,REFERENCED_原创 2017-10-23 14:47:13 · 5519 阅读 · 0 评论 -
【经典】mysql ISSAM如何快速去掉某个表中的重复名称
我这里以一个字段名称为例子,如果存在多个名称联合组成唯一的情况,可以建立复合唯一索引的情况。 我的表名称:entry_management 我的表字段:entryName1.先查询该字段entryName在表entry_management中最大的长度是,字段越小,去重效果越好。SELECT MAX(LENGTH(entryName)) FROM entry_management;结果:52原创 2017-11-11 23:07:46 · 249 阅读 · 0 评论 -
mysql文章与标签简单查询
建表DROP TABLE IF EXISTS `news`;CREATE TABLE `news` ( `news_id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(100) DEFAULT NULL, `tags` varchar(100) DEFAULT NULL, PRIMARY KEY (`news_id`)) ENG原创 2017-11-12 10:23:59 · 4277 阅读 · 1 评论 -
mysql根据标签查询文章相似度
建立表DROP TABLE IF EXISTS `news`;CREATE TABLE `news` ( `news_id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(100) DEFAULT NULL, PRIMARY KEY (`news_id`)) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT原创 2017-11-12 10:44:42 · 3545 阅读 · 0 评论 -
mysql的2表关联进行更新
根据sys_dept与pms_project通过名称关联,补充相关的部门idUPDATE pms_project,sys_deptSET pms_project.`apply_dept_id`=sys_dept.`dept_id`WHERE sys_dept.dept_name=pms_project.apply_dept原创 2017-10-26 14:17:46 · 604 阅读 · 0 评论 -
mysql的分页优化例子
例子1#主键id自增长SELECT * FROM t_test WHERE ID >=( SELECT id FROM t_test LIMIT 866613, 1) LIMIT 20例子2#inner join SELECT a.* FROM t_test a INNER JOIN ( SELECT b.id原创 2017-10-26 15:49:01 · 189 阅读 · 0 评论 -
mybatis更新文章阅读次数
<!-- 更新阅读次数 --> <update id="updateReadCount" parameterType="com.sjq.cg.purchaseplan.pojo.PortalArtile"> update portal_article SET read_count = IFNULL(read_count,0) + #{readCount}原创 2017-11-22 18:11:43 · 384 阅读 · 0 评论 -
mysql的in和exists
参考地址:http://blog.csdn.net/jwisdom/article/details/1803577IN用法 SELECT * FROM t1 WHERE t1.a IN ( SELECT t2.b FROM t2 )可以理解为: SELECT * FROM t1, ( SELECT DIST原创 2017-12-23 13:06:12 · 258 阅读 · 0 评论 -
查询二名和第三名sql
top是sql server的用法SELECT t3.* FROM( SELECT top 2 t2.* FROM ( SELECT top 3 NAME, SUBJECT, score, stuid FROM stuscore ...转载 2018-06-24 21:46:10 · 6031 阅读 · 0 评论 -
mysql查询航班
初始化脚本CREATE DATABASE /*!32312 IF NOT EXISTS*/`test_db` /*!40100 DEFAULT CHARACTER SET utf8 */;USE `test_db`;DROP TABLE IF EXISTS `cities`;CREATE TABLE `cities` ( `mid` int(11) NOT NULL AUTO_...原创 2018-06-24 22:33:59 · 1888 阅读 · 0 评论 -
mysql的多字段排名
创建表CREATE DATABASE `test_db`;USE `test_db`;DROP TABLE IF EXISTS `rank`;CREATE TABLE `rank` ( `id` int(11) NOT NULL AUTO_INCREMENT, `rank_id` int(11) DEFAULT NULL, `c1` varchar(20) DEFAULT ...原创 2018-07-01 23:16:52 · 1812 阅读 · 0 评论 -
表设计之冗余字段
1.冗余针对的是字段,字段通过外键与其他表进行连接。该例子来源某qq群。本人转载过来,若有不当之处,希望见谅。方案一 会员表 会员id 会员名称 渠道id 门店id 渠道表 渠道id 渠道名称 门店表 门店id 门店名称特点...原创 2018-07-07 15:57:25 · 3515 阅读 · 0 评论 -
mysql删除重复表数据
建表DROP TABLE IF EXISTS del_repeat; CREATE TABLE del_repeat ( id int(11) NOT NULL AUTO_INCREMENT, f1 varchar(10) DEFAULT NULL, f2 varchar(10) DEFAULT NULL, PRIMARY KEY (id) ) ENGINE=Inn...原创 2018-08-01 21:44:39 · 312 阅读 · 0 评论 -
mysql查询表的信息
SELECT COUNT(*) FROM information_schema.`COLUMNS` WHERE TABLE_SCHEMA='数据库名' AND TABLE_NAME='表名';原创 2017-11-07 10:41:05 · 3882 阅读 · 0 评论 -
mysql加表注释和字段注释
表注释ALTER TABLE `gd_vedio_comment` COMMENT '科普视频评论表';字段注释ALTER TABLE `gd_vedio_page_list` ADD pushStatus SMALLINT(6) DEFAULT '0';ALTER TABLE `gd_vedio_page_list` MODIFY COLUMN pushStatus SMALLINT(6) DE原创 2017-10-19 14:45:04 · 430 阅读 · 0 评论 -
两个count获取除数
SELECT COUNT(*) FROM city WHERE 50>id; -- 结果果:34 SELECT COUNT(*) FROM city ; -- 结果:3375-- 问题: 如何用一条sql语句计算出34除以3375的值(0.0101) SELECT c.counts / COUNT(*) FROM book b, ( SELECT COUNT转载 2017-09-02 16:13:05 · 4179 阅读 · 0 评论 -
分页核心SQL
分页算法:分页显示起始记录位置 = (当前页号 - 1)*每页显示记录数Mysql分页Select * from 表名where 条件limit 当前页码 * 页面容量 - 1,页面容量原创 2016-03-12 00:00:32 · 282 阅读 · 0 评论 -
常用的mysql练习题和答案01
mysql查询语句练习题Sutdent表的定义字段名 字段描述 数据类型 主键 外键 非空 唯一 自增 Id 学号 INT(10) 是 否 是 是 是Name 姓名 VARCHAR(20) 否 否 是 否 否 Sex 性别转载 2016-03-08 16:51:18 · 2634 阅读 · 0 评论 -
mysql分组排名(更新篇)
排名并更新######################################################### USE test_db;建表CREATE TABLE t_rank_update ( pid INT(4) PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20) NOT NULL, age INT(3),原创 2016-09-14 17:08:24 · 5129 阅读 · 0 评论 -
mysql排名(查询篇)
USE test_db;建表CREATE TABLE t_rank ( pid INT(4) PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20) NOT NULL, age INT(3), groupid INT )插入INSERT INTO t_rank(NAME,age,groupid) VALUES (‘Peter’翻译 2016-09-14 14:57:01 · 8065 阅读 · 0 评论 -
mysql基本常用函数
一、mysql基本常用函数 1.字符串类 CHARSET(str) – 返回字符串编码集 SELECT CHARSET(‘abc’);CONCAT(str1,..) – 连接字符串 SELECT CONCAT(‘abc’,’1’);INSTR(str, sub1) –返回sub1首次出现的位置,不存在返回0 SELECT INSTR(‘abc’,’c’); – 第几个位置LCASE(str原创 2016-09-21 12:22:18 · 869 阅读 · 0 评论 -
mysql存储过程(转载)
存储过程学习创建表 CREATE TABLE test_proc ( i_field INT PRIMARY KEY, v_field VARCHAR(20))查询表的记录数DELIMITER // CREATE PROCEDURE proc_t_rank_count(OUT s INT) BEGIN SELECT COUNT(*) INTO s FROM t_r转载 2016-09-21 12:23:00 · 198 阅读 · 0 评论 -
mybatis模糊查询写法
写法一:select * from user where name like like "%"#{name}"%"写法二:select * from user where name like CONCAT('%',#{name},'%')原创 2017-03-15 16:19:14 · 423 阅读 · 0 评论 -
文章标题
一、单个参数: XxDao.javapublic List<XXBean> getXXBeanList(@param("id")String id); XxMapper.xml<select id="getXXBeanList" parameterType="java.lang.String" resultType="XXBean"> select t.* from tableNam转载 2017-03-15 16:55:58 · 245 阅读 · 0 评论 -
查询家长和小孩姓名,通过学籍号关联
SELECT a.user_id AS parent_id,a.student_num AS parent_num, a.realname AS parent_name, stu.user_id AS child_id, stu.student_num AS stu_num, stu.realname AS child_nameFROM (SELECT user_id,student_原创 2017-04-12 14:35:31 · 2006 阅读 · 0 评论 -
触发器总结
之前没有接触过触发器。目前总结开发中遇到的两点。 1: 一张表只能建立一个触发器 2: 一个触发器可以对多个字段进行触发和更新。通过if判断进行更新例子:create trigger testbefore update on testfor each row update test set NEW.updateTime = NOW() where id=NEW.ID;END原创 2017-05-24 00:14:37 · 1018 阅读 · 0 评论 -
mysql经验总结
数值int索引比varchar文本索引快使用索引,不能为null,设置好默认值对表的每个属性,写好注释一个表只有一个触发器,可以通过if判断进行扩展更新多个属性针对多个变动需求或者业务,可以设置表进行管理和维护。比如xx类型表、xx状态表 目前先总结到这里,后期再更新。原创 2017-06-09 11:07:46 · 298 阅读 · 0 评论 -
navicat 工具构建查询(非常方便)
这里我只做一个简单的表的查询(单表查询)原创 2017-06-24 08:48:19 · 4188 阅读 · 0 评论 -
mysql 取一条离当前时间最近的记录
# mysql写法SELECT *, ABS(NOW() - startTime) AS diffTimeFROM PolicyShuPriceORDER BY diffTime ASCLIMIT 0, 1# oracle写法SELECT * FROM ( SELECT *, ABS(NOW() - startTime) AS diffTime FROM PolicySh原创 2017-08-12 09:42:09 · 43567 阅读 · 5 评论 -
mysql-商户查询自己的交易记录
数据表CREATE TABLE `transaction` ( `t_id` int(11) NOT NULL AUTO_INCREMENT, `buyer` varchar(20) DEFAULT NULL, `seller` varchar(20) DEFAULT NULL, `amount` decimal(8,2) DEFAULT NULL, `start_time` d原创 2017-09-02 14:06:10 · 1551 阅读 · 0 评论 -
mysql-触发器
注意了解:mysql的触发器支持的版本说明:本触发器功能:如果本表的CUTOFFTIME字段时间>当前时间,修改alltime.flag为1CREATE TRIGGER testAFTER UPDATE OR INSERTON alltableFOR EACH ROWBEGINIF CUTOFFTIME>=now()THEN UPDATE SET alltime.flag='1';EN原创 2017-09-02 14:10:31 · 195 阅读 · 0 评论 -
好太太集团笔试mysql总结01
CREATE DATABASE test_0810 USE test_0810 CREATE TABLE tb( NAME VARCHAR(20), SUBJECT VARCHAR(20), result INT ) INSERT INTO tb(NAME,SUBJECT,result)VALUES('张三','语文原创 2016-03-11 23:22:58 · 548 阅读 · 0 评论