随笔分类 -  mysql

摘要:一、sql执行的流程 1 mysql客户端发送查询请求到服务器。 2 mysql服务器接收请求并处理,mysql解析器解析查询语句,进行语法分析,确保查询语句符合mysql的语法要求。 3 mysql的查询优化器对sql语句进行优化处理(选择最合适的索引,或使用其它技术来提高性能),生成执行计划。 阅读全文
posted @ 2024-03-04 17:45 江湖凶险 阅读(166) 评论(0) 推荐(0)
摘要:创建用户 create user '#user'@'%' identified by "#password"; 其中,%的位置表示是否允许远程访问,若是localhost,则不允许远程访问。 修改账号的密码 alter user '#user'@'%' identified by '#newpass 阅读全文
posted @ 2023-03-15 20:20 江湖凶险 阅读(293) 评论(0) 推荐(0)
摘要:在mysql 命令行执行: alter user 'root'@'localhost' identified by "newpassword"; 阅读全文
posted @ 2023-03-15 17:50 江湖凶险 阅读(19) 评论(0) 推荐(0)
摘要:alter table xxx auto_increment = 100; 因为设置了列的自增之后,若删除过一些行,下次再新增时还会从已删除的id算起自增,为了让数据看起来连续,可以重新设置自增起始值(当前已有记录的id的最大值) 阅读全文
posted @ 2022-07-20 10:21 江湖凶险 阅读(472) 评论(0) 推荐(0)
摘要:两种方式 1 create index idx_xxx on table(xxx); 2 alter table xxx add index idx_xxx(field); 阅读全文
posted @ 2022-01-29 11:28 江湖凶险 阅读(59) 评论(0) 推荐(0)
摘要:1)添加列 alter table xxx add column xxx int default 0 comment 'xxx'; 指定列的位置可以使用关键字:FIRST、AFTER FIRST表示将列添加为表中的第一个,AFTER表示将列添加到某个列之后。没有before一说。 2)修改列名 al 阅读全文
posted @ 2022-01-25 17:37 江湖凶险 阅读(201) 评论(0) 推荐(0)
摘要:timestampdiff(unit, param1, param2) 。其中unit可以是 minute, hour, second, day等,计算方式是 param2 - param1。 获取 date_sub / date_add(param, interval xxx unit),将日期参 阅读全文
posted @ 2022-01-18 11:25 江湖凶险 阅读(58) 评论(0) 推荐(0)
摘要:mysql日期处理 select DATE_ADD(field, interval xxx day|month|year) from xxx; DATE_ADD 对日期进行加运算,DATE_SUB 对日期进行减运算 例: select date_add(create_time, interval 1 阅读全文
posted @ 2022-01-17 15:30 江湖凶险 阅读(52) 评论(0) 推荐(0)
摘要:distinct多个字段 比如查看用户每天登陆app的情况, select distinct user_id, date from xxx; 查询结果可能为: 1001 2022-01-11 1001 2022-01-16 1002 2022-01-06 1002 2022-01-12 阅读全文
posted @ 2022-01-17 15:23 江湖凶险 阅读(225) 评论(0) 推荐(0)
摘要:select day(date), month(date), year(date) from user; day, month, year取出的是数字 阅读全文
posted @ 2022-01-17 11:19 江湖凶险 阅读(520) 评论(0) 推荐(0)
摘要:mysql查询语句中的条件判断 case when then else end 1)case等值分析 select case sex when 1 then '男' when 0 then '女' else '没有设置' end as '性别' from xxx 2)case范围分析 select 阅读全文
posted @ 2022-01-14 19:20 江湖凶险 阅读(141) 评论(0) 推荐(0)
摘要:select * from t1 where a = xxx union (distinct, 默认为distinct,会过滤掉重复记录,可指定all,则不会过滤重复记录) select * from t1 where b = xxx 阅读全文
posted @ 2022-01-14 17:52 江湖凶险 阅读(502) 评论(0) 推荐(0)
摘要:mysql语句的 <, >, != 等符号查询都会过滤掉字段值为null的记录,若结果中想要获取到字段值为null的记录,需要单独加上一条判断 where xxx is null or xxx 阅读全文
posted @ 2022-01-14 17:50 江湖凶险 阅读(599) 评论(0) 推荐(1)
摘要:在mysql中,round用于数据的四舍五入。有两种形式 1)round(x, d),x为要处理的小数,d为要保留小数点后几位。 2)round(x),其实等于round(x, 0),即不保留小数位。 例:select round(avg(play_times),1) from video; 阅读全文
posted @ 2022-01-13 11:39 江湖凶险 阅读(165) 评论(0) 推荐(0)
摘要:为了测试sql语句的真正执行效率,可以在查询时加上SQL_NO_CACHE可以禁用缓存查询结果。 select SQL_NO_CACHE id as c from aaa where id > 100000; 阅读全文
posted @ 2021-12-17 17:16 江湖凶险 阅读(521) 评论(0) 推荐(0)
摘要:要求的字段不在分组字段内,select 不支持返回该字段时,可以使用关联表查询。 类似这种:select a from t1, (select b from t1 group by b having xxx) as t2 where t1.b = t2.b; 曲线救国。 阅读全文
posted @ 2021-05-19 11:29 江湖凶险 阅读(466) 评论(0) 推荐(0)
摘要:1 题目:一张课程浏览记录表,字段有:id、课程id、课程名、访问时间、访问学生id,求最近一周之内访问次数最多的课程前5名。 首先限制浏览时间在一周内,where子句。然后分组查询、排序、limit。 select course_id, count(*) as times from course_ 阅读全文
posted @ 2020-08-23 19:12 江湖凶险 阅读(474) 评论(0) 推荐(0)
摘要:1 # 与 $ 的区别 mybatis中使用ParameterType向sql语句传参,在sql语句中引用这些参数的时候,有两种方式:#parameterName, $parameterName。 两者的区别:使用#parameterName方式引用参数的时候,Mybatis会把传入的参数当成是一个 阅读全文
posted @ 2019-10-12 20:56 江湖凶险 阅读(6131) 评论(0) 推荐(0)
摘要:mysql --host host --port port -u user -p password 若 mysql的安装路径尚未添加到环境变量,则需要先定位至安装目录下,然后再进行数据库连接。 which mysql 可以查看mysql的安装路径。 阅读全文
posted @ 2019-10-10 17:32 江湖凶险 阅读(539) 评论(0) 推荐(0)
摘要:一 like语句 %xxx%:查询username字段中包含xxx的记录。 select * from user where username like '%xxx%'; %xxx:查询username字段中以xxx结尾的记录。 select * from user where username l 阅读全文
posted @ 2019-09-29 17:10 江湖凶险 阅读(22710) 评论(0) 推荐(1)