当前位置:首页 > 文章列表 > 数据库 > MySQL > MySQL常用操作命令

MySQL常用操作命令

来源:SegmentFault 2023-02-24 19:13:57 0浏览 收藏

有志者,事竟成!如果你在学习数据库,那么本文《MySQL常用操作命令》,就很适合你!文章讲解的知识点主要包括MySQL、MySQL优化,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

MySQL 终端操作常用命令。

1、连接数据库

SELECT CASE WHEN a b, a, b)

实际应用(比较money和wms_money最小值,并将值相加):
SELECT year,month,sum(if(money 

11.mysql重启

我在Ubuntu14 64位系统中安装mysql后,后来通过mysql -u用户名 -p密码 的命令连接

        Mysql数据库时,报错"can't connect to local mysql serverthrough  socket'/var/run/mysqld/mysqld.sock'"

解决方法1:
在不重新安装mysql的情况下,通过如下命令来解决,具体的就是先停止mysql服务,再重新开启mysql服务

cd /etc/init.d
sudo service mysql stop
sudo service mysql start 

12.两字段相减

SELECT *, send_year - send_month as diff FROM `cross_month_tbl`;

这里举一个简单的例子:

clipboard.png

或者差值作为条件:

$sql = "SELECT * from spkcb WHERE goods_id = '13735' AND color_id = '3741' AND size_id = '127' AND (sl - sl1 - sl2) > 0 ";

  $sql = "SELECT ck_id, (sl - sl1 - sl2) as use_count from spkcb WHERE goods_id = '{$goods_id}'
 AND size_id = '{$size_id}' AND color_id = '{$color_id}'  HAVING use_count > 0";

13.GROUP_CONCAT函数

GROUP_CONCAT函数返回一个字符串结果,该结果由分组中的值连接组合而成。

示例:
对月份进行分组,并将分组月份的id获取到,如果用这个方法GROUP_CONCAT最好不过了。

clipboard.png

SELECT send_month, GROUP_CONCAT(id)as ids FROM `cross_month_tbl` GROUP BY send_month;

结果:

clipboard.png

相关文章:MySQL中函数CONCAT及GROUP_CONCAT

14.show processlist SQL杀进程

3点钟刚睡下, 4点多, 同事打电话告诉我用户数据库挂掉了. 我起床看一下进程列表.

mysql>show processlist;

出来哗啦啦好几屏幕的, 没有一千也有几百条, 查询语句把表锁住了, 赶紧找出第一个Locked的thread_id, 在mysql的shell里面执行.

mysql>kill thread_id;

kill掉第一个锁表的进程, 依然没有改善. 既然不改善, 咱们就想办法将所有锁表的进程kill掉吧, 简单的脚本如下.

#!/bin/bash
mysql -u root -e "show processlist" | grep -i "Locked" >> locked_log.txt

for line in `cat locked_log.txt | awk '{print $1}'`
do 
   echo "kill $line;" >> kill_thread_id.sql
done

现在kill_thread_id.sql的内容像这个样子

kill 66402982;
kill 66402983;
kill 66402986;
kill 66402991;
.....
好了, 我们在mysql的shell中执行, 就可以把所有锁表的进程杀死了.

mysql>source kill_thread_id.sql

当然了, 也可以一行搞定

for id in `mysqladmin processlist | grep -i locked | awk '{print $1}'`
do
   mysqladmin kill ${id}
done

原文地址:mysql中kill掉所有锁表的进程

15.MYSQL中UNIX时间戳与日期的转换

select FROM_UNIXTIME(1464973385.641,'%Y-%m-%d %H:%i:%s');
select UNIX_TIMESTAMP('2016-06-04 01:03:05');

结果:
FROM_UNIXTIME(1464973385.641,'%Y-%m-%d %H:%i:%s')
2016-06-04 01:03:05

UNIX_TIMESTAMP('2016-06-04 01:03:05')
1464973385

示例:

SELECT sku, sl, hs_sl, FROM_UNIXTIME(create_time,'%Y-%m-%d %H:%i:%s')  as add_time, ckdm FROM `sku_stock_go_wms_log` where  create_time>=UNIX_TIMESTAMP('2018-04-01')  
and sku='X8B2012464135'
limit 100

16.MySQL字符串大小写转换函数

MySQL字符串大小写转换需要用到MySQL字符串大小写转换函数,MySQL 字符串大小写转化函数有两对: lower(), uppper() 和 lcase(), ucase():

mysql> select lower('DDD');  
+--------------+  
| lower('DDD') |  
+--------------+  
| ddd          |  
+--------------+  
mysql> select upper('ddd');  
+--------------+  
|upper('ddd') |  
+--------------+  
| DDD          |  
+--------------+  
mysql> select lcase('DDD');  
+--------------+  
| lcase('DDD') |  
+--------------+  
| ddd          |  
+--------------+  
mysql> select ucase('ddd');  
+--------------+  
| ucase('ddd') |  
+--------------+  
| DDD          |  
+--------------+ 

通常情况下,我选择

lower()
,
upper()
来实现MySQL转换字符串大小写,因为这和其他数据库中函数相兼容。

17.NOT EXISTS 用法

SELECT order_sn, sd_id  FROM order_list o WHERE o.lylx = 'jd' AND o.order_status  0  AND o.create_time >= '2018-04-25 00:00:00' AND ifnull(invoice_no, '') = ''  
AND o.shipping_name  'jd' AND NOT EXISTS (SELECT order_sn FROM jingdong_waybill j WHERE j.order_sn = o.order_sn) limit 100

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于数据库的相关知识,也可关注golang学习网公众号。

版本声明
本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
建立博客,使用Docker部署Ghost+MySQL+Nginx建立博客,使用Docker部署Ghost+MySQL+Nginx
上一篇
建立博客,使用Docker部署Ghost+MySQL+Nginx
MySQL5.7.19解压版配置
下一篇
MySQL5.7.19解压版配置
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    542次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    508次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    497次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    484次学习
查看更多
AI推荐
  • 笔灵AI生成答辩PPT:高效制作学术与职场PPT的利器
    笔灵AI生成答辩PPT
    探索笔灵AI生成答辩PPT的强大功能,快速制作高质量答辩PPT。精准内容提取、多样模板匹配、数据可视化、配套自述稿生成,让您的学术和职场展示更加专业与高效。
    12次使用
  • 知网AIGC检测服务系统:精准识别学术文本中的AI生成内容
    知网AIGC检测服务系统
    知网AIGC检测服务系统,专注于检测学术文本中的疑似AI生成内容。依托知网海量高质量文献资源,结合先进的“知识增强AIGC检测技术”,系统能够从语言模式和语义逻辑两方面精准识别AI生成内容,适用于学术研究、教育和企业领域,确保文本的真实性和原创性。
    22次使用
  • AIGC检测服务:AIbiye助力确保论文原创性
    AIGC检测-Aibiye
    AIbiye官网推出的AIGC检测服务,专注于检测ChatGPT、Gemini、Claude等AIGC工具生成的文本,帮助用户确保论文的原创性和学术规范。支持txt和doc(x)格式,检测范围为论文正文,提供高准确性和便捷的用户体验。
    30次使用
  • 易笔AI论文平台:快速生成高质量学术论文的利器
    易笔AI论文
    易笔AI论文平台提供自动写作、格式校对、查重检测等功能,支持多种学术领域的论文生成。价格优惠,界面友好,操作简便,适用于学术研究者、学生及论文辅导机构。
    38次使用
  • 笔启AI论文写作平台:多类型论文生成与多语言支持
    笔启AI论文写作平台
    笔启AI论文写作平台提供多类型论文生成服务,支持多语言写作,满足学术研究者、学生和职场人士的需求。平台采用AI 4.0版本,确保论文质量和原创性,并提供查重保障和隐私保护。
    35次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码