Mysql Basic
kill -s TERM /bin/pidof mysqld
nohup mysqld &
Mysql 导出数据csv解决乱码.
导出时直接设置字符集格式:
mysql> select * from mobile_order_region where school_id=6921 into outfile '/tmp/6921.csv'
CHARACTER SET gbk FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n';
Mysql 编码转换
select HEX(convert('磊' using gbk)); -- C0DA
select convert(0xC0DA using gbk); -- 磊
select HEX(convert('磊' using utf8));
select convert(0xE7A38A using utf8);
基本语法
case
Case具有两种格式。简单Case函数和Case搜索函数。
--简单Case函数
CASE sex
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '其他' END
--Case搜索函数
CASE WHEN sex = '1' THEN '男'
WHEN sex = '2' THEN '女'
ELSE '其他' END
with 语句
with语句一般用来解决一个sql子查询多次使用的问题,如果不支持的话写两遍就可以了
## 表复制语句
SELECT INTO 和 INSERT INTO SELECT 两种表复制语句insert into user select * from test.user;
SELECT INTO FROM语句创建表newtable并复制数据 【注意:newtable 不能存在】select a,c into newtable from Table1
数据混淆
update work_log_list set content=CONCAT(LEFT(content,4),REPEAT('x',CHAR_LENGTH(content)-6),RIGHT(content,2));
二、数据脱敏实现
数据脱敏实现可以从数据库查数据的时候进行处理,可以在查出数据后进行处理。在这里记录了MySQL数据库查询时处理,通过使用mysql字符串函数实现。
首先执行SQL语句:
SELECT IdentityCardNo FROM c_inhabitantinfo;
结果得到了原样的两条身份证号码信息。
正常数据
MySQL数据脱敏实现
CONCAT()、LEFT()和RIGHT()字符串函数组合使用
CONCAT(str1,str2,…):返回结果为连接参数产生的字符串
LEFT(str,len):返回从字符串str 开始的len 最左字符RIGHT(str,len):从字符串str 开始,返回最右len 字符
执行SQL语句:
SELECT
CONCAT(LEFT(IdentityCardNo,3), '****' ,RIGHT(IdentityCardNo,4)) AS 身份证号
FROM c_inhabitantinfo;
数据脱敏
2.INSERT()
INSERT(str,pos,len,newstr):返回字符串 str, 其子字符串起始于 pos 位置和长期被字符串 newstr取代的len 字符
执行SQL语句:
SELECT INSERT(IdentityCardNo, 4, 11, '****') AS 身份证号 FROM c_inhabitantinfo;
数据脱敏
在本节中,我们为您提供高级的MySQL技术和技巧,以帮助您有效地解决MySQL中一些棘手的难题。
MySQL CTE简介
本教程将向您展示如何使用MySQL CTE或公用表表达式功能以更可读的方式构建复杂查询。
参阅:http://www.yiibai.com/mysql/cte.html
MySQL递归CTE的最终指南
在本教程中,您将了解MySQL递归CTE以及如何使用它来遍历MySQL数据库中的分层数据。
参阅:http://www.yiibai.com/mysql/recursive-cte.html
使用邻接列表模型管理MySQL中的分层数据
在本教程中,您将学习如何使用邻接列表模型来管理MySQL中的层次结构数据。
参阅:http://www.yiibai.com/mysql/adjacency-list-tree.html
MySQL行计数:如何在MySQL中获取表中的行数?
本教程将向您展示在MySQL数据库中获取MySQL行计数的各种方法。
参阅:http://www.yiibai.com/mysql/row-count.html
MySQL比较两个表
本教程将向您展示如何比较两个表,以查找MySQL中不匹配的记录。
参阅:http://www.yiibai.com/mysql/compare-two-tables-to-find-unmatched-records-mysql.html
如何在MySQL中找到重复的值
本教程将逐步介绍如何使用纯SQL语句在MySQL中的一列或多列中找到重复值。
参阅:http://www.yiibai.com/mysql/find-duplicate-values.html
如何删除MySQL中的重复行
在本教程中,您将学习如何使用DELETE JOIN语句或即时表删除MySQL中的重复行。
参阅:http://www.yiibai.com/mysql/delete-duplicate-rows.html
MySQL UUID:UUID 与 INT 作为主键的比较
本教程将向您介绍MySQL UUID,演示如何将其用作表的主键(PK),并讨论将其用作PK的优缺点。
参阅:http://www.yiibai.com/mysql/uuid.html
MySQL复制表示例
本教程将向您展示如何使用MySQL中的CREATE TABLE LIKE和SELECT语句将表在同一数据库中,或者将表从一个数据库复制到另一个数据库中。
参阅:http://www.yiibai.com/mysql/copy-table-data.html
如何复制MySQL数据库
本教程将向您展示如何在同一服务器,或在另外一个服务器上复制MySQL数据库。
参阅:http://www.yiibai.com/mysql/copy-database.html
MySQL变量
在本教程中,您将学习如何在SQL语句中使用MySQL用户定义的变量。
参阅:http://www.yiibai.com/mysql/variables.html
如何使用MySQL生成的列
在本教程中,将学习如何使用MySQL生成的列来存储从表达式或其他列计算的数据。
参阅:http://www.yiibai.com/mysql/generated-columns.html
如何比较MySQL中相同表中的连续行
在本文章中,我们将通过在MySQL中使用INNER JOIN向您展示如何比较或计算连续行之间的差异。
参阅:http://www.yiibai.com/mysql/compare-calculate-difference-successive-rows.html
如何更改MySQL存储引擎
在本教程中,您将了解表如何使用哪个存储引擎,以及如何将表的存储引擎更改为其他引擎。
参阅:http://www.yiibai.com/mysql/change-storage-engine.html
MySQL REGEXP:基于正则表达式的搜索
在本教程中,您将了解正则表达式以及如何使用MySQL REGEXP运算符使用许多正则表达式示例查询数据。
参阅:http://www.yiibai.com/mysql/regular-expression-regexp.html
MySQL row_number函数以及如何模拟它
在本教程中,我们将向您展示一个模拟MySQL中row_number函数的使用技巧。
参阅:http://www.yiibai.com/mysql/row_number.html
MySQL选择随机记录
显示从数据库表中选择随机记录的各种技术。
参阅:http://www.yiibai.com/mysql/select-random-records-database-table.html
如何选择MySQL中第n个最高纪录
在本教程中,您将学习如何使用各种技术在数据库表中第n个最高记录。
参阅:http://www.yiibai.com/mysql/select-nth-highest-record-database-table-using-mysql.html
MySQL重置自动增量值
本教程将向您展示如何重置MySQL中AUTO_INCREMENT列的自动增量值。
参阅:http://www.yiibai.com/mysql/reset-auto-increment.html
MariaDB与MySQL比较区别
下表说明了MariaDB和MySQL之间的主要区别:MySQL MariaDBDeveloper Oracle Corporation MariaDB Corporation AB(MariaDB Enterprise),MariaDB Foundation(社区MariaDB Server)协议…
参阅:http://www.yiibai.com/mysql/mariadb-vs-mysql.html
MySQL间隔
本教程将逐步介绍如何使用MySQL间隔进行日期和时间算术与许多实际示例。
参阅:http://www.yiibai.com/mysql/interval.html
MySQL NULL:初学者指南
在本教程中,您将学习如何使用MySQL NULL值。 此外,还将学习一些有用的函数来有效地处理NULL值。
参阅:http://www.yiibai.com/mysql/null.html
如何获取MySQL今天的日期
本教程将向您展示如何通过使用CURDATE()或NOW()函数来获取MySQL今天的日期。 另外,还将学习如何创建today()存储函数。
参阅:http://www.yiibai.com/mysql/today.html
如何将NULL值映射到其他有意义的值
您将学习如何将NULL值映射到其他值以获得更好的数据表示。
参考:http://www.yiibai.com/mysql/avoid-displaying-null-values-by-mapping-to-other-values.html
MySQL注释深度
本教程将向您展示如何使用MySQL注释来记录SQL语句或代码块。
参考:http://www.yiibai.com/mysql/comment.html