
mysql
文章平均质量分 79
mysql相关知识汇总
JDIT
回头看之前的知识储备真是过时,短短几年,自从ODC不能使用优快云,小米账号无法登录。
这些年,我竟然使用了python,go,shell,lua,powershell,java,也玩转了cgo,掌握了图库,关系库,NOSQL库,kafka,redis,Gauss,clickhouse,同时也参与了vue开发。解决过欧拉,centos,ubuntu各种不兼容问题。最后看着一个人被裁员,因为学历或者年龄。原来我们被骗了,编程语言L4的都知识小工具,只有硬件技术,操作系统编程,C语言才是根基。我们游离于API层,无限内卷,今天spark,明天flink,今天go-ansible。
展开
-
MySQL--目录
Mysql目录前言mysql的安装 windows下mysql安装 (My)SQL使用入门SQL基础 SQL基础简介 windows下mysql安装常用函数 字符串函数原创 2019-10-15 08:57:20 · 279 阅读 · 0 评论 -
SQL Mode 及相关问题
回到首页☞定位暂时跳过吧,目前没用到。回到首页☞原创 2020-05-16 12:47:08 · 192 阅读 · 0 评论 -
系统开发SQL中的安全问题
回到首页☞早些年IT行业是以功能实现为主,现在随着业务的推行,系统不再孤立,防止安全渗透是重要的工作项。就像做自动化平台,可以节约人力实现百万服务器的自动运维,同样也可以批量获取root权限,格式化全量服务器。做平台项目安全终于功能,当一个系统能力越大同样被渗透后破坏也就更大。定位:这里作为开发人员,不做深入探讨。1、SQL注入简介Sql 注入攻击是通过将恶意的 Sql 查询或添加语句插入到应用的输入参数中,再在后台 Sql 服务器上解析执行进行的攻击,它目前黑客对数据库进行攻击的最常用手段之原创 2020-05-16 12:35:07 · 480 阅读 · 0 评论 -
事务控制和锁定语句
回到首页☞定位很重要,但是相对来说暂时定位为了解。表锁:MyISAM、MEMORY存储引擎;行锁:InnoDB存储引擎;页锁:BDB存储引擎;默认情况下表锁和行锁都是自动获得的,不需要额外的命令;但是有时候用户需要明确的进行行锁或者进行事务的控制,以便确保整个事务的完整性,这样就需要用到事务控制和锁定语句来完成。1、lock table 和 unlock tableLOCK TAB...原创 2020-05-04 17:45:23 · 332 阅读 · 0 评论 -
触发器
回到首页☞1、定位了解即可暂时不浪费太多时间后续如果需要用到再补充。2、概述触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。触发器的特性:有begin end体,begin end;之间的语句可以写的简单或者复杂什么条件会触发:I、D、U什么时候触发:在增删改前或者后触发频率:针对每一行执行触发器定义在表上,附着在表上。...原创 2020-05-04 16:45:31 · 206 阅读 · 0 评论 -
时间调度器
回到首页☞1、定位了解2、概述定时任务几乎很多系统或者语言都有这个功能,也是常规功能,linux的 crontab,java quaze job,js 的定时器等等。mysql也有自己的定时器event,目前实际项目没用过,因为我们往往习惯用放到mybatis实现,为了便于维护。MySQL事件调度器(Event Scheduler),可以在某一个时间点执行一个SQL语句或一个语句块(B...原创 2020-05-04 16:28:05 · 593 阅读 · 0 评论 -
存储过程和函数
回到首页☞传统项目一直有一个争议,PLSQL到底是写到DB层,还是写到JAVA代码中实现。目前大多数数据库操作都是写在mybatis等ORM框架实现的,为的是便于维护和迁移。但是PLSQL编程还有没有意义, 当然有意义,尤其是做测试验证非常便捷。回到首页☞...原创 2020-03-20 13:20:14 · 636 阅读 · 0 评论 -
视图
回到首页☞1、什么是视图视图是一个虚拟表,是sql的查询结果,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据,在使用视图时动态生成。视图的数据变化会影响到基表,基表的数据变化也会影响到视图[insert update delete ] ; 创建视图需要create view 权限,并且对于查询涉及的列有select权限;使用create or replace 或者 alt...原创 2020-03-20 13:13:33 · 199 阅读 · 0 评论 -
索引的设计和使用
回到首页☞从开发角度看,这个就非常重要了,性能优化第一板斧就是索引。回到首页☞原创 2020-03-19 22:00:29 · 429 阅读 · 0 评论 -
字符集
回到首页☞1、字符集概述可以参考:https://www.cnblogs.com/happyday56/p/4135845.html这篇文章比较全面。从本质上来说,计算机只能识别二进制代码,因此,不论是计算机程序还是其它处理的数据,最终都必须转换成二进制码,计算机才能认识。乱码是程序员最头痛的问题,所以有了base64,在各个组件传输数据的时候,用base64加解密,往往可以解决乱码问题...原创 2020-03-19 21:54:17 · 130 阅读 · 0 评论 -
选择合适的数据类型
回到首页☞1、CHAR 与 VARCHARCHAR 和 VARCHAR 类型类似,都用来存储字符串,但它们保存和检索的方式不同。CHAR 属于固定长度的字符类型,而VARCHAR 属于可变长度的字符类型。对于字符串长度变化不大且对查询速度又较高要求的数据可以考虑使用CHAR类型,但是对于不同的存储引擎也会有一些差别:MyISAM存储引擎:建议使用固定长度的数据列代替可变长度的数据列;...原创 2020-03-19 21:34:52 · 791 阅读 · 0 评论 -
表类型(存储引擎)的选择
回到首页☞和大多数数据库不同,MySql中有一个存储引擎的概念,我们目前常用的是innodbshow engines;1、MYSQL存储引擎概述插件式存储是MYSQL数据库最重要的特性之一,用户可以根据应用的需要选择如何存储和索引数据,是否使用事务等。MYSQL 5.0支持的引擎包括MyISAM,InnoDB,MEMORY,MERGE,EXAMPLE,NDB CLuster,ARCHIV...原创 2020-03-19 21:05:49 · 270 阅读 · 0 评论 -
其它函数
回到首页☞1、database()返回当前函数2、version()返回当前数据库版本3、user()返回当前的登登录用户名4、inet_aton(ip)返回ip地址的数字表示5、inet_natoa(num)返回数字代表的ip地址6、password(str)返回字符串str的加密版本7、md5()返回字符串str的MD5值回到首页☞...原创 2020-03-19 20:40:46 · 200 阅读 · 0 评论 -
流程函数
回到首页☞1、if(value,t f)如果value是真,返回t;否则返回fSELECT IF(salary>19000, 'high','low') FROM t_emp;2、ifnull(value1,value2)如果valve1不为空返回value1,否则返回value23、case when3.1 直接用值做分支case when [value1]then [...原创 2020-03-19 20:37:33 · 271 阅读 · 0 评论 -
日期和时间函数
回到首页☞1、日期和时间函数2、日期间隔类型3、格式转换说明4.1、时间计算set @dt = now();select date_add(@dt, interval 1 day); -- add 1 dayselect date_add(@dt, interval 1 hour); -- add 1 hourselect date_add(@dt, interval 1 ...原创 2020-03-19 20:19:35 · 854 阅读 · 0 评论 -
数值函数
回到首页☞回到首页☞原创 2020-03-19 19:44:02 · 284 阅读 · 0 评论 -
Mysql支持中的运算符
回到首页☞1、 算数运算符+、-、*、/–div、%–mod2、比较运算符3、逻辑运算符4、位运算符进入编程世界,从来没使用过位运算符,如果有空研究下位运算符到底有什么业务价值。为运算是将给定的操作数转化为二进制后,对各个操作数每一位都进行指定的逻辑运算,得到的二进制结果转化为十进制数后就是为运算的结果。mysql支持6中位运算符&:位与运算符,对多个操作数的二进制...原创 2020-03-19 17:34:52 · 2912 阅读 · 0 评论 -
Mysql支持的数据类型
回到首页☞每一个常量、变量和参数都有数据类型,它用来指定一定的存储格式、约束和有效范围。1、数值类型2、日期和时间类型时间默认值常用:current_timestamp3、字符串类型尽量不要用枚举类型,不要给后台程序挖坑。回到首页☞...原创 2020-03-19 17:20:13 · 191 阅读 · 0 评论 -
帮助和小结
技术人员最大的差距并不是有多少知识点累计的差距,而是理解速度,学习能力和动手能力的差距。能够独立完成知识体系的深入,和问题的快速定位处理。而这个差距又有一个具体的体现,思维方式和行动的方式方法。帮助是一个有效的功能,能不能快速使用和理解帮助,是体现差距的一个具体方面。所以英语过硬,查询帮助手速够快,眼球扫描速度够快,还要大脑反射弧够短,这是高手的标配。至于我们这些码农,只要要懂得使用帮助,...原创 2020-01-05 20:39:37 · 185 阅读 · 0 评论 -
(My)SQL使用入门之DCL
DCL 语句主要是DBA用来管理系统中的对象权限使用,一般的开发人员很少使用。创建一个数据库用户test,具有对dev数据库中的所有表的select/insert 权限。grant select,insert on dev.* to 'test'@'localhost' IDENTIFIED by '123'grant select,insert on dev.* to 'test'@'loc...原创 2020-01-05 18:33:48 · 213 阅读 · 0 评论 -
实例表
1. t_emp 员工表CREATE TABLE `t_emp` ( `id` INT ( 11 ) NOT NULL AUTO_INCREMENT COMMENT '自增主键', `dept_no` INT ( 11 ) DEFAULT NULL COMMENT '部门编号', `ename` VARCHAR ( 50 ) DEFAULT NULL COMMENT '员工姓名', `h...原创 2020-01-04 19:33:28 · 535 阅读 · 0 评论 -
常用SQL记录
给重复OS打标签UPDATE t_node_agent t SET t.is_duplicate = 1 WHERE t.flag = 1 AND t.f_hostname IN ( SELECT * FROM ( SELECT tt.f_hostname FROM t_node_agent tt WHERE tt.f_flag = 1 GROUP BY tt.f_ho...原创 2020-01-04 18:59:25 · 135 阅读 · 0 评论 -
mysql杂记
mysql支持json格式,性能并不好,对于小表可以玩下不支持SELECT INTO FROM可以这么玩:CREATE TABLE bk(SELECT * FROM USER);或者CREATE TABLE bk LIKE user;INSERT INTO bk SELECT * FROM user;没有伪劣,批量造千万级随机数据,存储过程最实用select * from bo...原创 2019-12-25 22:44:02 · 129 阅读 · 0 评论 -
REGEXP函数
正则表达式往往可以提高工作效率,淡然也要考虑性能。有个需求,按照一定规则,找出所有满足的OS。1、机场编码+特定编码+数字+特定编码结尾例如:dgg|ngk+ci|fc+数字+fm|fm1结尾的机器SELECT * FROM t_node_agent t WHERE t.`name` REGEXP '^(dgg|ngk)(ci|fc)[0-9]' AND t.`name` R...原创 2019-12-25 21:24:55 · 3830 阅读 · 0 评论 -
(My)SQL使用入门之SELECT
核心:本章知识回顾下基础,对于复杂的查询,单独列出来,放后面续备案。select其实也算DML,但是select需要单独拉出看。select是sql中最复杂的,它是一个筛选操作,但是是工程级别的筛选操作。这个数据筛选可以是简单的单标单字段,还可以是多表各种子查询 结果记录集的筛选,甚至还要包含各种聚合和析构函数。当然还是本着实用的观点,先简单的认识下这个select,执行计划暂时不涉及。...原创 2019-12-21 23:46:17 · 425 阅读 · 0 评论 -
(My)SQL使用入门之DML
DDL其实并不是开发的日常,往往因为好久不用而忘记语法,用的时候来看下笔记即可。当时DML没什么好说的,手写也要做到丝毫不差,这是开发日常工作。DML 主要包含insert-update-delete-select1.插入记录基本语法如下:INSERT INTO tablename (field1,field2,....,fieldn) values(value1,value2,.......原创 2019-12-21 23:30:37 · 185 阅读 · 0 评论 -
(My)SQL使用入门之DDL
mysql 使用入门,我们除了回顾下sql的基础定义还要了解下mysql自己的特色,或者让oracle人员别扭的地方。SQL-Structure Query Language,如名字一样,sql的核心思想或者魅力就是结构化。如果面试的时候手写sql,如果写成一行,基本知道是一个没有思想没有灵魂的开发。SQL 分类...原创 2019-12-21 17:12:37 · 256 阅读 · 0 评论 -
SQL基础简介
玩oracle的同学会形成一个书写习惯,虽然sql基础不是问题,问题是面对mysql的特定格式是各种各样的别扭。本章目标:回顾sql基础在看下sql分离回顾下DDL语句回顾下DML语句回顾下DCL语句...原创 2019-12-21 17:05:56 · 142 阅读 · 0 评论 -
Linux下mysql安装
业务服务器大多是linux服务器,可能是虚拟机,也可能是物理机。针对linux系统的OS,安装mysql也应该了解下。至于是通过ftp上传tar包还是直接wget,根据具体情况而定。这个有空再补充,不浪费时间。...原创 2019-12-21 17:00:53 · 133 阅读 · 0 评论 -
mysql前言
每个开发人员跳入这个行业,最先接触的往往是开发语言,至于DB只是挂载。其实真正的项目会发现一个问题,系统是以业务数据为核心的系统,而web语言只是用于做数据运算和人机交互的。如果能快速了解整个系统的数据结构和数据流,基本就掌握了业务系统的核心。目前遇到的开发人员在db层面最大的区别在于,有些是以oracle为主要应用的开发人员,有些是以mysql为主要应用的人员。因为种种限制,后续很多项目...原创 2019-12-21 16:48:56 · 239 阅读 · 0 评论 -
mysql之DDL
DDL很重要,是真正产品开发的db核心。平常玩玩可以用GUI工作,手工进行表创建,字段维护,但是上线变更都是全自动化的。真正玩出出来的一切都是脚本或者程序代码。如果做了几年oracle,再去做mysql会感到各种掣肘,oracle最大的缺点是贵,mysql最大的问题就是如果你不是专业db人员,没做个深入研究,到处都是问题。创建数据库这个真是项目一般不会用到,数据库创建会交给云DB服务器管...原创 2019-10-25 08:58:18 · 143 阅读 · 0 评论 -
mysql表复制
我想把生产数据导入到测试环境,但是id和关联数据肯定不同。需要做一些处理,也就是说,我需要一张一模一样的历史表。然后插入数据,最后通过处理后插入的新表。oracle写法create table abc as select * from t_task_stepwhere 1=2报错了,惊不惊喜。原来sql语法不通用,针对mysql非常不通用。mysql复制表结构create ta...原创 2019-10-24 10:13:01 · 133 阅读 · 0 评论 -
replace into
oracle转mysql库,总有些不同。昨天再帮同事梳理业务逻辑,写分支sql的时候,看到mybatis中有个sql,replace into。主机分组有如下逻辑:首先判断分组id+主机名数据是否存在;如果不存在,则插入;如果存在,则更新。这种情况就可以使用replace into语句来解决网上查询了下这个API插入的字段必须包含PRIMARY KEY或UNIQUE索引,否...原创 2019-10-23 08:44:21 · 442 阅读 · 0 评论 -
字符串函数
concat–字符串链接函数CONCAT(str1,str2,…):返回来自于参数连结的字符串。如果任何参数是NULL,返回NULL。可以有超过2个的参数。一个数字参数被变换为等价的字符串形式。select CONCAT('A', 'B', 'C');select CONCAT('A', NULL, 'C');...原创 2019-10-15 09:01:46 · 144 阅读 · 0 评论 -
mysql not in 问题
做自动化agent项目中遇到一个问题,旧项目设计的时候,大多字段都是可以为空的。在进行in查询的时候生产出现了问题。例如node_id,再特殊情况下,生产出现了空。在用户查询未分配的设配时出现了null记录。SELECT*FROMedy.t_node_plugin npWHEREnp.f_node_id NOT ( SELECT f_node_id FROM t_node_plu...原创 2019-10-07 21:01:35 · 1100 阅读 · 1 评论 -
mysql常用函数
mysql和oracle很多用法不一样,现在去IOE,尤其是有些公司被美国针对,oracle需要切换数据库到mysql,甚至自己研发的db,会有比较多的改造。改造过程中,mybatis中对应sql变化是肯定的,需要快速准确的掌握mysql常用写法和函数,甚至有些性能问题的坑。...原创 2019-10-07 20:53:34 · 91 阅读 · 0 评论 -
windows下mysql安装
现在很多项目都要去AOE,所以现在mysql必须要掌握。oralce缺点就是贵,mysql各种问题,目前还没用习惯。windows下安装mysql数据库练习最常用的系统是windows1、下载https://dev.mysql.com/downloads/MySQL Installer for Windows–>选择最新GA版本选择下载2、安装...原创 2019-10-07 15:58:48 · 212 阅读 · 0 评论