当前位置: 首页 > news >正文

mysql -DQL语句和DCL语句

DQL

数据查询语言(Data Query Language,DQL)是数据库操作语言的重要组成部分,主要用于从数据库中检索数据,核心关键字为SELECT。以下从语法结构、常见操作及示例等方面详细介绍:

语法结构

DQL 的标准语法为:SELECT select_list INTO new_table FROM table_source WHERE search_condition GROUP BY group_by_expression HAVING search_condition ORDER BY order_expression 。各个部分的含义如下:

  • SELECT:用于指定要查询的列,select_list可以是具体的列名、表达式、函数等。如果要查询所有列,可用*表示。例如SELECT column1, column2 FROM table_name; 表示从table_name表中选择column1column2这两列的数据;SELECT * FROM table_name; 则返回table_name表中的所有列数据。
  • INTO:可选子句,用于将查询结果存储到一个新表new_table中。比如SELECT column1, column2 INTO new_table FROM old_table; 会将old_table中的column1column2列数据查询出来并存储到新表new_table中。
  • FROM:指定查询数据的来源表,可以是单个表或多个表(用于联表查询)。如FROM employees表示从employees表中获取数据。
  • WHERE:筛选条件子句,用于限制返回的行,只有满足search_condition条件的行才会被查询出来。例如SELECT * FROM products WHERE price > 100; 会从products表中筛选出价格大于 100 的产品记录。
  • GROUP BY:用于对查询结果进行分组,group_by_expression是分组的依据列。比如SELECT department, COUNT(*) FROM employees GROUP BY department; 会按照department列对employees表中的记录进行分组,并统计每个组的记录数量。
  • HAVING:用于对分组后的结果进行过滤,search_condition是过滤条件。它与WHERE的区别在于,WHERE是对原始数据行进行筛选,而HAVING是对分组后的结果进行筛选。例如SELECT department, AVG(salary) AS average_salary FROM employees GROUP BY department HAVING AVG(salary) > 5000; 先按department分组并计算每个组的平均工资,然后筛选出平均工资大于 5000 的组。
  • ORDER BY:对查询结果进行排序,order_expression是排序的依据列,可使用ASC(升序,默认)或DESC(降序)指定排序方式。如SELECT * FROM students ORDER BY age DESC; 会将students表中的记录按年龄降序排列。

 MySQL 中,SELECT ,FROM,WHERE,GROUP BY,HAVING,ORDER BY,LIMIT

插入值

eg表:

基本查询-:


SELECT 字段1,字段2........ FROM 表名

SELECT * FROM 表名

查询指定字段:

SELECT name,workno,age from emp

查询所有字段:
select * form emp //比起原来的更慢会

设置别名

SELECT 字段1 [AS 别名1],字段2 [AS 字段2].....from 表名

这里的AS可以省略

select workaddress ‘工作地址’ from emp

去除重复记录:
SELECT DISINCT  xxx FROM 表名

select distinct workaddress from emp

条件查询:

SELECT 字段列表 FROM 表名 WHERE 条件列表

select * from emp where age ==88

select * form emp where idcard is null

select * form emp where idcard is not null

select * form emp where age >=15&&age<=20

select * form emp where age  between 15 and 20

select * form emp where gender =’女’ and age <25

select * form emp where age in (18,20,40)

select * from emp where like ‘__’//_模糊匹配单个字符,%任意多个字符

select *from emp where idcard like ‘%X’        //查询身份证以X结尾的人

聚合函数:


count,max,min,avg,sum

select 聚合函数(字段列表) from 表名

select count(*) form emp

select count(idcard) form emp      //因为有一个null

select avg(age) from emp

select max(age) from emp

select sum(age) from emp where workaddress = ‘西安’

 

分组查询

SELECT 字段列表 FROM 表名 [where 条件] GROUP BY 分组字段名 [分组后的过滤条件]

where不能使用聚合函数  而having 可以

select gender, count(gender) from emp group by gender

select gender, avg(age) from emp group by gender

select workaddress ,count(*) as cnt from emp where age<45 group by workaddress having cnt >=3

排序查询:

asc 升序 desc 降序
SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1 ,字段2 排序方式2.....

select * from emp order by age asc

select * from emp order by entrydate desc

select * from emp order by age asc, entrydate desc

分页查询:

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

如果查询第一页,起始索引可以省略

select * from emp limit 10       //查询第一页10个数据

select * from emp limit 1,10       //查询第二页,10个数据

一整个的顺序是

select +intot+ from + where + group by + having + order by + limit

DCL:

数据控制语言(Data Control Language,DCL)是 SQL 语言的一个重要组成部分,主要用于管理数据库中的用户权限和事务处理,确保数据库系统的安全性和数据的完整性。

管理用户:


查询用户:
USE mysql

SELECT * from user

创建用户:

创建用户,只能在当前主机localhost下访问 密码123456
CREATE USER ‘用户名’ @ ‘主机名’ INDENTIFIED BY ‘密码’

创建用户 heima,可以在任意主机访问,密码123456

修改用户密码:
ALTER USER ‘用户名’ @ ‘主机名’ IDENTIFIED WITH mysql_native_password BY ‘新密码’

删除用户

DROP USER’用户名’@’主机名’

权限控制:

查询权限:
SHOW GRANT FOR ‘用户名’@’主机名’

show grants for ‘heima’@’%’

(表示只能链接进入数据库)

授予权限:
GRANT 权限列表 ON 数据库名.表名 TO  ‘用户名’@’主机名’

grant all on itcast.* to ‘heima’@’%’

之前:

使用命令之后:

撤销权限

REMOVE 权限列表 ON 数据库名.表名 FROM  ‘用户名’@’主机名’

remove all on itcast.* from ‘heima’@’%’

相关文章:

mysql -DQL语句和DCL语句

DQL 数据查询语言&#xff08;Data Query Language&#xff0c;DQL&#xff09;是数据库操作语言的重要组成部分&#xff0c;主要用于从数据库中检索数据&#xff0c;核心关键字为SELECT。以下从语法结构、常见操作及示例等方面详细介绍&#xff1a; 语法结构 DQL 的标准语法…...

掌握 ElasticSearch 组合查询:Bool Query 详解与实践

掌握 ElasticSearch 组合查询&#xff1a;Bool Query 详解与实践 一、引言 (Introduction)二、Bool 查询基础2.1 什么是 Bool 查询&#xff1f;2.2 Bool 查询的四种子句2.3 语法结构 三、Bool 查询的四种子句详解与示例3.1 must 子句3.2 filter 子句3.3 should 子句3.4 must_no…...

C++ 类和对象(友元、内部类、匿名对像)

目录 一、前言 二、正文 1.友元 1.1友元函数的使用 1.1.1外部友元函数可访问类的私有成员&#xff0c;友员函数仅仅是一种声明&#xff0c;他不是类的成员函数。 1.1.2一个函数可以是多个类的友元函数 2.友元类的使用 2.1什么是友元类 2.2 友元类的关系是单向的&#x…...

PostgreSQL 常用函数

PostgreSQL 常用函数 在数据库管理系统中&#xff0c;函数是执行特定任务的基本构建块。PostgreSQL 是一个功能强大的开源关系数据库管理系统&#xff0c;提供了丰富的内置函数&#xff0c;这些函数极大地增强了数据库操作的能力。以下是一些在 PostgreSQL 中常用的函数&#…...

掌握 ElasticSearch 四种match查询的原理与应用

文章目录 一、引言 (Introduction)二、准备工作&#xff1a;创建索引和添加示例数据三、match 查询四、match_all 查询五、multi_match 查询六、match_phrase 查询七、总结 (Conclusion) 一、引言 (Introduction) 在信息爆炸的时代&#xff0c;快速准确地找到所需信息至关重要…...

解决:Conda虚拟环境中未设置CUDA_HOME的问题

背景&#xff1a;我是Ubuntu22.04系统&#xff0c;最近在复现FoundationPose算法&#xff0c;按照README构建部署环境时&#xff0c;有一步一直卡住&#xff0c;看了下是未找到CUDA_HOME这个环境变量。 网上搜了下这个错误&#xff0c;需要设置CUDA_HOME的环境变量路径&#x…...

easyexcel和poi同时存在版本问题,使用easyexcel导出excel设置日期格式

这两天在使用easyexcel导出excel的时候日期格式全都是字符串导致导出的excel列无法筛选 后来调整了一下终于弄好了&#xff0c;看一下最终效果 这里涉及到easyexcel和poi版本冲突的问题&#xff0c;一直没搞定&#xff0c;最后狠下心来把所有的都升级到了最新版&#xff0c;然…...

HarmonyOS 开发套件 介绍——下篇

HarmonyOS 开发套件 介绍——下篇 在HarmonyOS的生态中&#xff0c;开发套件作为支撑整个系统发展的基石&#xff0c;为开发者提供了丰富而强大的工具和服务。本文将深入继续介绍HarmonyOS SDK、ArkCompiler、DevEco Testing、AppGallery等核心组件&#xff0c;帮助开发者全面掌…...

关于order by的sql注入实验

实验描述 本实验基于sqli-lab的第46关进行测试 本关的sql 语句为$sql "SELECT * FROM users ORDER BY $id" 利用sort进行sql注入&#xff0c;我们可以利用报错注入&#xff0c;延时注入来爆出数据 1.报错注入 1.手工测试 爆出数据库 ?sort(extractvalue(1, c…...

Transformers快速入门-学习笔记

一、自然语言处理 NLP 是借助计算机技术研究人类语言的科学自然语言处理发展史 一、不懂语法怎么理解语言 依靠语言学家人工总结文法规则 Chomsky Formal Languages 难点&#xff1a;上下文有关文法 规则增多&#xff0c;存在矛盾 二、只要看得足够多&#xff0c;就能处理语言…...

luci界面开发中的MVC架构——LuCI介绍(二)

想要给openwrt开发应用&#xff0c;虽然直接可执行程序也可以运行&#xff0c;但是没有UI会很不方便&#xff0c;想要开发UI就要用openwrt的那一套&#xff0c;自然就是LuCI&#xff0c;LuCI又用了一套MVC框架&#xff0c;今天就讲讲这是个什么东西。 OpenWrt LuCI 界面开发中…...

第1章大型互联网公司的基础架构——1.10 其他NoSQL数据库

这里我们简单介绍一下其他常见的NoSQL数据库及其适用的场景&#xff0c;其中部分数据库会在后续服务设计章节中正式使用时再做详细介绍。 1.10.1 文档数据库 文档数据库的典型代表是MongoDB和CouchDB。**文档数据库普遍采用JSON格式来存储数据&#xff0c;而不是采用僵硬的行…...

DeepSeek+Kimi生成高质量PPT

DeepSeek与Kimi生成PPT全流程解析 一、工具分工原理 DeepSeek核心作用&#xff1a;生成结构化PPT大纲&#xff08;擅长逻辑构建与内容优化&#xff09;Kimi核心作用&#xff1a;将文本转换为视觉化PPT&#xff08;提供模板库与排版引擎&#xff09; 二、操作步骤详解 1. 通…...

web网络安全:跨站脚本攻击(XSS)

跨站脚本攻击&#xff08;XSS&#xff09;概述 跨站脚本攻击&#xff08;XSS&#xff0c;Cross-Site Scripting&#xff09; 是一种常见的 Web 安全漏洞&#xff0c;攻击者通过向受信任的网站注入恶意脚本&#xff08;通常是 JavaScript&#xff09;&#xff0c;诱使其他用户在…...

【Python爬虫(44)】分布式爬虫:筑牢安全防线,守护数据之旅

【Python爬虫】专栏简介&#xff1a;本专栏是 Python 爬虫领域的集大成之作&#xff0c;共 100 章节。从 Python 基础语法、爬虫入门知识讲起&#xff0c;深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑&#xff0c;覆盖网页、图片、音频等各类数据爬取&#xff…...

微信小程序:多菜单栏设计效果

一、实现效果 二、代码 wxml 编辑前端界面,步骤 菜单逻辑: 逐步取出数组中的项,首先取出顶部菜单项,然后选中后取出选中的底部数据(左侧菜单+右侧内容),然后点击左侧菜单取出选中的左侧菜单对应的右侧内容 ①这里我的数据是全部封装到一个数组对象的,首先我的循环…...

海康威视摄像头ISUP(原EHOME协议) 摄像头实时预览springboot 版本java实现,并可以在浏览器vue前端播放(附带源码)

1.首先说了一下为什么要用ISUP协议来取流 ISUP主要就是用来解决摄像头没有公网ip的情况,如果摄像头或者所在局域网的路由器有公网ip的话&#xff0c;其实采用rtsp直接取流是最方便也是性能最好的&#xff0c;但是项目的摄像头没有公网IP所以被迫使用ISUP&#xff0c;ISUP是海康…...

蓝桥杯之阶段考核

&#x1f4d6; Day 7&#xff1a;阶段考核 - 蓝桥杯官方模拟赛&#xff08;限时 4 小时&#xff09; &#x1f4d6; 一、如何高效完成模拟赛&#xff1f; 模拟赛是一种接近真实竞赛的训练方式。要高效完成模拟赛&#xff0c;需要掌握以下策略&#xff1a; 1. 赛前准备 ✅ 环…...

Python爬虫基础重要数据类型

重要数据类型 列表数据类型 在实际开发中&#xff0c;经常需要将一组&#xff08;不只一个&#xff09;数据存储起来&#xff0c;以便后边的代码使用。列表就是这样的一个数据结构。且列表是Python中最基本也是最常用的数据结构之一。什么是数据结构呢&#xff1f;通俗来讲&a…...

乐享数科:供应链金融—三个不同阶段的融资模式

供应链金融是与产业链紧密结合的融资模式&#xff0c;它主要体现在订单采购、存货保管、销售回款这三个不同的业务阶段&#xff0c;并针对这些阶段提供了相应的金融服务。以下是这三个阶段中主要的融资模式及其特点&#xff1a; 供应链金融融资模式主要分为以下几种&#xff1…...

springboot 百货中心供应链管理系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;百货中心供应链管理系统被用户普遍使用&#xff0c;为方…...

基于服务器使用 apt 安装、配置 Nginx

&#x1f9fe; 一、查看可安装的 Nginx 版本 首先&#xff0c;你可以运行以下命令查看可用版本&#xff1a; apt-cache madison nginx-core输出示例&#xff1a; nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

蓝桥杯 2024 15届国赛 A组 儿童节快乐

P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡&#xff0c;轻快的音乐在耳边持续回荡&#xff0c;小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下&#xff0c;六一来了。 今天是六一儿童节&#xff0c;小蓝老师为了让大家在节…...

vue3 字体颜色设置的多种方式

在Vue 3中设置字体颜色可以通过多种方式实现&#xff0c;这取决于你是想在组件内部直接设置&#xff0c;还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法&#xff1a; 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

AspectJ 在 Android 中的完整使用指南

一、环境配置&#xff08;Gradle 7.0 适配&#xff09; 1. 项目级 build.gradle // 注意&#xff1a;沪江插件已停更&#xff0c;推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...

pgsql:还原数据库后出现重复序列导致“more than one owned sequence found“报错问题的解决

问题&#xff1a; pgsql数据库通过备份数据库文件进行还原时&#xff0c;如果表中有自增序列&#xff0c;还原后可能会出现重复的序列&#xff0c;此时若向表中插入新行时会出现“more than one owned sequence found”的报错提示。 点击菜单“其它”-》“序列”&#xff0c;…...

当下AI智能硬件方案浅谈

背景&#xff1a; 现在大模型出来以后&#xff0c;打破了常规的机械式的对话&#xff0c;人机对话变得更聪明一点。 对话用到的技术主要是实时音视频&#xff0c;简称为RTC。下游硬件厂商一般都不会去自己开发音视频技术&#xff0c;开发自己的大模型。商用方案多见为字节、百…...

在Spring Boot中集成RabbitMQ的完整指南

前言 在现代微服务架构中&#xff0c;消息队列&#xff08;Message Queue&#xff09;是实现异步通信、解耦系统组件的重要工具。RabbitMQ 是一个流行的消息中间件&#xff0c;支持多种消息协议&#xff0c;具有高可靠性和可扩展性。 本博客将详细介绍如何在 Spring Boot 项目…...

设计模式-3 行为型模式

一、观察者模式 1、定义 定义对象之间的一对多的依赖关系&#xff0c;这样当一个对象改变状态时&#xff0c;它的所有依赖项都会自动得到通知和更新。 描述复杂的流程控制 描述多个类或者对象之间怎样互相协作共同完成单个对象都无法单独度完成的任务 它涉及算法与对象间职责…...

TI德州仪器TPS3103K33DBVR低功耗电压监控器IC电源管理芯片详细解析

1. 基本介绍 TPS3103K33DBVR 是 德州仪器&#xff08;Texas Instruments, TI&#xff09; 推出的一款 低功耗电压监控器&#xff08;Supervisor IC&#xff09;&#xff0c;属于 电源管理芯片&#xff08;PMIC&#xff09; 类别&#xff0c;主要用于 系统复位和电压监测。 2. …...