MySQL 常规操作指南
1. 连接MySQL服务器
(1)通过命令行连接
mysql -u username -p
在提示下输入对应用户的密码,即可进入MySQL命令行界面。
(2)指定数据库连接
mysql -u username -p -D database_name
这里会直接连接到名为database_name的数据库。
2. 数据库管理
(1)创建数据库
CREATE DATABASE database_name;
(2)查看所有数据库
SHOW DATABASES;
(3)选择当前工作数据库
USE database_name;
(4)删除数据库
DROP DATABASE IF EXISTS database_name;
3. 表管理
(1)创建表
CREATE TABLE table_name (column1 datatype,column2 datatype,...
);
例如:
CREATE TABLE Users (id INT PRIMARY KEY,username VARCHAR(50),password VARCHAR(100)
);
(2)查看所有表
SHOW TABLES;
(3)查看表结构
DESCRIBE table_name;
(4)插入数据
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
(5)查询数据
SELECT * FROM table_name;
(6)更新数据
UPDATE table_name SET column1 = new_value WHERE condition;
(7)删除数据
DELETE FROM table_name WHERE condition;
(8)删除表
DROP TABLE IF EXISTS table_name;
4. 用户与权限管理
(1)创建用户
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
(2)赋予用户对数据库的权限
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';
(3)撤销权限
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'username'@'localhost';
(4)更改用户密码
SET PASSWORD FOR 'username'@'localhost' = PASSWORD('new_password');
(5)查看用户权限
SHOW GRANTS FOR 'username'@'localhost';
5. 导入与导出数据
(1)导出数据为SQL文件(备份)
mysqldump -u username -p database_name > backup.sql
(2)导入SQL文件(恢复)
mysql -u username -p database_name < backup.sql
以上涵盖了MySQL中常见的基本操作,包括连接服务器、数据库和表的管理、数据操作以及用户权限管理等。
6. 查询操作
(1)基本查询
SELECT column1, column2, ...
FROM table_name;
这将从table_name表中选择指定的列进行查询。
(2)条件查询
SELECT * FROM table_name
WHERE condition;
例如,查找年龄大于30的所有用户:
SELECT * FROM Users WHERE age > 30;
(3)排序查询
SELECT * FROM table_name
ORDER BY column1 [ASC | DESC], column2 [ASC | DESC];
示例:按年龄降序排列所有用户信息:
SELECT * FROM Users ORDER BY age DESC;
(4)分组查询与聚合函数
SELECT column1, COUNT(column2), AVG(column3)
FROM table_name
GROUP BY column1;
例如,计算每个年龄段用户的平均工资:
SELECT age_group, AVG(salary)
FROM (SELECT id, FLOOR(age / 10) * 10 AS age_group, salaryFROM Employees
) AS grouped_data
GROUP BY age_group;
(5)连接查询(JOIN)
SELECT t1.column1, t2.column2
FROM table1 AS t1
JOIN table2 AS t2
ON t1.common_column = t2.common_column;
例如,查询每个员工及其所在的部门名称:
SELECT Employees.name, Departments.department_name
FROM Employees
JOIN Departments ON Employees.department_id = Departments.id;
(6)子查询
SELECT * FROM table_name
WHERE column IN (SELECT column FROM another_table WHERE condition);
例如,找出和某个部门有相同员工数量的其他部门:
SELECT d1.department_name, COUNT(e1.id) as employee_count
FROM Departments d1
JOIN Employees e1 ON d1.id = e1.department_id
GROUP BY d1.id
HAVING COUNT(e1.id) = (SELECT COUNT(*) FROM Employees WHERE department_id = (SELECT id FROM Departments WHERE department_name = 'Sales')
);
7. CASE表达式或IF()函数实现条件判断的功能
(1)使用CASE表达式实现类似if-else逻辑
SELECT column1,CASE WHEN condition1 THEN result1WHEN condition2 THEN result2ELSE default_resultEND AS computed_column
FROM table_name;
例如,计算员工工资等级:
SELECT employee_name,salary,CASE WHEN salary > 5000 THEN 'High'WHEN salary BETWEEN 3000 AND 5000 THEN 'Medium'ELSE 'Low'END AS salary_level
FROM Employees;
(2)使用IF()函数实现简单条件判断
MySQL中的IF()函数接收三个参数:条件、满足条件时的结果和不满足条件时的结果。
SELECT column1,IF(condition, result_if_true, result_if_false) AS computed_column
FROM table_name;
例如,判断员工是否满勤:
SELECT employee_name,attendance_days,IF(attendance_days = 30, 'Full Attendance', 'Not Full Attendance') AS attendance_status
FROM EmployeeAttendance;
以上两种方式都可以帮助我们在SQL查询中实现类似if-else的逻辑控制。在更复杂的场景下,可能需要结合多个CASE表达式或者嵌套使用IF()函数来完成更为复杂的业务逻辑处理。
以上是MySQL中的常见查询操作,涵盖了基本查询、条件筛选、排序、分组统计、连接查询以及子查询等场景
相关文章:
MySQL 常规操作指南
1. 连接MySQL服务器 (1)通过命令行连接 mysql -u username -p在提示下输入对应用户的密码,即可进入MySQL命令行界面。 (2)指定数据库连接 mysql -u username -p -D database_name这里会直接连接到名为database_nam…...
Rocketmq rust版本-开篇
我是蚂蚁背大象(Apache EventMesh PMC&Committer),文章对你有帮助给Rocketmq-rust star,关注我GitHub:mxsm,文章有不正确的地方请您斧正,创建ISSUE提交PR~谢谢! Emal:mxsmapache.com Rust重构Rocketmq,大家好我是mxsm(Apache EventMesh PMC&Comm…...
springboot3+springsecurity6集成druid启动报错
环境:springboot3security6druid1.2.20 druid1.2.20这个版本开始支持springboot3自动配置,不再需要手动引入 依赖为 <dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-3-starter</artifactId>…...
golang面试题大全
go基础类 1、与其他语言相比,使用 Go 有什么好处? 与其他作为学术实验开始的语言不同, Go 代码的设计是务实的。每个功能和语法决策都旨在让程序员的生活更轻松。Golang 针对并发进行了优化,并且在规模上运行良好。由于单一的标…...
Google 在裁员的路上一路狂奔
早上刷新闻,Google 在 2024 开年还没几天就宣布了今年的裁员计划。 前几天还在说我们当地的大学为了削减预算而进行裁员。 大厂谷歌却是首当其冲,裁员1000多人,涉及了核心工程、谷歌助理、Pixel手机等硬件团队的人员。 截至2023年9月30日&…...
橘子学K8S04之重新认识Docker容器
我们之前分别从 Linux Namespace 的隔离能力、Linux Cgroups 的限制能力,以及基于 rootfs 的文件系统三个角度来理解了一下关于容器的核心实现原理。 这里一定注意说的是Linux环境,因为Linux Docker (namespaces cgroups rootfs) ! Docker on Mac (bas…...
Day31- 贪心算法part05
一、无重叠区间 题目一:453. 无重叠区间 435. 无重叠区间 给定一个区间的集合 intervals ,其中 intervals[i] [starti, endi] 。返回 需要移除区间的最小数量,使剩余区间互不重叠 。 主要思想是优先保留结束时间早的区间,这样…...
基于springboot+vue的蜗牛兼职网的设计与实现系统(前后端分离)
博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目背景…...
【音视频原理】图像相关概念 ② ( 帧率 | 常见帧率标准 | 码率 | 码率单位 )
文章目录 一、帧率1、帧率简介2、常见帧率标准3、帧率 刷新率 二、码率1、码率简介2、码率单位 一、帧率 1、帧率简介 帧率 Frame Rate , 帧 指的是 是 画面帧 , 帧率 是 画面帧 的 速率 ; 帧率 的 单位是 FPS , Frames Per Second , 是 每秒钟 的 画面帧 个数 ; 帧率 是 动画…...
CSS Position总结:定位属性的实战技巧
CSS Position总结:定位属性的实战技巧 大家好,我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!在今天的文章中,我们将深入研究CSS中一个至关重要的属…...
python基础系列二-函数
系统函数 函数说明abs返回一个数的绝对值,例如:abs(-1.3)会返回1.3。bin把一个整数转换成以0b开头的二进制字符串,例如:bin(123)会返回0b1111011。chr将Unicode编码转换成对应的字符,例如:chr(8364)会返回…...
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用短曝光功能(C#)
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用短曝光功能(C#) Baumer工业相机Baumer工业相机NEOAPI SDK和短曝光功能的技术背景Baumer工业相机通过NEOAPI SDK使用短曝光功能1.引用合适的类文件2.通过NEOAPI SDK使用短曝光功能3.通过NEOAPI SDK关闭短…...
提升开发效率,Fiddler Everywhere for Mac助您解决网络调试难题
在现代软件开发中,网络调试是一个不可或缺的环节。无论是前端开发还是后端开发,我们经常需要对网络请求进行监控和调试,以便及时发现并解决问题。而Fiddler Everywhere for Mac作为一款强大的网络调试工具,能够帮助开发者提升工作…...
JVM工作原理与实战(十九):运行时数据区-方法区
专栏导航 JVM工作原理与实战 RabbitMQ入门指南 从零开始了解大数据 目录 专栏导航 前言 一、运行时数据区 二、方法区 1.方法区介绍 2.方法区在Java虚拟机的实现 3.类的元信息 4.运行时常量池 5.字符串常量池 6.静态变量的存储 总结 前言 JVM作为Java程序的运行环境…...
webassembly003 whisper.cpp的项目结构CMakeLists.txt
注:带星号的为非重要部分 基础配置 cmake_minimum_required (VERSION 3.5)project(whisper.cpp VERSION 1.5.0)# Add path to modules list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/") # 在\cmake文件夹下还有BuildTypes.cmake&a…...
克魔助手工具详解、数据包抓取分析、使用教程
目录 摘要 引言 克魔助手界面 克魔助手查看数据捕获列表 数据包解析窗口 数据包数据窗口 克魔助手过滤器表达式的规则 抓包过滤器实例 总结 参考资料 摘要 本文介绍了克魔助手工具的界面和功能,包括数据包的捕获和分析,以及抓包过滤器的使用方…...
【Docker】contos7安装 Nacos容器部署单个部署集群
🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是平顶山大师,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的博客专栏《Docker】contos7安装 Nacos容器部署单个&…...
UML-通信图和交互概览图(通信图和顺序图的区别与联系)
UML-通信图和交互概览图(通信图和顺序图的区别与联系) 一、通信图简介1.消息2.链接 二、通信图和[顺序图](https://blog.csdn.net/weixin_65032328/article/details/135587782)的联系与区别三、交互概览图四、顺序图转化为通信图练习 一、通信图简介 通…...
Linux 使用PS命令掌握进程管理
在Linux系统中,进程管理是系统管理员和开发人员必备的技能之一。而PS命令作为进程管理的重要工具,可以帮助我们查看和监控系统中运行的进程。本文将详细解析PS命令的使用方法和输出结果,帮助读者全面掌握进程管理的利器。 PS命令概述…...
Debian 10.13.0 安装图解
引导和开始安装 这里直接回车确认即可,选择图形化安装方式。 选择语言 这里要区分一下,当前选中的语言作为安装过程中安装器所使用的语言,这里我们选择中文简体。不过细心的同学可能发现,当你选择安装器语言之后,后续安…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...
保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek
文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...
LabVIEW双光子成像系统技术
双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制,展现出显著的技术优势: 深层组织穿透能力:适用于活体组织深度成像 高分辨率观测性能:满足微观结构的精细研究需求 低光毒性特点:减少对样本的损伤…...
MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...
Ubuntu系统多网卡多相机IP设置方法
目录 1、硬件情况 2、如何设置网卡和相机IP 2.1 万兆网卡连接交换机,交换机再连相机 2.1.1 网卡设置 2.1.2 相机设置 2.3 万兆网卡直连相机 1、硬件情况 2个网卡n个相机 电脑系统信息,系统版本:Ubuntu22.04.5 LTS;内核版本…...
【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...
第八部分:阶段项目 6:构建 React 前端应用
现在,是时候将你学到的 React 基础知识付诸实践,构建一个简单的前端应用来模拟与后端 API 的交互了。在这个阶段,你可以先使用模拟数据,或者如果你的后端 API(阶段项目 5)已经搭建好,可以直接连…...
STM32标准库-ADC数模转换器
文章目录 一、ADC1.1简介1. 2逐次逼近型ADC1.3ADC框图1.4ADC基本结构1.4.1 信号 “上车点”:输入模块(GPIO、温度、V_REFINT)1.4.2 信号 “调度站”:多路开关1.4.3 信号 “加工厂”:ADC 转换器(规则组 注入…...
