mysql基础
早安试言
我在起点
展开
-
将旧机器的mysql备份文件直接传到新机器的mysql指定用户中
将旧机器的mysql备份文件直接传到新机器的mysql指定用户中原创 2022-08-12 17:07:36 · 181 阅读 · 0 评论 -
【Mysql】将表中的时间整体增加1个月
【Mysql】将表中的时间整体增加1个月原创 2022-07-28 13:38:17 · 3230 阅读 · 0 评论 -
SELECT语句执行顺序
SELECT语句中子句的执行顺序与SELECT语句中子句的输入顺序是不一样的,所以并不是从SELECT子句开始执行的,而是按照下面的顺序执行:开始->FROM子句->WHERE子句->GROUP BY子句->HAVING子句->ORDER BY子句->SELECT子句->LIMIT子句->最终结果每个子句执行后都会产生一个中间结果,供接下来的子句使用,如果不存在某个子句,就跳过对比了一下,mysql和sql执行顺序基本是一样的, 标准顺序的 S...原创 2021-11-08 21:59:55 · 3391 阅读 · 0 评论 -
SQL中distinct的用法
1.作用于单列 2.作用于多列 3.COUNT统计 4.distinct必须放在开头 5.其他在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。关键词 distinct用于返回唯一不同的值。表A:表B:1.作用于单列select distinct name from A执行后结果如下:2.作用于多列示例2.1select distinct name, id from A执行后结果如下:实际上原创 2021-11-04 21:50:34 · 1890 阅读 · 0 评论 -
MySQL中的where和having的区别
where子句:是在分组之前使用,表示从所有数据中筛选出部分数据,以完成分组的要求, 在where子句中不允许使用统计函数,没有group by子句也可以使用。having子句:是在分组之后使用的,表示对分组统计后的数据执行再次过滤,可以使用 统计函数,有group by子句之后才可以出现having子句。1. where和having都可以使用的场景 select goods_pric...原创 2021-10-21 22:58:43 · 243 阅读 · 0 评论 -
mysql中去重 distinct 用法
在使用mysql时,有时需要查询出某个字段不重复的记录,这时可以使用mysql提供的distinct这个关键字来过滤重复的记录,但是实际中我们往往用distinct来返回不重复字段的条数(count(distinct id)),其原因是distinct只能返回他的目标字段,而无法返回其他字段,例如有如下表user:用distinct来返回不重复的用户名:select distinct name from user;,结果为:这样只把不重复的用户名查询出来了,但是用户的id,并没有..原创 2021-10-21 22:47:59 · 1184 阅读 · 0 评论 -
给数据库用户设置密码的sql
alter user wps identified by "密码";原创 2021-07-28 19:10:41 · 215 阅读 · 0 评论 -
java.sql.SQLException: Field ‘id‘ doesn‘t have a default value
自增长:java.sql.SQLException: Field 'id' doesn't have a default value 今天用java程序向mysql数据库中进行数据记录的时候,用的id自增长时,报了异常java.sql.SQLException: Field 'id' doesn't have a default value错误,看了一篇博文,决定按他的方法试试。:其中现在修改了STRICT_TRANS_TABLES,删掉。但是我即时测试了一下(可能无法理会更多细节),总之还是没有成功原创 2020-12-19 23:28:15 · 388 阅读 · 0 评论 -
MySQL常用SQL语句(持续更新中。。。)
1、新增语句 INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( value1, value2,...valueN );2、MySQL IFNULL函数select IFNULL(expression_1,expression_2) from table;SQL如果expression_1不为NULL,则IFNULL函数返回expression_1; 否则返回expression_2的结果。3、se...原创 2020-12-17 17:00:38 · 180 阅读 · 0 评论 -
MySQL常见错误锦囊
这里没有主键。更新将只使用与旧的完全匹配原创 2020-12-17 16:22:45 · 111 阅读 · 0 评论 -
请问sql查询中 那些数值类型的值需要加引号 哪些不用?
除了定义为数值类型的引用是不需要加引号外,其他类型的都需要加。不过呢,即使是数值类型的加引号也没有关系,因为它可以自动的隐士转换。如果怕麻烦的话就都加上,不过这样的话系统会多一些处理转换的时间,不在乎的话就无所谓了...原创 2020-12-08 10:12:54 · 5372 阅读 · 0 评论 -
MySQL常见错误及排查(持续更新中)
错误一: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 20' at line 3原因: resultMap里的department_id的参数类型应该为intege...原创 2020-12-07 18:22:40 · 301 阅读 · 0 评论 -
常用SQL
1、update friends set `state` = 1where friend_id = (select user_id from user where account = 'jl') or owner_id = (select user_id from user where account = 'jl'); 2、select user_id, account, user_...原创 2020-11-27 16:06:49 · 132 阅读 · 0 评论 -
一条SQL语句在MySQL中执行过程全解析
本篇文章会分析一个 sql 语句在 MySQL 中的执行流程,包括 sql 的查询在 MySQL 内部会怎么流转,sql 语句的更新是怎么完成的。在分析之前我会先带着你看看 MySQL 的基础架构,知道了 MySQL 由那些组件组成以及这些组件的作用是什么,可以帮助我们理解和解决这些问题。一 MySQL 基础架构分析1.1 MySQL 基本架构概览下图是 MySQL 的一个简要架构图,从下图你可以很清晰的看到用户的 SQL 语句在 MySQL 内部是如何执行的。先简单介绍一下下图涉及的一原创 2020-11-17 01:14:47 · 188 阅读 · 0 评论 -
如何提高事务的执行速度
sync_binlog=0,innodb_flush_log_at_trx_commit=0原创 2020-09-24 09:03:54 · 609 阅读 · 0 评论 -
什么是performance_schema
MySQL的performance schema 用于监控MySQL server在一个较低级别的运行过程中的资源消耗、资源等待等情况,它具有以下特点:a、提供了一种在数据库运行时实时检查server的内部执行情况的方法。performance_schema 数据库中的表使用performance_schema存储引擎。该数据库主要关注数据库运行过程中的性能相关的数据,与information_schema不同,information_schema主要关注server运行过程中的元数据信息。b、pe原创 2020-09-23 10:15:58 · 3928 阅读 · 0 评论 -
在MySQL innodb 引擎中,count(*),count(1),count(主键),count(列名)集中求总数的方法中那个最快
count(*)和count(1)速度相似且最快,count(列名)最慢原创 2020-09-23 09:26:47 · 838 阅读 · 0 评论 -
哪些方法可以观察到锁信息
information_schema.innodb_lock show engine innodb status原创 2020-09-23 09:22:43 · 578 阅读 · 0 评论 -
普通索引和唯一索引的区别
1、只有普通索引能够使用change buffer 2、普通索引适合频繁写入,不实时读取的情况 3、对于写完即读的情况,二者没有区别原创 2020-09-23 09:22:08 · 286 阅读 · 0 评论 -
user()与current_user()
user()是用来显示当前登陆的用户名与它对应的host,currrent_user()是用来显示当前登陆用户对应在user表中的哪一个,原创 2020-09-23 09:21:52 · 647 阅读 · 0 评论 -
那些操作或者锁是加在表上的,而不是数据行上
MDL锁,lock table原创 2020-09-23 09:21:36 · 618 阅读 · 0 评论 -
哪些buffer是每个会话独立持有的
join BuffersortBuffermulti-range read buffer原创 2020-09-23 09:21:05 · 633 阅读 · 0 评论 -
SUM()和AVG()函数的限制是什么
不支持字符类型,不支持临时数据,不能用其他的聚合函数作为参数原创 2020-09-23 09:20:16 · 1401 阅读 · 0 评论 -
mysql的那些操作可能会产生磁盘的临时表
1、UNION查询;2、用到TEMPTABLE算法或者是UNION查询中的视图;3、ORDER BY和GROUP BY的子句不一样时或者单独group by;4、表连接中,ORDER BY的列不是驱动表中的;(指定了联接条件时,满足查询条件的记录行数少的表为[驱动表],未指定联接条件时,行数少的表为[驱动表],多表联合查询时)5、DISTINCT查询并且加上ORDER BY时或者单独distinct时候;6、SQL中用到SQL_SMALL_RESULT选项时;7、FROM中的子查询;8、子查询原创 2020-09-23 09:20:01 · 813 阅读 · 0 评论 -
那些连接表算法可能用到join buffer
Block Nested-Loop JoinBatched Key Access原创 2020-09-23 09:19:44 · 1061 阅读 · 1 评论 -
当触发器进行insert into on duplicate key update..操作时,可以调用那些操作
before insert after insert before update after update原创 2020-09-22 10:21:38 · 665 阅读 · 0 评论 -
LOOP和LEAVE还有repeat
mysql游标里面使用LOOP、LEAVE、ITERATE更像其他编程语言中的goto语句。 LOOP要设定一个label指定循环的开始位置,而LEAVE则像其他语言详细请看https://blog.csdn.net/weixin_42373127/article/details/89513496原创 2020-09-22 10:15:17 · 191 阅读 · 0 评论 -
fixed数据类型
在处理图形运算,特别是3D图形生成运算时,往往要定义一个Fixed数据类型,我称它为定点数,定点数其时就是一个整形数据类型,他的作用就是把所有数 进行转换,从而得到相应类型的整型表达,然后使用定点数进行整行运算,取到最终值并将其转换回实际的基本数据类型。...原创 2020-09-22 10:13:39 · 659 阅读 · 0 评论 -
mysql中设置隔离级别的语句
隔离级别有: READ-UNCOMMITTED读未提交 READ-COMMITTED读已提交 REPEATABLE-READ可重复读 SERIALIZABLE串行 语句为:set global.tx_isolation='READ-COMMITTED';原创 2020-09-22 09:42:31 · 522 阅读 · 0 评论 -
如何压缩并且重建表的索引
optimze table city;原创 2020-09-22 09:38:19 · 645 阅读 · 0 评论 -
MYSQL执行流程(含执行计划)
查询缓存。不会直接查询数据库。会从缓存中查看是否存在相同语句的执行计划,如果存在将省略语法检查、语言检查、加锁、权限核对、SQL优化等过程。直接执行SQL语句。(以下为没缓存的情况) 语法检查。查看SQL语法规则是否OK,如果不OK,返回错误信息给客户端,否则进行下一步操作。 语义检查。若SQL语法OK,服务器会对SQL中的表,字段属性等内容进行检查。 确定最佳执行计划。以上均OK后,如果查询语句为SELECT时,服务器进程还是不会直接查询数据库文件,数据库服务优化器会按照一定规则对当前SQL语...原创 2020-09-22 09:35:12 · 289 阅读 · 0 评论 -
MySQL中show语法
1. show tables或show tables from database_name; -- 显示当前数据库中所有表的名称。2. show databases; -- 显示mysql中所有数据库的名称。3. show columns from table_name from database_name; 或show columns from database_name.table_name; -- 显示表中列名称。4. show grants for user_name; -- 显示一个用...原创 2020-09-22 09:33:35 · 644 阅读 · 0 评论 -
Mysql查看连接数(连接总数、活跃数、最大并发数)
show variables like'%max_connection%'; 查看最大连接 1 2 3 4 5 6 7 8 mysql> show variables like'%max_connection%'; +-----------------------+-------+ | Variable_name | Value | +------------------...原创 2020-09-22 09:32:27 · 1089 阅读 · 0 评论 -
在MySQL的innodb引擎中如何查看未完成的事务
通过information_schema.innodb_trx视图原创 2020-09-22 09:31:48 · 1048 阅读 · 0 评论 -
MySQL的Explain关键字查看是否使用索引
explain显示了MySQL如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。简单讲,它的作用就是分析查询性能。 explain关键字的使用方法很简单,就是把它放在select查询语句的前面。 mysql查看是否使用索引,简单的看type类型就可以。如果它是all,那说明这条查询语句遍历了所有的行,并没有使用到索引。 比如:explainselect*fromcompany_infowherecnamelike'%小%'...原创 2020-09-22 09:24:30 · 3515 阅读 · 0 评论 -
MySQL杂食
explain显示了MySQL如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。简单讲,它的作用就是分析查询性能。 explain关键字的使用方法很简单,就是把它放在select查询语句的前面。 mysql查看是否使用索引,简单的看type类型就可以。如果它是all,那说明这条查询语句遍历了所有的行,并没有使用到索引。 比如:explainselect*fromcompany_infowherecnamelike'%小%'...原创 2020-09-21 18:23:56 · 286 阅读 · 2 评论 -
mysql 收集表的统计信息
mysql 收集表的统计信息比较个性查询 information_schema.tablesselect * from information_schema.TABLES tawhere 1=1 and ta.table_name = 'tmp_t0';show table statusshow table status like '%tmp_t0%';analyze tableanalyze table tmp_t0;...原创 2020-09-21 13:57:36 · 953 阅读 · 0 评论 -
MySQL interval()函数
请记住,6是从零开始的索引,列表第一个值的值大于N. 在我们的例子中,7是错误的值,它是位于第六索引插槽。SELECT INTERVAL(6,1,2,3,4,5,6,7,8,9,1); -- 返回比N大的位置mysql>SELECT INTERVAL(6,1,2,3,4,5,6,7,8,9,10);+---------------------------------------------------------+| INTERVAL(6,1,2,3,4,5,6,7,8,9,10)原创 2020-09-21 13:35:30 · 594 阅读 · 0 评论 -
UNION和UNION ALL
SQL UNION 操作符UNION 操作符用于合并两个或多个 SELECT 语句的结果集。请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。SQL UNION 语法SELECT column_name(s) FROM table_name1UNIONSELECT column_name(s) FROM table_name2注释:默认地,UNION 操作符选取不同的值。如果允许重复原创 2020-09-18 09:09:25 · 245 阅读 · 0 评论 -
深入SQL(随时更新。。。)
explain select * from table; 使用explain命令调查最终查询计划,但是sql语句不执行create table cityex like city 只会获取到city这个表的表结构,其中的内容无法同步获取到放在新表cityex里面insert into cityex select * from city 不光会获取到city这个表的表结构,其中的内容也会同步获取到放在新表cityex里面...原创 2020-09-16 08:58:03 · 900 阅读 · 0 评论