![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
Arno-wei
你所谓的迷茫不过是清醒的看着自己沉沦
展开
-
mysql查询数据的同时对它进行删除操作
今天遇见一个问题,需要把mysql数据库里面的 商品主表 和它的每一个条目对应不上的数据给全部删除(数据如下图);也就是整理一下数据库里的数据保证数据的可用;但是出现了问题; 我是先查出来productId 然后判断主表里的哪些productId不在这些productId里面直接删除,之前是这个样子写的delete from wy_product_v1 where productI原创 2017-08-02 16:41:52 · 3309 阅读 · 0 评论 -
mysql从头学一 1.0其他一些函数
流程函数 流程函数也是很常用的一类函数,用户可以使用这类函数在一个 SQL 语句中实现条件选择,这样做能够提高语句的效率。表 5-6 列出了 MySQL 中跟条件选择有关的流程函数,下面将通过具体的实例来讲解每个函数的用法。表 5-6 MySQL 中的流程函数 函数 功能 IF(value,t f) 如果...原创 2018-11-01 14:37:34 · 116 阅读 · 0 评论 -
mysql从头学一 1.0存储引擎概述
什么是存储引擎?与其他数据库例如Oracle 和SQL Server等数据库中只有一种存储引擎不同的是,MySQL有一个被称为“Pluggable Storage Engine Architecture”(可替换存储引擎架构)的特性,也就意味着MySQL数据库提供了多种存储引擎。用户可以根据不同的需求为数据表选择不同的存储引擎,用户也可以根据自己的需要编写自己的存储引擎。MySQL数据库在实际的...原创 2018-11-01 14:58:13 · 165 阅读 · 0 评论 -
mysql从头学一 1.1存储引擎 MyISAM和 innoDB
各种存储引擎的特性 下面重点介绍几种常用的存储引擎,并对比各个存储引擎之间的区别,以帮助读者理解不同存储引擎的使用方式。 表7-1 常用存储引擎的对比 特点 MyISAM InnoDB MEMORY MERGE ...原创 2018-11-02 10:39:45 · 147 阅读 · 0 评论 -
mysql从头学一 1.1存储引擎 MEMORY 和MERGE
MEMORY 存储引擎使用存在内存中的内容来创建表。每个 MEMORY 表只实际对应一个磁盘文件,格式是.frm。MEMORY 类型的表访问非常得快,因为它的数据是放在内存中的,并且默认使用 HASH 索引,但是一旦服务关闭,表中的数据就会丢失掉。 下面例子创建了一个 MEMORY 的表,并从 city 表获得记录: mysql> CREATE TABLE tab_memor...原创 2018-11-02 11:02:47 · 213 阅读 · 0 评论 -
mysql从头学一 1.1视图
视图是从一个或多个表中导出来的表,是一种虚拟存在的表。视图就像一个窗口,通过这个窗口可以看到系统专门提供的数据。这样,用户可以不用看到整个数据库中的数据,而只关心对自己有用的数据。视图可以使用户的操作更方便,而且可以保障数据库系统的安全性。视图简介视图的含义视图是一种虚拟的表。视图从数据库中的一个或多个表导出来的表。视图还可以从已经存在的视图的基础上定义。数据库中只存放了视图的定义,而并没...原创 2018-11-26 18:00:03 · 157 阅读 · 0 评论 -
mysql从头学一 1.1存储过程基础(1)
变量的使用 存储过程和函数中可以使用变量,而且在 MySQL 5.1 版本中,变量是不区分大小写的。1.变量的定义 通过 DECLARE 可以定义一个局部变量,该变量的作用范围只能在 BEGIN…END 块中,可以用 在嵌套的块中。变量的定义必须写在复合语句的开头,并且在任何其他语句的前面。可以一 次声明多个相同类型的变量。如果需要,可以使用 DEFAULT 赋默认值。 定义一个变量的语法如下...原创 2018-12-03 09:44:19 · 159 阅读 · 0 评论 -
mysql从头学一 1.1存储过程基础(1)流程控制
流程控制可以使用 IF、CASE、LOOP、LEAVE、ITERATE、REPEAT 及 WHILE 语句进行流程的控制,下面将逐一进行说明。1.IF 语句IF 实现条件判断,满足不同的条件执行不同的语句列表,具体语法如下:IF search_condition THEN statement_list[ELSEIF search_condition THEN statement_lis...原创 2018-12-03 09:55:18 · 127 阅读 · 1 评论 -
mysql从头学一 1.1正则表达式
正则表达式的使用正则表达式(Regular Expression),是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具裡,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在 Perl 中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由 UNIX 中的工具软件...原创 2018-12-12 14:34:23 · 279 阅读 · 0 评论 -
mysql从头学一 1.1 小小记忆
巧用 RAND()提取随机行大多数数据库都会提供产生随机数的包或者函数,通过这些包或者函数可以产生用户需要的随机数,也可以用来从数据表中抽取随机产生的记录,这对一些抽样分析统计是非常有用的。例如ORACLE中用DBMS_RANDOM包产生随机数,而在MySQL中,产生随机数的方法是RAND()函数。可以利用这个函数与ORDER BY子句一起完成随机抽取某些行的功能。它的原理其实就是ORD...原创 2018-12-12 14:38:52 · 157 阅读 · 0 评论 -
mysql从头学一 1.1触发器
Q:什么是触发器?A: 触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。触发器的特性: 1、有begin end体,begin end;之间的语句可以写的简单或者复杂 2、什么条件会触发:I、D、U 3、什么时候触发:在增删改前或者后 4、触发频率:针对每一行执行 5、触发器定义在表上,附着在表上。也就是由事件来...原创 2018-12-05 17:05:11 · 277 阅读 · 0 评论 -
linux centos 7下安装mysql5.7(1)
Mysql 软件版本: mysql-5.7.20-1.el7.x86_64 操作步骤 指令 1、上传安装包到centos服务器 mkdir –p /root/soft 上传安装包到服务器目录/root/soft(上传步骤略) 切换到安装包目录:cd /root/soft 解压缩安装包:unzip my...原创 2018-12-06 17:46:00 · 178 阅读 · 0 评论 -
select into from 和 insert into select 的用法和区别
select into from 和 insert into select都是用来复制表,两者的主要区别为: select into from 要求目标表不存在,因为在插入时会自动创建。insert into select from 要求目标表存在 下面分别介绍两者语法 一、INSERT INTO SELECT语句 1、语句形式为:Insert into Table2(field1...转载 2018-12-10 11:04:40 · 126025 阅读 · 2 评论 -
mysql从头学一 1.1事务控制和锁定语句
事务的概念 事务由单独单元的一个或多个SQL语句组成,在这个单元中,每个MySQL语句是相互依赖的。而整个单独单元作为一个不可分割的整体,如果单元中某条SQL语句一旦执行失败或产生错误,整个单元将会回滚。所有受到影响的数据将返回到事物开始以前的状态;如果单元中的所有SQL语句均执行成功,则事物被顺利执行。 二、MySQL 中的存储引擎以及支持事务,和不支持事务的存储引擎 1...原创 2018-12-10 14:23:39 · 225 阅读 · 0 评论 -
IFNULL和NULLIF
sql 中的IFNULL和NULLIFIFNULLIFNULL(expression1, expression2)1如果expression1为null, 在函数返回expression2,否则将返回expression1。例如mysql> select IFNULL(0,"a");+---------------+| IFNULL(0,"a") |+--------...原创 2019-02-20 16:05:22 · 1703 阅读 · 0 评论 -
mysql 主从
https://blog.csdn.net/daicooper/article/details/79905660原创 2019-03-20 11:53:22 · 94 阅读 · 0 评论 -
mysql 创建只读账号
GRANT Select ON *.* TO reader@192.168.1.123 IDENTIFIED BY "123456"GRANT 可以立刻生效在mysql 5.6下似乎要重启mysql才生效创建了一个账户名为“reader" , 密码”123456“ 只可以从192.168.1.123发起访问 读取数据库的账号reader@"%" 则表示所有的ip都可以...转载 2019-06-27 15:46:33 · 5422 阅读 · 0 评论 -
mysql从头学一 1.0常用函数
字符串函数 函数 功能 CANCAT(S1,S2,…Sn) 连接 S1,S2,…Sn 为一个字符串 INSERT(str,x,y,instr) 将字符串 str 从第 x 位置开始,y 个字符长的子串替换为字符串 instr LOWER(str) ...原创 2018-11-01 14:35:57 · 209 阅读 · 0 评论 -
mysql从头学一 1.0数据类型-日期类型
日期时间类型 MySQL 中有多种数据类型可以用于日期和时间的表示,不同的版本可能有所差异,表 3-2 中列出了 MySQL 5.0 中所支持的日期和时间类型。表 3-2 MySQL 中的日期和时间类型 日期和时间类型 字节 最小值 最大值 DATE 4 ...原创 2018-10-31 16:49:51 · 440 阅读 · 0 评论 -
mysql 索引
什么是索引索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快转载 2017-11-11 15:21:35 · 234 阅读 · 0 评论 -
mysql学习一:唯一键约束
唯一键唯一键:每张表往往有多个字段需要具有唯一性,数据不能重复,但是在每张表中,只能有一个主键,因此唯一键就是用来解决表中多个字段需要具有唯一性的问题。唯一键的本质与主键差不多,唯一键默认的允许字段为空,而且可以多个字段为空,因此空字段不参与唯一性的比较。增加唯一键增加唯一键的方法和主键类似,有 3 种方法,分别为:第一种:在创建表的时候,字段后面直原创 2018-01-30 10:24:19 · 1386 阅读 · 0 评论 -
mysql学习二:索引
索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录。如果没有索引,查询将对整个表进行扫描,最坏的情况下,如果所有数据页都不在内存,需要读取10^4个页面,如果这10^4个页面在磁盘上随机分布,需要进行10^4次I/O,假设磁盘每次I/O时间为10ms(忽略数据传输时间),则总共需要原创 2018-01-30 10:45:28 · 198 阅读 · 0 评论 -
mysq学习二:2.1索引与优化
索引入门对于任何DBMS,索引都是进行优化的最主要的因素。对于少量的数据,没有合适的索引影响不是很大,但是,当随着数据量的增加,性能会急剧下降。如果对多列进行索引(组合索引),列的顺序非常重要,MySQL仅能对索引最左边的前缀进行有效的查找。例如:假设存在组合索引it1c1c2(c1,c2),查询语句select * from t1 where c1=1 and c2=2能够使用该索引转载 2018-01-30 10:46:55 · 136 阅读 · 0 评论 -
mysql学习三:查询
连接查询连接查询:将多张表(大于等于 2 张表)按照某个指定的条件进行数据的拼接,其最终结果记录数可能有变化,但字段数一定会增加。连接查询的意义:在用户查询数据的时候,需要显示的数据来自多张表。连接查询为join,使用方式为:左表join右表。左表:join左边的表;右表:join右边的表。连接查询分类:在 SQL 中将连接查询分为四类,分别为内连接、外链接原创 2018-01-30 10:56:45 · 166 阅读 · 0 评论 -
mysql学习四:子查询
分类子查询有两种分类方式,分别为:按按结果分类和位置分类。按结果分类,即根据子查询得到的数据进行分类(理论上,任何一个查询结果都可以理解为一个二维表),分别为:标量子查询:子查询得到的结果是一行一列,出现的位置在where之后;列子查询:子查询得到的结果是一列多行,出现的位置在where之后;行子查询:子查询得到的结果是多行一列(多行多列),出现的位置在where之后;表子转载 2018-01-30 11:03:32 · 182 阅读 · 0 评论 -
mysql学习 五;视图
视图:view,是一种有结构(有行有列),但没有结果(结构中不真实存放数据)的虚拟表,虚拟表的结构来源不是自己定义的,而是从对应的基表(视图的数据来源)中产生的。创建视图首先,给出创建视图的基本语法,基本语法:create view + 视图名 + as + select语句;其中,select语句可以是普通查询,也可以是连接查询、联合查询、子查询等。此外,转载 2018-01-30 11:06:48 · 189 阅读 · 0 评论 -
mysql学习五:视图下
视图数据操作视图数据操作:虽然我们说视图可以称之为select语句的别名,但实际上,它和别名并不一样,因为视图是可以进行数据写操作的,只不过有很多限制而已。新增数据在这里,新增数据就是指通过视图直接对基表进行数据的新增操作。限制 1:多表视图不能进行新增数据。执行如下 SQL 语句,进行测试:-- 查询视图 my_v3 结构desc my_v3;-转载 2018-01-30 11:09:14 · 255 阅读 · 0 评论 -
mysql学习六:事务
事务通过前面的案例及解决方案,我们就引出了一个全新的概念,那就是:事务,即一系列将要发生或正在发生的连续操作。而事务安全,是一种保护连续操作同时实现(完成)的机制。事务安全的意义就是,保证数据操作的完整性。首先,执行如下 SQL 语句,创建银行账户表并插入数据:-- 创建银行账户表create table bank_account( id int pr转载 2018-01-30 11:23:32 · 253 阅读 · 0 评论 -
mysql学习六:触发器
触发器触发器:trigger,是指事先为某张表绑定一段代码,当表中的某些内容发生改变(增、删、改)的时候,系统会自动触发代码并执行。触发器包含三个要素,分别为事件类型:增删改,即insert、delete和update;触发时间:事件类型前和后,即before和after;触发对象:表中的每一条记录(行),即整张表。每张表只能拥有一种触发时间的一种事件类型的触发器,转载 2018-01-30 11:27:18 · 261 阅读 · 0 评论 -
mysql DATEDIFF() 、IFNULL(p1,p2)函数
1.定义和用法MySQL DATEDIFF() 函数返回两个日期之间的天数。语法DATEDIFF(date1,date2)date1 和 date2 参数是合法的日期或日期/时间表达式。注释:只有值的日期部分参与计算。实例例子 1使用如下 SELECT 语句:SELECT DATEDIFF('2018-12-30','2018-12-29') AS DiffDate结果:DiffDate 1例子 ...原创 2018-03-15 11:19:57 · 840 阅读 · 0 评论 -
SQL 语句中的in、find_in_set、like的区别
106901.in查询相当于多个or条件的叠加,例如select * from user where user_id in (1,2,3);等效于select * from user where user_id = 1 or user_id = 2 or user_id = 3;not in与in相反,如下select * from user where user_id not in (1,2,3...转载 2018-03-15 17:23:02 · 352 阅读 · 0 评论 -
MYSQL一次千万级连表查询优化(一)
概述:交代一下背景,这算是一次项目经验吧,属于公司一个已上线平台的功能,这算是离职人员挖下的坑,随着数据越来越多,原本的SQL查询变得越来越慢,用户体验特别差,因此SQL优化任务交到了我手上。这个SQL查询关联两个数据表,一个是攻击IP用户表主要是记录IP的信息,如第一次攻击时间,地址,IP等等,一个是IP攻击次数表主要是记录每天IP攻击次数。而需求是获取某天攻击IP信息和次数。(以下SQL...转载 2018-09-29 15:02:05 · 29982 阅读 · 6 评论 -
MYSQL一次千万级连表查询优化(二)
概述:交代一下背景,这算是一次项目经验吧,属于公司一个已上线平台的功能,这算是离职人员挖下的坑,随着数据越来越多,原本的SQL查询变得越来越慢,用户体验特别差,因此SQL优化任务交到了我手上。这个SQL查询关联两个数据表,一个是攻击IP用户表主要是记录IP的信息,如第一次攻击时间,地址,IP等等,一个是IP攻击次数表主要是记录每天IP攻击次数。而需求是获取某天攻击IP信息和次数。(以下SQL...转载 2018-09-29 15:03:02 · 501 阅读 · 0 评论 -
mysql从头学一 1.0数据类型-数值类型
数值类型 MySQL 支持所有标准 SQL 中的数值类型,其中包括严格数值类型(INTEGER、SMALLINT、 DECIMAL 和 NUMERIC),以及近似数值数据类型(FLOAT、REAL 和 DOUBLE PRECISION),并在此基础上做了扩展。扩展后增加了 TINYINT、MEDIUMINT 和 BIGINT 这 3 种长度不同的整型,并增加了 BIT 类型,用来存放位数据。表...原创 2018-10-31 16:26:28 · 1300 阅读 · 0 评论 -
mysql从头学一 1.0数据类型-字符类型
3.3 字符串类型 MySQL 中提供了多种对字符数据的存储类型,不同的版本可能有所差异。以 5.0 版本为例,MySQL 包括了 CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM 和 SET 等多种字符串类型。表 3-4 中详细列出了这些字符类型的比较。 表 3-4 ...原创 2018-10-31 16:44:56 · 407 阅读 · 0 评论