mysql中的DML、DQL、DCL常用命令

文章目录

    • DML语句
      • 1.添加数据(INSERT)
      • 2.修改数据(UPDATA)
      • 3.删除数据(DELETE)
    • DQL语句
      • 1.基础查询
      • 2.条件查询
      • 3.聚合函数
      • 4.分组查询
      • 5.排序查询
      • 6.分页查询
    • DCL语句
      • 1.管理用户
      • 2.权限控制

DML语句

1.添加数据(INSERT)

1.给指定字段添加数据:INSERT INTO 表名(字段1,字段2,…) VALUES(值1,值2,…);

2.给全部字段添加数据:INSERT INTO 表名 VALUES(值1,值2,…);

3.批量添加数据:

为指定字段添加:INSERT INTO 表名(字段名1,字段名2,…) VALUES(值1,值2,…),(值1,值2,…),(值1,值2,…);

为表中全部字段添加:INSERT INTO 表名 VALUES(值1,值2…),(值1,值2…),(值1,值2…);

注意:1.插入数据时,指定字段顺序要与值的顺序一一对应;2.字符串和日期型数据应包含在引号中;3.插入的数据大小应该在字段的规定范围内。

2.修改数据(UPDATA)

修改数据语法:UPDATE 表名 SET 字段名1 = 值1,字段名2 = 值2,…[WHERE 条件]

若不加where语句,则修改整张表的字段名

3.删除数据(DELETE)

删除数据语法:DELETE FROM 表名 [WHERE 条件]

注意1.DELETE的条件可以有也可以没有,若没有条件则会删除整张表的所有数据;2.DELETE语句不能删除某一个字段的值(可以用UPDATE将该字段的值置为NULL)

DQL语句

1.基础查询

(1).查询多个字段

1.查询指定多个字段:SELECT 字段1,字段2,… FROM 表名

2.查询整张表:SELECT * FROM 表名;

(2).设置别名

语法:SELECT 字段1 [AS 别名1], 字段2 [AS 别名2]… FROM 表名;

(3).去除重复记录

语法:SELECT DISTINCT 字段列表 FROM 表名;

2.条件查询

(1).基本语法

语法:SELECT 字段列表 FROM 表名 WHERE 条件列表;

(2.)条件

在这里插入图片描述
在这里插入图片描述

对于比较运算符后三中查询的举例说明

1.IN(…),可以用于查询如:查询年龄等于18或20或40的员工信息

语句:SELECT * FROM emp WHERE age in(18,20,40);

2.LIKE 占位符,用于模糊匹配,比如查询姓名为两个字的员工信息

语句:SELECT * FROM emp WHERE name LIKE ‘__’;

又如查询身份证号末尾是X的员工信息

语句:SELECT * FROM emp WHERE idcard LIKE ‘%X’;

3.聚合函数

(1).什么是聚合函数

概念:将一列数据作为一个整体,进行纵向计算,作用于某一列(字段)

(2).常见聚合函数
在这里插入图片描述

(3).语法

语法:SELECT 聚合函数(字段列表) FROM 表名;

  • 统计员工数量:SELECT COUNT(*) FROM emp;
  • 统计有身份证号的员工数量:SELECT COUNT(idcard) FROM emp;
  • 统计员工最大年龄:SELECT MAX(age) FROM emp;
  • 统计西安地区员工的年龄之和:SELECT SUM(age) FROM emp WHERE workaddress = ‘西安’;

注意:NULL值不参与所有聚合函数的计算

4.分组查询

(1).语法

**语法:**SELECT 字段列表 FROM 表名 [WHERE 条件] GROUP BY 分组字段名 [HAVING 分组后过滤条件];

WHERE与HAVING的区别:

  • 执行时机不同:WHERE是分组前进行过滤,不满足WHERE条件的不参与分组;HAVING对分组后的结果进行过滤
  • 判断条件不同:WHERE不能对聚合函数进行判断,而HAVING可以

(2).示例

基础查询

  • 根据性别分组,统计男性员工与女性员工数量

    SELECT gender, COUNT(*) FROM emp GROUP BY gender;

  • 根据性别分组,统计男员工与女员工的平均年龄

​ SELECT gender, AVG(age) FROM emp GROUP BY gender;

分组查询

  • 查询年龄小于45的员工,并根据工作地址分组,获取员工数量大于等于3的工作地址

​ SELECT workaddress, COUNT(*) address_count FROM emp WHERE age < 45 GROUP BY workaddress HAVING address_count >= 3;

5.排序查询

(1).语法

语法:SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1, 字段2 排序方式2;

(2).排序方式

  • ASC:升序(默认值)
  • DESC:降序

注意:如果是多字段排序,只有当第一个字段值相同时,才会根据第二个字段进行排序

6.分页查询

(1).语法

语法:SELECT 字段列表 FROM 表名 LIMIT 起始索引, 查询记录数;

注意

  • 起始索引从0开始,起始索引 = (查询页码 - 1) * 每页显示记录数
  • 分页查询是数据库的方言,不同的数据库有不同的实现,MySQL是LIMIT
  • 如果查询的是第一页数据,起始索引可以省略,直接简写为LIMIT 10

(2).例子

  • 查询第1页员工数据,每页展示10条数据

​ SELECT * FROM emp LIMIT 0, 10;

  • 查询第2页员工数据,每页展示10条数据**(起始索引 = (页码 - 1) * 页展示记录数)**

    SELECT * FROM emp LIMIT 10, 10;

DCL语句

1.管理用户

(1).查询用户

USE mysql;
SELECT * FROM user;

(2).创建用户

CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';

(3).修改用户密码

ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码';

(4).删除用户

DROP USER '用户名'@'主机名';

2.权限控制

在这里插入图片描述
1.查询权限

SHOW GRANTS FOR '用户名'@'主机名';

2.授予权限

GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';

3.撤销权限

REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';

注意

  • 多个权限之间使用逗号分隔
    p6siO1b-1712566653895)]

1.查询权限

SHOW GRANTS FOR '用户名'@'主机名';

2.授予权限

GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';

3.撤销权限

REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';

注意

  • 多个权限之间使用逗号分隔
  • 授权时,数据库名和表名以使用 * 进行通配,代表所有

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

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

相关文章

C# Solidworks二次开发:控制鼠标移动相关API详解

大家好&#xff0c;今天要介绍的是关于如何solidworks中用程序API来控制鼠标移动和滚轮缩放的功能。 下面是相关API&#xff1a; &#xff08;1&#xff09;第一个为Move&#xff0c;这个API的含义为在窗口空间中移动鼠标指针&#xff0c;下面是官方的具体解释&#xff1a; 其…

【linux】网络 - 传输层 -- socket(TCP/UDP)

文章目录 socket预备知识TCP和UDP 协议网络字节序 socket接口及辅助接口sockaddrudpserver和udpclient初始化udp服务器运行udp服务器udp客户端 tcpserver和tcpclient初始化服务器运行服务器Tcp客户端 守护进程 socket Socket&#xff08;套接字&#xff09;是计算机网络编程中…

OpenCV C++学习笔记

1.图像的读取与显示 1.1 加载并显示一张图片 #include<opencv2/opencv.hpp> #include<iostream>using namespace cv; using namespace std; int main(int argc,char** argv){Mat srcimread("sonar.jpg");//读取图像if(src.empty()){printf("Could…

Presto Player 2.0 – 引人入胜的视频播放列表

Presto Player 2.0 引入了一项令人惊叹的新功能&#xff1a;视频播放列表。 将其与类似 Netflix 的新体验相结合&#xff0c;您将发现一款流畅的视频播放器&#xff0c;其功能在市场上任何其他工具中都找不到。 让我们看看 Presto Player 2.0 如何将您的内容提升到新的参与度…

使用 HBuilderX自动上传Uniapp 微信小程序代码

HBuilderX内置相关环境&#xff0c;开箱即用&#xff0c;无需配置nodejs。本文只介绍发布微信小程序的步骤。 1.下载和安装 HBuilderX hbuilder首页&#xff1a;https://www.dcloud.io/hbuilderx.html 下载hbuilder编辑器,选择对应的系统,Windows和mac正式版即可,下载后免安…

代码随想录算法训练营DAY25|C++回溯算法Part.2|216. 组合总和III、17.电话号码的字母组合

文章目录 216. 组合总和III题意理解树形结构伪代码实现剪枝操作CPP代码实现 17.电话号码的字母组合解题思路树形结构伪代码实现隐藏回溯CPP代码 216. 组合总和III 力扣题目链接 文章讲解&#xff1a;216. 组合总和III 视频讲解&#xff1a;和组合问题有啥区别&#xff1f;回溯算…

Vue-B站学习笔记

1. 路由配置 B站视频之Vue route文件下的index.js app.vue

几分钟!你的PDF文件就可以具有仿真翻页的效果!

你是否曾经在阅读PDF文件时感到困扰&#xff0c;因为它的页面是静态的&#xff0c;无法模拟真实的翻页效果&#xff1f;现在&#xff0c;我教你一个很实用的方法&#xff1a;几分钟&#xff01;你的PDF文件就可以具有仿真翻页的效果&#xff01; 工具&#xff1a;FLBOOK在线制作…

叉车载货出入库AI检测算法介绍及应用

随着物流行业的快速发展&#xff0c;叉车作为物流运输的重要设备&#xff0c;其安全性和效率性越来越受到人们的关注。然而&#xff0c;在实际操作中&#xff0c;由于人为因素和操作环境的复杂性&#xff0c;叉车事故时有发生&#xff0c;给企业和个人带来了巨大的损失。为了提…

langchain 文本向量化存储,并检索相似 topK

目录 chroma 检索 faiss 检索 检索器 相似性 最大相关性mmr 相似数阈值 txt 有多行&#xff0c;我的这份数据有 67 行&#xff0c;样例如下&#xff1a; 字段1\t值1\n 字段2\t值2\n ... chroma 检索 pip install langchain-chroma 在本地下载了 embedding 模型&…

kali工具----网络映射器(Network Mapper)

识别活跃的主机 尝试渗透测试之前&#xff0c;必须先识别在这个目标网络内活跃的主机。在一个目标网络内&#xff0c;最简单的方法将是执行ping命令。当然&#xff0c;它可能被一个主机拒绝&#xff0c;也可能被接收。本节将介绍使用Nmap工具识别活跃的主机。 1、网络映射器工具…