近日,业务部门提出给 他们出的报表中有特殊字符,导致其他部门用不了,排查后发现表中该列字段里边有空格导致的,数据总量140w,因数据量较大,暂不考虑直接提sql更新生产数据.近日只考虑下,去除空格的mysql方法. (1)mysql replace 函数 语法:replace(object,search,replace) 意思:把object中出现search的全部替换为replace 案例: 原数据:   修复语句: update t_user_score set cname = REPLAC…
MySQL数据库InnoDB存储引擎中的锁机制    http://www.uml.org.cn/sjjm/201205302.asp   00 – 基本概念 当并发事务同时访问一个资源的时候,有可能导致数据不一致.因此需要一种致机制来将访问顺序化. 锁就是其中的一种机制.我们用商场的试衣间来做一个比喻.试衣间供许多消费者使用.因此可能有多个消费者同时要试衣服.为了避免冲突,试衣间的门上装了锁.试衣服的人在里边锁住,其他人就不能从外边打开了.只有里边的人开门出来,外边的人才能进去. - 锁的基本…
重新学习MySQL数据库9:Innodb中的事务隔离级别和锁的关系 Innodb中的事务隔离级别和锁的关系 前言: 我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁这种方式.同时数据库又是个高并发的应用,同一时间会有大量的并发访问,如果加锁过度,会极大的降低并发处理能力.所以对于加锁的处理,可以说就是数据库对于事务处理的精髓所在.这里通过分析MySQL中InnoDB引擎的加锁机制,来抛砖引玉,让读者更好的理解,在事务处理中数据库到底做了什么. #一次封锁or两…
binarytree.h 头文件 #ifndef LINKEDBINARYTREE_H #define LINKEDBINARYTREE_H #include<c++/algorithm> #include<c++/cstdio> #include<string> #include<c++/string> #include<c++/vector> #include<vector> #include<iostream> #i…
/* 二叉树前中后/层次遍历的递归与非递归形式 */ //*************** void preOrder1(BinaryTreeNode* pRoot) { if(pRoot==NULL) return; cout<<pRoot->value; if(pRoot->left!=NULL) preOrder1(pRoot->left); if(pRoot->right!=NULL) preOrder1(pRoot->right); } void preO…
设置MySQL数据库编码为UTF-8 登陆后查看数据库当前编码:SHOW VARIABLES LIKE 'char%'; 修改/etc/mysql/my.cnf (默认安装路径下) (标签下没有的添加,有的修改) [mysqld] character_set_server=utf8 [mysql] default-character-set= utf8 [client] default-character-set = utf8 重启MySQL服务 service mysql stop; serv…
目录 前置技能 需求描述 binarytree.h 具体实现 binarytree.cpp main.cpp 网上代码一搜一大片,大同小异咯. 书上的函数实现代码甚至更胜一筹,而且抄一遍就能用,唯一问题是没有写二叉树节点和树的模版类的构造实现,和没有具体实现 visit 函数(也没说明,略坑). 只需要前中后序遍历的话很多函数都不需要,此外值得吐槽的一点是,明明 BinaryTreeNode 类里面接口写的很明确,私有成员也都保护起来了,最后却把 BinaryTree 添加为了友元类,这波操作着…
http://acm.hdu.edu.cn/showproblem.php?pid=4763 Theme Section Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 5815    Accepted Submission(s): 2890 Problem Description It's time for music! A lot o…
前序:跟->左->右 中序:左->根->右 后序:左>右->根 采用递归遍历时,编译器/解释器负责将递归函数调用过程压入栈并保护现场,在不同位置处理根节点即可实现不同顺序的遍历. import Tree def preOrderTraversal(root): if root: # do some processing on root here (in front of traversal) print(root.val) preOrderTraversal(root.…
力扣题目:https://leetcode-cn.com/problems/binary-tree-inorder-traversal/ 今天自己琢磨了很久如何不用递归将二叉树的遍历写出来,于是乎写出了如下代码. 优点:前中后序均只需要改一行代码的顺序:树的结构不会被破坏. 用栈显式的实现遍历,栈中元素为pair结构体,first是TreeNode*,second是int整形作为一个标记,0表示该树结点未被拓展(访问)过,1表示已经拓展过了. 思路(这里针对中序遍历)是栈中存放元素,如果第一次访…
如何去掉C#字符串中的所有空格 来源:https://www.cnblogs.com/donchen/p/8966059.html 字符串行数Trim()可以去掉字符串前后的空格,如:  C# Code  string myString = " this is a test "; Console.WriteLine(myString.Trim()); 输出的结果为: 使用字符串的Replace()函数可以去掉字符串中间及前后的空格:  C# Code  string myString…
遇到这种情况,现有项目的数据库已经建好,数据表也已经创建完成. 问题来的,数据库不能插入中文,调试时候发现中文数据从发送请求到最后请求处理完成这些步骤,中文还没有发生乱码. 只有在存储到数据库后查询数据并显示才会乱码. 那么到此可以确定是mysql出现问题了. 那么应该怎么办呢?哈哈,当然是看我们的度娘啦! 看的下度娘解决方法是: 将数据库的编码修改为utf8编码格式,因为安装mysql默认使用的字符编码latin1 what?这个编码是什么鬼,见都没见过. 查了下,Latin1是ISO-885…
背景在上一篇文章里面已经提过了. 现在面临的问题是nextcloud没有mysql数据库,用不起来了. 因为文件没丢,一种方法是启动新的mysql数据库,把文件重新提交一次. 为了程序员的面子,没有选择这么没技术含量的方法.我想通过恢复mysql数据库来解决这个问题. 恢复mysql数据库 于是,在mysql目录里面找找看,发现了一堆binlog文件.上网查了一下,binlog文件里面好像有记录mysql的操作,可以用来恢复数据库. 查看binlog:# ll -th binlog.* 先把最近…
背景:aliyun上的rds数据库快满了,于是删除了某个备份的表后面大boss说是有用的表,需要恢复回来,阿里云有7天内的物理全量备份(通过percona-xtrabackup备份的)第一时间应该延长备份时间(默认保留7天,可以配置15天或更长避免在恢复过程中被阿里云的rds删除) 准备:数据库大概有700G左右,物理备份文件100G左右,恢复回来需要占用大概1多T的空间,于是在现有同样区域的ecs上挂载一块2T的磁盘用来做恢复 整体的过程是:在相同地域的ecs安装好mysql,恢复到上面,然后…
今天向MySQL数据库中的一张表添加含有中文的数据,可是老是出异常,检查程序并没有发现错误,无奈呀,后来重新检查这张表发现表的编码方式为latin1并且原想可以插入中文的字段的编码方式也是latin1,然后再次仔细观察控制台输出的异常,进一步确定是表和表中字段编码不当造成的,那就修改表和其中对应的字段呗,网上找了一会儿,你别说还真有,执行完sql脚本后果然可以存入中文了,尽管如此还是认为有必要总结一下,古人云:好记性不如烂笔头嘛,呵呵呵. 修改表的编码方式:ALTER TABLE `test`…
二.windows10下的配置 (1) 环境变量配置 打开控制面板=>系统和安全=>系统=>高级系统设置,选择环境变量,在系统变量中找到path,编辑该选项. 第一行是oracle数据库的环境变量path配置,上图中最后一行是jdk的安装路径path配置.我们要添加mysql安装路径path配置. 系统默认安装的5.6.45版本mysql路径的位置如下 : C:\Program Files\MySQL\MySQL Server 5.6\bin 配置完之后,使用WIN+R组合键调用cmd窗…
 mysql数据库创建,表创建模等模板脚本 -- 用root用户登录系统,运行脚本 -- 创建数据库 create database mydb61 character set utf8 ; -- 选择数据库 use mydb61; -- 添加 dbuser1 用户 --     创建用户'dbuser61'password为 'dbuser61'拥有操作数据库mydb61的全部权限 GRANT ALL ON mydb61.* TO dbuser61 IDENTIFIED BY "dbuser…
1.以系统管理员身份打开cmd 2.查看MySQL是否启动: net start 3.如果启动就停止:net stop MySQL55 注:MySQL55是在我的电脑上的mysql数据库服务名 4.再开一个DOS窗口 5.切换到mysql的bin目录(MySQL数据库所在位置): cd C:\Program Files\MySQL\MySQL Server 5.5\bin 6.输入命令行 Mysqld -nt --skip-grant-tables 7.再开一个DOM窗口 8.切换到mysql的…
字符串行数Trim()可以去掉字符串前后的空格,如:  C# Code  string myString = " this is a test "; Console.WriteLine(myString.Trim()); 输出的结果为: 使用字符串的Replace()函数可以去掉字符串中间及前后的空格:  C# Code  string myString = " this is a test "; Console.WriteLine(myString.Replace…
http://www.uml.org.cn/sjjm/201205302.asp 00 – 基本概念 当并发事务同时访问一个资源的时候,有可能导致数据不一致.因此需要一种致机制来将访问顺序化. 锁就是其中的一种机制.我们用商场的试衣间来做一个比喻.试衣间供许多消费者使用.因此可能有多个消费者同时要试衣服.为了避免冲突,试衣间的门上装了锁.试衣服的人在里边锁住,其他人就不能从外边打开了.只有里边的人开门出来,外边的人才能进去. - 锁的基本类型 数据库上的操作可以归纳为两中,读和写.多个事务同时读…
服务启动 在命令提示符中 启动mysql服务 net start mysql 停止mysql服务 net sotp mysql 通过命令行进入 mysql -u 用户名 -p 键入后会提示输入密码 如果不能进入数据库就使用绝对路劲或者配置环境变量 查看数据库 show databases; 查看表: show table; 增删改查等操作…
数据库误操作,把表的字段删除了,关键是被删除的字段的数据很重要,现在想要恢复数据,下面说说是怎么操作的. 数据库只剩.frm和.ibd文件了,按照网上的做法分如下两步来进行:一.找回表结构,二.找回数据.关键是我在第一步就碰到了问题,进行不下去,网上第一步的描述如下: a.先创建一个数据库,这个数据库必须是没有表和任何操作的. b.创建一个表结构,和要恢复的表名是一样的.表里的字段无所谓.一定要是innodb引擎的.CREATE TABLE `test`(  `testID` bigint(20…
代码: StringBuilder sb = new StringBuilder(); sb.append(" insert into uosdetailfile ("); sb.append(" filename, "); sb.append(" content,"); sb.append(" addtime "); sb.append(" ) values ("); sb.append(" '…
=IF(FIND(" ",A160)>1,A160,MID(A160,FIND(" ",A160)+1,LEN(A160)-FIND(" ",A160))) 用 if 判断,如果第一个没有空格,就直接使用目标内容.如果有就去掉第一个空格吧后面的拿过来用. 用FIND()获取空格在目标内容中的位置,如果>1说明第一个没有.直接使用原文 其他情况用mid获取剩下的内容.…
#include<iostream>#include<stdio.h> using namespace std; class BitNode{ public: char data; BitNode * lchild; BitNode * rchild;}; class BitTree{ private: BitNode * pBase; public: BitTree() { CreateByPreOrder(pBase); } void show() { cout<<…
这里使用下图的二叉树作为例子: 首先建立树这个类: public class Node { private int data; private Node leftNode; private Node rightNode; public Node(int data, Node leftNode, Node rightNode) { this.data = data; this.leftNode = leftNode; this.rightNode = rightNode; } public int…
#include <stdio.h> #include <stdlib.h> typedef struct tree { int number ; struct tree *left ; struct tree *right ; }TREE; //对树插入节点 void insert_tree(TREE **header , int number) { //创建一颗树 TREE *New = NULL ; New = malloc(sizeof(TREE)); if(NULL ==…
class MyBinaryTree<T> { BinaryNode<T> root; public MyBinaryTree() { root = new BinaryNode<>(); } /** * 堆栈进行先序遍历 * * @param ts */ public void preorderTraversal(T... ts) { Stack<BinaryNode<T>> binaryStack = new Stack<>();…
[抄题]:二叉树前序遍历 [思维问题]: 不会递归.三要素:下定义.拆分问题(eg root-root.left).终止条件 [一句话思路]: 节点非空时往左移,否则新取一个点 再往右移. [输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入): [画图]: [一刷]: 不要提起加入root节点. [二刷]: [三刷]: [四刷]: [五刷]: [总结]: [复杂度]:Time complexity: O(n) Space complexity: O(n)…
链接:poj.org/problem?id=2255 本文链接:http://www.cnblogs.com/Ash-ly/p/5463375.html 题意: 分别给你一个二叉树的前序遍历序列和中序遍历序列,让你给出这个二叉树的后序遍历序列. 思路: 对于二叉树的三种遍历方式,都可以使用递归来实现,那么也一定可以使用递归来拆解,以达到从遍历序列确定二叉树具体结构的目的.对于前序遍历来说,第一个字母一定是根,并且在序列中根的左子树包含的点一定出现在根的右子树的前面.对于中序遍历序列来说,根前面出…