开源数据库Mysql_DBA运维实战 (DML/DQL语句)
DML/DQL
DML
INSERT 实现数据的 插入
实例:
DELETE 实现数据的 删除
实例:
UPDATE 实现数据的 更新
实例1:
实例2:
实例3:
DQL
DML/DQL
DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE
DQL语句 数据库查询语言:查询数据SELECT
DML
INSERT 实现数据的 插入
语法:完整插入 INSERT INTO ___表名___ VALUES(值1,值2,值3...值n);
部分插入 INSERT INTO ___表名___ (列名,列名) VALUES(值1,值2);
实例:
1.首先创建一个表
2.插入数据
DELETE 实现数据的 删除
语法:DELETE FROM ___表名____ WHERE CONDITION;
实例:
.删除数据
UPDATE 实现数据的 更新
语法:UPDATE 表名 SET 列名=值 WHERE CONDITION;
实例1:
1.准备一张表
mysql> create table t6(id int, name varchar(20));
2.插入数据
mysql> insert into t6 values (1,'aa');mysql> insert into t6 values (2,'bb');
3.更新数据 ----->把bb 改成 cc
mysql> update t6 set name='cc' where id=2;
4.查询结构
mysql> select * from t6;
实例2:
更新数据库的登录密码
mysql> update mysql.user set authentication_string=password("QianFeng@123456") where user="root";
实例3:
DQL
在MySQL管理软件中,可以通过SQL语句中的DQL语言来实现数据的
从数据表中提取满足特定条件的记录
- 单表查询
- 多表联合查询
DQL基础语法:
实例:
1.首先创建一个表
mysql> create database company;
mysql> CREATE TABLE company.employee5(id int primary key AUTO_INCREMENT not null,name varchar(30) not null,sex enum('male','female') default 'male' not null,hire_date date not null,post varchar(50) not null,job_description varchar(100),salary double(15,2) not null,office int,dep_id int);
插入数据
mysql> insert into company.employee5(name,sex,hire_date,post,job_description,salary,office,dep_id) values ('jack','male','20180202','instructor','teach',5000,501,100),('tom','male','20180203','instructor','teach',5500,501,100),('robin','male','20180202','instructor','teach',8000,501,100),('alice','female','20180202','instructor','teach',7200,501,100),('aofa','male','20180202','hr','hrcc',600,502,101),('harry','male','20180202','hr',NULL,6000,502,101),('emma','female','20180206','sale','salecc',20000,503,102),('christine','female','20180205','sale','salecc',2200,503,102),('zhuzhu','male','20180205','sale',NULL,2200,503,102),('gougou','male','20180205','sale','',2200,503,102);
2.简单查询
#查看所有列
SELECT * FROM 表名;#查部分列
SELECT 列1,列2,列3 FROM 表名;
#通过四则运算查询(查看年薪)SELECT name, salary, salary*14 FROM employee5;
3.条件查询
单条件查询 WHERE
a.查询hr部门的员工姓名
SELECT name,post FROM employee5 WHERE post='hr';
多条件查询AND/OR
a.查询hr部门的员工姓名,并且工资大于1000
SELECT name,salary FROM employee5 WHERE post='hr' AND salary>1000;
b.查询所有部门的员工姓名,并且工资是6000或者8000的员工
SELECT name, salary FROM employee5 WHERE salary=6000 OR salary=8000
关键字BETWEEN AND 在什么之间
a.需求:查一查薪资在5000到15000
SELECT name,salary FROM employee5 WHERE salary BETWEEN 5000 AND 15000;
b.需求:不在5000~15000呢?请使用NOT
SELECT name,salary FROM employee5 WHERE salary NOT BETWEEN 5000 AND 15000;
关键字IN集合查询
a.工资可能是4000,也可能是5000,还有可能是9000,怎么查
OR可以组合多条件,效率如何? SELECT name, salary FROM employee5 WHERE salary=4000 OR salary=5000 OR salary=6000 OR salary=9000 ;
关键字IS NULL
a.没有岗位描述的
空 SELECT name,job_description FROM employee5 WHERE job_description IS NULL;
非空 SELECT name,job_description FROM employee5 WHERE job_description IS NOT NULL;
关键字LIKE模糊查询
a.好像有个员工姓阿
SELECT * FROM employee5 WHERE name LIKE 'al%';SELECT * FROM employee5 WHERE name LIKE 'al___';
4.排序查询
实例:
a.例如以工资升序排列
SELECT * FROM 表名 ORDER BY 工资的列名 ASC;
b.例如以工资降序排列
SELECT * FROM 表名 ORDER BY 工资的列名 DESC;
c.工资最高的前五名
SELECT * FROM employee5 ORDER BY salary DESC LIMIT 5;
5.多表查询
创建员工信息表:
#创建表结构
create table info(
name char(50),
age int,
dep_num int,
level_num int);#查询表结构
desc info;#插入数据
insert into info values
('zhangsan',23,101,1),
('lisi',25,102,2),
('wangwu',30,102,3),
('zhaosi',30,103,4),
('sunba',35,NULL,NULL);#查询表
select * from info;
创建部门信息表:
#创建表结构
create table department(
dep_num int,
dep_name varchar(50),
dep_des varchar(100));#插入数据
insert into department values
(101,'hr','recruit,training'),
(102,'tec','system,network,service'),
(103,'exp','C++,python,php'),
(104,'admin','administrator');#查看表结构
desc department;#查看表
select * from department;
示图:
多表的连接查询:
a.交叉连接
特点:全部组合(A表5行,B表7行,最后5*7=35行)
生成笛卡尔积,它不使用任何匹配条件
select info.name,info.age,info.dep_num,department.dep_name from info,department;
b.内连接
特点:两列相同时,才会显示
语法:SELECT 字段列表 FROM 表1 , 表2 WHERE 表1.字段 = 表2.字段;
select info.name,info.age,info.dep_num,department.dep_name from info,department where info.dep_num = department.dep_num;
c.外连接
特点:两列相同时显示,并,已左/右表为主。
语法:A表 left join B表 on 条件是
外连接(左连接 left join on)
找出所有员工及所属的部门,包括没有部门的员工
查看所有员工的部门信息。
select info.name,info.age,info.dep_num,department.dep_name from info left join department on info.dep_num = department.dep_num;
外连接(右连接right join on)
显示所有的部门的员工信息。
select info.name,info.age,info.dep_num,department.dep_name from info right join department on info.dep_num = department.dep_num;
子查询:
子查询是指:父查询 需要 依赖 子查询的结果。
子查询中可以包含:IN、NOT IN、ANY、ALL、EXISTS 和 NOT EXISTS等关键字
还可以包含比较运算符:= 、 !=、> 、<等
EXISTS关字键字表示存在。在使用EXISTS关键字时,内层查询语句不返回查询的记录,而是返回一个真假值。
Ture或False,当返回Ture时,外层查询语句将进行查询;当返回值为False时,外层查询语句不进行查询
1. 带IN关键字的子查询(范围)
查询员工年龄大于等于25岁的部门
select dep_num,dep_name from department where dep_num in (select distinct dep_num from info where age >=25);
2. 带EXISTS关键字的子查询(返回值)
如果部门101存在(返回为真),查询所有员工信息。
trueselect * from info where exists (select * from department where dep_num=102);falseselect * from info where exists (select * from department where dep_num=105);
相关文章:

开源数据库Mysql_DBA运维实战 (DML/DQL语句)
DML/DQL DML INSERT 实现数据的 插入 实例: DELETE 实现数据的 删除 实例: UPDATE 实现数据的 更新 实例1: 实例2: 实例3: DQL DML/DQL DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELE…...

【LangChain】Memory
概要 大多数LLM应用都有对话界面。对话的一个重要组成部分是能够引用对话中先前介绍的信息。至少,对话系统应该能够直接访问过去消息的某些窗口。更复杂的系统需要有一个不断更新的世界模型,这使得它能够执行诸如维护有关实体及其关系的信息之类的事情。…...

Java并发编程(六)线程池[Executor体系]
概述 在处理大量任务时,重复利用线程可以提高程序执行效率,因此线程池应运而生。 它是一种重用线程的机制,可以有效降低内存资源消耗提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行线程池可以帮助我们更好地管理线程的生命周期和资源使用,…...

macOS CLion 使用 bits/stdc++.h
macOS 下 CLion 使用 bits/stdc.h 头文件 terminal运行 brew install gccCLion里配置 -D CMAKE_CXX_COMPILER/usr/local/bin/g-11...

PS出现的问题——为什么PS另存的格式少了很多
在WIN11系统里面新安装的22和23版本PS会出现另存格式少的情况 解决方式:编辑——首选项——文件处理——开启旧版储存为 解决...
【Linux】进程通信篇Ⅱ:共享内存、消息队列、信号量
文章目录 一、共享内存1.1 一些接口1. shmget 函数:申请一个 system v 的共享内存块2. ftok 函数:设置唯一标识码3. shmctl 函数:控制 system v 的共享内存块(可以删除、查看...)4. shmat 函数:将进程与共享…...
8.14 校招 内推 面经
绿泡泡: neituijunsir 交流裙,内推/实习/校招汇总表格 1、半导体芯片一周资讯 - 小米OPPO之后,星纪魅族调整芯片业务,今年应届生或被全部优化,英伟达2024推出比H100更快的芯片 半导体芯片一周资讯 - 小米OPPO之后&…...

阿里云服务器安装部署Docker使用教程
本文阿里云百科分享如何在云服务ECS实例上,部署并使用Docker。Docker是一款开源的应用容器引擎,具有可移植性、可扩展性、高安全性和可管理性等优势。开发者可将应用程序和依赖项打包到一个可移植的容器中,快速发布到Linux机器上并实现虚拟化…...

WebRTC | ICE详解
目录 一、Candidate种类与优先级 二、ICE策略 1. iceServers 2. iceTransportPolicy 三、P2P连接 1.Nat类型 (1)完全锥型NAT (2)IP限制锥型NAT (3)端口限制锥型NAT (4)对称…...

网络设备(防火墙、路由器、交换机)日志分析监控
外围网络设备(如防火墙、路由器、交换机等)是关键组件,因为它们控制进出公司网络的流量。因此,监视这些设备的活动有助于 IT 管理员解决操作问题,并保护网络免受攻击者的攻击。通过收集和分析这些设备的日志来监控这些…...

2023年国赛数学建模思路 - 复盘:人力资源安排的最优化模型
文章目录 0 赛题思路1 描述2 问题概括3 建模过程3.1 边界说明3.2 符号约定3.3 分析3.4 模型建立3.5 模型求解 4 模型评价与推广5 实现代码 建模资料 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 描述 …...

Compute shader SV 理解图
本图转子:【Computeshader】个人总结_蒋伟博的博客-CSDN博客...

生信豆芽菜-多种算法计算免疫浸润
网址:http://www.sxdyc.com/immuneInfiltration 一、使用方法 1、数据准备 一个全编码蛋白的表达谱基因,其中行为基因,列为样本 第一列为基因为行名,不能重复 2、选择计算的方法(这里提供了5种免疫计算的方法&#x…...

逆向破解学习-单机斗地主
试玩 破解思路 9000 是成功的代码 Hook代码 import de.robv.android.xposed.XC_MethodHook; import de.robv.android.xposed.XposedHelpers; import de.robv.android.xposed.callbacks.XC_LoadPackage; public class HookComJuneGameDouDiZhu extends HookImpl{ Override p…...

matplotlib绘制位置-时序甘特图
文章目录 1 前言2 知识点2.1 matplotlib.pyplot.barh2.2 matplotlib.legend的handles参数 3 代码实现4 绘制效果5 总结参考 1 前言 这篇文章的目的是,总结记录一次使用matplotlib绘制时序甘特图的经历。之所以要绘制这个时序甘特图,是因为22年数模研赛C…...

数据库概述、部署MySQL服务、必备命令、密码管理、安装图形软件、SELECT语法 、筛选条件
Top NSD DBA DAY01 案例1:构建MySQL服务器案例2:密码管理案例3:安装图形软件案例4:筛选条件 1 案例1:构建MySQL服务器 1.1 问题 在IP地址192.168.88.50主机和192.168.88.51主机上部署mysql服务练习必备命令的使用 …...

概率论与数理统计:第四章:随机变量的数字特征
文章目录 Ch4. 随机变量的数字特征1. 数学期望E(X)(1)数学期望的概念1.离散型①一维离散型随机变量X的数学期望: E X EX EX②一维离散型随机变量的函数的期望: E [ g ( X ) ] E[g(X)] E[g(X)]③二维离散型随机变量的函数的期望: E [ g ( X , …...
解决饿了么ui的对话框缩放和移动
import Vue from "vue";// v-dialogDrag: 弹窗拖拽水平方向伸缩 /** 使用方法* 将以下代码复制到一个js文件中,然后在入口文件main.js中import引入即可;* 给elementUI的dialog上加上 v-dialogDrag 指令就可以实现弹窗的全屏和拉伸了。* 给…...
Linux 中复制文件并保持修改时间等属性
一、遇到的问题 Linux使用cp命令复制文件备份时,发现文件的修改时间变成当前时间了,想要保留备份文件原有的修改时间及其它文件属性。 二、实现 1、cp命令 在 Linux 中,你可以使用 cp 命令来复制文件,并通过 -p 或 --preserve…...

Hugging News #0814: Llama 2 学习资源大汇总
每一周,我们的同事都会向社区的成员们发布一些关于 Hugging Face 相关的更新,包括我们的产品和平台更新、社区活动、学习资源和内容更新、开源库和模型更新等,我们将其称之为「Hugging News」。本期 Hugging News 有哪些有趣的消息࿰…...

IDEA运行Tomcat出现乱码问题解决汇总
最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...

XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...
可靠性+灵活性:电力载波技术在楼宇自控中的核心价值
可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...

Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
【AI学习】三、AI算法中的向量
在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...

Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...

七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...