MySQL操作手册:高效管理、轻松查询!

MySQL操作手册:高效管理、轻松查询!

文章目录

  • MySQL操作手册:高效管理、轻松查询!
    • 1、常用SQL命令
      • 1.1 数据库操作
      • 1.2 表操作
      • 1.3 数据操作
      • 1.4 索引操作
      • 1.5 权限管理
        • 1.5.1 创建用户
        • 1.5.2 授予权限
        • 1.5.3 撤销权限
        • 1.5.4 刷新权限
    • 2、常见查询场景
      • 2.1 查询所有数据
      • 2.2 条件查询
      • 2.3 模糊查询
      • 2.4 范围查询
      • 2.5 排序
      • 2.6 限制结果集
      • 2.7 聚合函数
      • 2.8 分组
      • 2.9 连接表
      • 2.10 子查询
      • 2.11 更新数据
      • 2.12 删除数据
      • 2.13 联合查询
      • 2.14 多表查询

MySQL是一种流行的关系型数据库管理系统,支持多种查询和操作命令。下面将介绍一些常见的MySQL查询命令及其用法。

1、常用SQL命令

1.1 数据库操作

#创建数据库
CREATE DATABASE database_name;#删除数据库
DROP DATABASE database_name;#选择数据库USE database_name;

1.2 表操作

#创建表
CREATE TABLE table_name (column1 datatype,column2 datatype,...
);#删除表
DROP TABLE table_name;#查看表结构
DESC table_name;

1.3 数据操作

#插入数据
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);#更新数据
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;#删除数据
DELETE FROM table_name WHERE condition;#查询数据
SELECT column1, column2, ... FROM table_name WHERE condition;#查询所有数据
SELECT * FROM table_name;

1.4 索引操作

#创建索引
CREATE INDEX index_name ON table_name (column1, column2, ...);#删除索引
DROP INDEX index_name ON table_name;

1.5 权限管理

在MySQL中,权限管理是数据库安全性的重要组成部分。以下是一些关于MySQL权限管理的常见操作:

1.5.1 创建用户

要在MySQL中创建一个新用户,可以使用以下命令:

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

此命令将创建一个名为’username’的用户,只能从本地主机(‘localhost’)连接,并使用指定的密码进行身份验证。

1.5.2 授予权限

在MySQL中,可以使用GRANT语句为用户授予不同级别的权限。以下是一个例子:

GRANT SELECT, INSERT, UPDATE, DELETE ON database_name.table_name TO 'username'@'localhost';

上述命令赋予了用户’username’在特定数据库(database_name)的特定表(table_name)上执行SELECT、INSERT、UPDATE和DELETE操作的权限。你可以根据需要调整权限。

1.5.3 撤销权限

如果需要撤销已经授予的权限,可以使用REVOKE语句。例如:

REVOKE INSERT, UPDATE ON database_name.table_name FROM 'username'@'localhost';

上述命令撤销了用户’username’在特定数据库和表上的INSERT和UPDATE权限。同样,你可以根据实际情况进行调整。

1.5.4 刷新权限

在修改了用户权限之后,需要刷新MySQL服务器的权限缓存,以使更改生效。可以使用以下命令:

FLUSH PRIVILEGES;

这个命令将重新加载权限表,使最新的权限更改生效。

注意:为了执行上述操作,你需要具有GRANT OPTION权限或具有SUPER权限的用户。在实际生产环境中,应当谨慎授予权限,以确保数据库的安全性。

2、常见查询场景

2.1 查询所有数据

SELECT * FROM table_name;

这个查询将返回表中的所有数据,适用于需要查看完整数据集的场景。

2.2 条件查询

SELECT * FROM table_name WHERE column_name = 'value';

通过条件查询,可以筛选出符合特定条件的数据。在上述例子中,只返回指定列(column_name)等于特定值(‘value’)的行。

2.3 模糊查询

SELECT * FROM table_name WHERE column_name LIKE 'pattern%';

模糊查询使用LIKE操作符,允许在条件中使用通配符。上述例子中,查询指定列以某个模式(‘pattern’)开头的所有行。

2.4 范围查询

SELECT * FROM table_name WHERE column_name BETWEEN min_value AND max_value;

范围查询用于检索特定范围内的数据。在上述例子中,查询指定列在最小值(min_value)和最大值(max_value)之间的所有行。

2.5 排序

SELECT * FROM table_name ORDER BY column_name ASC; -- 升序
SELECT * FROM table_name ORDER BY column_name DESC; -- 降序

排序查询使用ORDER BY子句,可以按照指定列的升序或降序排列结果集。

2.6 限制结果集

SELECT * FROM table_name LIMIT 10; -- 限制返回结果的行数

通过LIMIT关键字,可以限制返回的结果集行数,这对于大型表的查询很有用。

2.7 聚合函数

SELECT COUNT(*) FROM table_name; -- 计算行数
SELECT AVG(column_name) FROM table_name; -- 计算平均值
SELECT SUM(column_name) FROM table_name; -- 计算总和
SELECT MAX(column_name) FROM table_name; -- 获取最大值
SELECT MIN(column_name) FROM table_name; -- 获取最小值

聚合函数用于对数据执行计算。上述例子展示了一些常见的聚合函数,例如计算行数、平均值、总和、最大值和最小值。

2.8 分组

SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name;

通过GROUP BY子句,可以将结果集按照指定列进行分组,并对每个组应用聚合函数。

2.9 连接表

SELECT * FROM table1 JOIN table2 ON table1.column_name = table2.column_name;

连接表是通过将两个或多个表中的行相关联来检索数据的过程。在上述例子中,通过JOIN操作符将两个表连接。

2.10 子查询

SELECT * FROM table_name WHERE column_name IN (SELECT column_name FROM another_table);

子查询是在另一个查询的结果中执行的查询。在上述例子中,查询指定列的值在另一个表的列中存在的所有行。

2.11 更新数据

UPDATE table_name SET column_name = 'new_value' WHERE condition;

更新查询用于修改表中的现有数据。在上述例子中,将符合特定条件的行中的列值更新为新值。

2.12 删除数据

DELETE FROM table_name WHERE condition;

删除查询用于从表中删除数据。在上述例子中,删除符合特定条件的行。

2.13 联合查询

SELECT * FROM table1 UNION SELECT * FROM table2;

联合查询用于合并两个或多个查询的结果集。在上述例子中,使用UNION合并两个表的结果集。

2.14 多表查询

SELECT * FROM table1, table2 WHERE table1.column_name = table2.column_name;

多表查询通过在FROM子句中列出多个表,然后通过条件将它们相关联。在上述例子中,通过指定条件将两个表相关联。

这些查询场景涵盖了MySQL中一些基本和常见的数据库操作。根据实际需求,可以选择合适的查询命令。详细的MySQL文档和学习资源可帮助更深入地理解这些命令的使用和优化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/619348.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

普通两样本孟德尔随机化仍能发一区! | 孟德尔随机化周报(1.03-1.09)

欢迎报名2024年孟德尔随机化方法高级班课程! 郑老师团队开设的孟德尔随机化高级班2024年1月20-21日开课,欢迎报名 孟德尔随机化,Mendilian Randomization,简写为MR,是一种在流行病学领域应用广泛的一种实验设计方法,利…

【C++ 程序设计入门基础】- 第4节-函数

1、函数 函数是对实现某一功能的代码的模块化封装。 函数的定义&#xff1a; 标准函数&#xff1a; 输入 n 对整数的 a、b &#xff0c;输出它们的和。 #include <iostream> #include <windows.h> using namespace std;int add(int a,int b);//函数原型声明int…

分享一个好用的免费在线扣图网址

具体效果 附地址 https://cutout.aiwave.cc/

洛谷 P8443 gcd.

题目描述 T T T 组数据&#xff0c;每一组数据给定 l , r , x l,r,x l,r,x&#xff0c;试求&#xff1a; gcd ⁡ ( ⌊ l x ⌋ , ⌊ l 1 x ⌋ , ⋯ , ⌊ r x ⌋ ) \gcd(\lfloor \frac{l}{x}\rfloor,\lfloor \frac{l1}{x}\rfloor,\cdots,\lfloor \frac{r}{x}\rfloor) gcd(⌊xl​…

dpdk20.11.9 编译arm版本以及在arm 应用中引用dpdk20.11.9

以往19版本的dpdk 都是可以直接用make 的方式进行编译, e.g, make Tx86_64-native-linux-gcc install 为了和客户那边用的DPDK 版本一致, 这次要用dpdk20.11.9, 并且要把之前跑在X86 版本的服务器上的程序跑在ARM 版本上. 目前有两个问题: 1. 编译出arm 版本的dpdk. 2. 把…

程序员副业之AI文库项目(超详细完整全流程)

引言 大家好&#xff0c;我是小黑&#xff0c;今天给大家介绍一个特别简单的项目&#xff0c;用AI辅助咱们来编写各种word&#xff0c;PPT等资料上传到百度文库、原创力、道客巴巴、csdn等平台赚取被动的睡后收益。 但要注意&#xff0c;只是辅助&#xff0c;即便是用AI辅助&…

Flink窗口(2)—— Window API

目录 窗口分配器 时间窗口 计数窗口 全局窗口 窗口函数 增量聚合函数 全窗口函数&#xff08;full window functions&#xff09; 增量聚合和全窗口函数的结合使用 Window API 主要由两部分构成&#xff1a;窗口分配器&#xff08;Window Assigners&#xff09;和窗口函…

【力扣100】20.有效的括号 || 栈

添加链接描述 class Solution:def isValid(self, s: str) -> bool:if len(s)%2!0:return Falsestack[]dic{")":"(","]":"[","}":"{",}for i in s:if i not in dic:stack.append(i)elif not stack or dic[i]!s…

wpf使用Popup封装数据筛选框--粉丝专栏

类似于DevExpress控件的功能 这是DevExpress的winform筛选样式&#xff0c;如下&#xff1a; 这是DevExpress的wpf筛选样式&#xff0c;如下&#xff1a; 这是Excel的筛选样式&#xff0c;如下&#xff1a; 先看效果 本案例使用wpf原生控件封装&#xff0c;功能基本上都满足…

04.neuvector进程策略生成与管控实现

原文链接&#xff0c;欢迎大家关注我的github 一、进程学习管控的实现方式 策略学习实现&#xff1a; 进程的学习与告警主要依据通过netlink socket实时获取进程启动和退出的事件: 1.创建netLink socket&#xff1b; 2.通过创建netlink的fd对进程的事件进行捕获与更新&#x…

标准 C++ 数据类型和 C++/WinRT

借助 C/WinRT&#xff0c;可以使用标准 C 数据类型&#xff08;包括某些 C 标准库数据类型&#xff09;调用 Windows 运行时 API。 可以将标准字符串传递到 API&#xff08;请参阅 C/WinRT 中的字符串处理&#xff09;&#xff0c;还可以将初始值列表和标准容器传递到 API&…

Objective-C索引集NSIndexSet与可变索引集NSMutableIndexSet使用

//创建空arrayNSMutableArray *emptyArray [NSMutableArray array];[emptyArray addObjectsFromArray:[marr subarrayWithRange:NSMakeRange(6, 5)]];[marr removeAllObjects];NSLog("%",emptyArray);//创建索引集NSIndexSet *indexs [NSIndexSet indexSetWithInde…

复试 || 就业day14(2024.01.10)算法篇

文章目录 前言字符串中第二大的数字字符串中不同整数的数目判断句子是否为全字母句长度为三且各字符不同的子字符串检查是否区域内所有整数都被覆盖*重新分配字符使所有字符串都相等可以输入的最大单词数检查是否所有字符出现次数相同差的绝对值为 K 的数对数目至少在两个数组中…

2024.1.12每日一题

LeetCode 2085.统计出现过一次的公共字符串 2085. 统计出现过一次的公共字符串 - 力扣&#xff08;LeetCode&#xff09; 题目描述 给你两个字符串数组 words1 和 words2 &#xff0c;请你返回在两个字符串数组中 都恰好出现一次 的字符串的数目。 示例 1&#xff1a; 输…

什么是数通技术?以太网交换机在数通技术中的精要

什么是数通技术&#xff1f; 数通技术是指数字通信技术&#xff0c;它涵盖了数字信号处理、数据传输、网络通信等领域。通信工程师在数通技术中负责设计、建设和维护数字通信系统&#xff0c;以实现可靠、高效的信息传输。这涉及到数字信号的编解码、调制解调、数据压缩、网络…

PTA 1117 数字之王 C++实现 简易代码

给定两个正整数 N1​<N2​。把从 N1​ 到 N2​ 的每个数的各位数的立方相乘&#xff0c;再将结果的各位数求和&#xff0c;得到一批新的数字&#xff0c;再对这批新的数字重复上述操作&#xff0c;直到所有数字都是 1 位数为止。这时哪个数字最多&#xff0c;哪个就是“数字…

计算机体系中程序、进程与线程的关系解读

引言 在计算机科学中&#xff0c;程序、进程和线程是三个基本而又密切相关的概念&#xff0c;它们共同构成了计算机系统中软件运行的核心框架。理解这三个概念之间的区别与联系&#xff0c;有助于我们更好地理解计算机的工作原理&#xff0c;以及如何设计和优化软件系统。接下…

Objective-C字典NSDictionary与可变字典NSMutableDictionary使用

//通过类对象创建字典NSDictionary *dic [[NSDictionary alloc] initWithObjects:[1,2,3] forKeys:["A","B","C"]];//通过键取字典中值NSLog("count:%lu,A:%,B:%,C:%",dic.count,[dic objectForKey:"A"],[dic objectForKey…

控制台项目和ASP.Net Core 1.项目创建 2.一键启动多个服务 3.引入别的库

感悟&#xff1a; 1.注意选择&#xff1a;.NET/.Net Core下面的控制台或者ASP.NET Core web应用&#xff0c;而且只有.net core的项目是跨平台的&#xff0c;选错的话&#xff0c;是无法发布到linux上的。 2.c#的命名空间和java包的区别&#xff1a; c#中是按照包来的&#x…

python MySQL学习

免费 MySQL Community Server 社区版本 免费 但是MySQL 不提供官方技术支持 MySQL Cluster 集群版 开源免费 可将几个 MySQL Server 封装乘一个Server 收费 MySQL Enterprise Edition 商业版 该版本是收费的 可以试用30天 官方提供技术支持 MySQL Cluster CGE 高级集群版…