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

老杜MySQL入门基础 第二天

导入演示数据

1、连接MySQL
2、创建"bjpowernode"数据库

create database bjpowernode;

3、选择数据库

use bjpowernode

4、导入数据

source D:\bjpowernode.sql(文件的路径)

1 去除重复记录(把查询结果去除重复记录)(原表数据不会改变)

使用关键字distinct

1 select job from emp;
2 select distinct job from emp;

注意:distinct只能出现在所有字段的最前方

distinct出现在job和deptno两个字段之前,表示两个字段联合起来去重
select distinct job,deptno from emp;
select job,deptno from emp;

统计工作岗位的数量:
select count(distinct job) from emp;

2 连接查询(多张表联合起来查询数据)

笛卡尔积现象

当两张表进行连接查询 没有任何条件限制的时候 最终查询结果的条数 是两张表条数的乘积

如何避免笛卡尔积现象

连接时 加条件 满足这个条件的 记录被筛选出来

select ename,dname
from emp,dept
where emp.deptno = dept.deptno;

表起别名

select e.ename,d.dname
from emp e,dept d
where e.deptno = d.deptno;

表的连接次数越多 效率越低

3 内连接之等值连接

select e.ename,d.dname 
from emp e,dept d 
where e.deptno = d.deptno;
或者
select e.ename,d.dname 
from emp e
join dept d 
on e.deptno = d.deptno;
或者
select e.ename,d.dname 
from emp e
inner join dept d  //inner可以省略
on e.deptno = d.deptno;

select …
from a
join b
on a和b的连接条件
where 筛选条件;

4 内连接之非等值连接

条件不是一个等量关系,称为非等值连接
select e.ename,e.sal,s.grade
from emp e
(inner) join salgrade s
on e.sal between s.losal and s.hisal;

5 内连接之自连接

一张表看成是两张表

select a.ename as ’员工名‘,b.ename as '领导名'
from emp a
join emp b
on a.mgr = b.empno;

6 外连接

1、右外连接(right)
select e.ename,d.dname 
from emp e right join dept d 
on e.deptno = d.deptno;
right代表着:表示将join关键字右边的这张表看成主表,
主要是为了将这张表的数据全部查询出来,
捎带着关联查询左边的表在外连接中,两张表连接产生了主次关系
在内连接中,两张表是平等的2、左外连接(left)
select e.ename,d.dname 
from dept d left join emp e 
on e.deptno = d.deptno;3、在join前面右outer可以省略
select e.ename,d.dname 
from emp e 
right outer join dept d 
on e.deptno = d.deptno;
或者
select e.ename,d.dname 
from dept d 
left outer join emp e 
on e.deptno = d.deptno;

外连接的查询结果条数是不是一定是大于等于内连接的查询结果条数?

正确

7 多张表的连接(三张或者四张表的连接)

select ...
from a
join b
on a和b的连接条件
join c
on a和c的连接条件
join d
on a和d的连接条件

8 子查询

select语句中嵌套select语句,被嵌套的select语句称为子查询select...(select)
from...(select)
where...(select)

9 where子句中的子查询

10 from子句中的子查询

11 select子句中的子查询

12 union合并查询结果集

union在进行结果集合并的时候,要求两个结果集的列数要相同。

13 limit

limit将查询结果的一部分取出来,通常使用在分页查询当中。

MySQL当中 limit 在 order by 之后执行

limit 加两个参数 (第一个参数是起始位置,第二个参数是长度)
起始位置是从0开始
limit后面加一个参数 就表示长度

14 分页

limit (pageNo-1)*pageSize,pageSize
pageNo是当前所在第几页
pageSize是每页显示的记录数目

15 关于DQL语句的总结

select
from
where
group by
having
order by
limit

执行顺序:
1、from
2、where
3、group by
4、having
5、select
6、order by
7、limit

16 表的创建(建表)

建表属于DDL语句:create、drop、alter

create table 表名(
字段名1 数据类型,
字段名2 数据类型,
字段名3 数据类型
);

17 关于MySQL中的数据类型

varchar(最长255)可变长度的字符串会根据实际的数据长度 动态分配空间char(最长255)定长字符串不管实际的数据长度是多少分配固定长度的空间去存储数据int(最长11)bigint长整型
floatdoubledate短日期类型
datetime长日期类型clob字符大对象最多可以存储4G的字符串超过255个字符的都要采用clob字符大对象来存储blob二进制大对象存储图片、声音...插入数据需要使用IO流

18 删除表

drop table 表名;
或者
drop table if exists 表名;
//如果这张表存在就删除

19 insert语句(DML语句)

insert into 表名(字段名1,字段名2...) values(值1,值2...);
字段名要与值一一对应:数量要对应,数据类型也要对应

可以在建表的时候:使用default的方式来指定默认值
如果省略了的前面的字段名,相当于都写上
所以说后面的值都要给出

20 insert插入日期

str_to_date:将字符串varchar类型转换为date类型
date_format:将date类型转换为具有一定格式的varchar字符串类型

21 修改update(DML语句)

update 表名 set 字段名1 = 值1,字段名2 = 值2,字段名3 = 值3... where 条件;
注意:没有条件限制会导致所有的数据全部更新

22 删除数据delete(DML语句)

delete from 表名 where 条件;
注意:没有条件会导致整张表的数据全部删除

相关文章:

老杜MySQL入门基础 第二天

导入演示数据 1、连接MySQL 2、创建"bjpowernode"数据库 create database bjpowernode;3、选择数据库 use bjpowernode4、导入数据 source D:\bjpowernode.sql(文件的路径)1 去除重复记录(把查询结果去除重复记录)(原表数据不会改变) 使用关键字dist…...

Python深度学习实战:人脸关键点(15点)检测pytorch实现

引言 人脸关键点检测即对人类面部若干个点位置进行检测,可以通过这些点的变化来实现许多功能,该技术可以应用到很多领域,例如捕捉人脸的关键点,然后驱动动画人物做相同的面部表情;识别人脸的面部表情,让机…...

linux简单入门

目录Linux简介Linux目录结构Linux文件命令文件处理命令文件查看命令常用文件查看命令Linux的用户和组介绍Linux权限管理Linux简介 Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯本纳第克特托瓦兹&#xff0…...

给准备面试网络工程师岗位的应届生一些建议

你听完这个故事,应该会有所收获。最近有一个23届毕业的大学生和我聊天,他现在网络工程专业大四,因为今年6、7月份的时候毕业,所以现在面临找工作的问题。不管是现在找一份实习工作,还是毕业后找一份正式工作&#xff0…...

主线程与子线程之间相互通信(HandlerThread)

平时,我们一般都是在子线程中向主线程发送消息(要在主线程更新UI),从而完成请求的处理。那么如果需要主线程来向子线程发送消息,希望子线程来完成什么任务。该怎么做?这就是这篇文章将要讨论的内容。 一、…...

13基于双层优化的电动汽车日前-实时两阶段市场竞标

MATLAB代码:基于双层优化的电动汽车日前-实时两阶段市场竞标 关键词:日前-实时市场竞标 电动汽车 双层优化 编程语言:MATLAB平台 参考文献:考虑电动汽车可调度潜力的充电站两阶段市场投标策略_詹祥澎 内容简介:…...

REDIS19_zipList压缩列表详解、快递列表 - QuickList、跳表 - SkipList

文章目录①. 压缩列表 - zipList②. 快递列表 - QuickList③. 跳表 - SkipList①. 压缩列表 - zipList ①. ZipList是一种特殊的"双端链表",由一系列特殊编码的连续内存块组成。可以在任意一端进行压入/弹出操作,并且该操作的时间复杂度为O(1) (oxff:11111111) type…...

JavaScript 基础 - 第3天

文章目录JavaScript 基础 - 第3天笔记数组数组的基本使用定义数组和数组单元数据单元值类型数组长度属性操作数组JavaScript 基础 - 第3天笔记 数组 数组的基本使用 定义数组和数组单元 <script>// 1. 语法&#xff0c;使用 [] 来定义一个空数组// 定义一个空数组let…...

23.3.26总结

康托展开 是一个全排列与自然数的映射关系&#xff0c;康托展开的实质是计算当前序列在所有从小到大的全排列中的顺序&#xff0c;跟其逆序数有关。 例如&#xff1a;对于 1,2,3,4,5 来说&#xff0c;它的康托展开值为 0*4&#xff01;0*3&#xff01;0*2&#xff01;0*1&…...

【Java学习笔记】37.Java 网络编程

Java 网络编程 网络编程是指编写运行在多个设备&#xff08;计算机&#xff09;的程序&#xff0c;这些设备都通过网络连接起来。 java.net 包中 J2SE 的 API 包含有类和接口&#xff0c;它们提供低层次的通信细节。你可以直接使用这些类和接口&#xff0c;来专注于解决问题&…...

Azure OpenAI 官方指南03|DALL-E 的图像生成功能与安全过滤机制

2021年1月&#xff0c;OpenAI 推出 DALL-E。这是 GPT 模型在图像生成方面的人工智能应用。其名称来源于著名画家、艺术家萨尔瓦多 • 达利&#xff08;Dal&#xff09;和机器人总动员&#xff08;Wall-E&#xff09;。DALL-E 图像生成器&#xff0c;能够直接根据文本描述生成多…...

【数据结构】堆

文章目录前言堆的概念及结构堆初始化堆的判空堆的销毁插入数据删除数据堆的数据个数获取堆顶数据用数组创建堆对数组堆排序有关topk问题整体代码展示写在最后前言 &#x1f6a9;前面了解了树&#xff08;-> 传送门 <-&#xff09;的概念后&#xff0c;本章带大家来实现一…...

电脑硬盘文件数据误删除/格式化为什么可以恢复? 怎么恢复?谈谈文件删除与恢复背后的原理

Hello 大家好&#xff0c; 我是元存储~ 主页&#xff1a;元存储的博客_CSDN博客 1. 硬盘数据丢失场景 我们在每天办公还是记录数据的时候&#xff0c;文件存储大多数都是通过硬盘进行存储的&#xff0c;因此&#xff0c;使用多了&#xff0c;各种问题就会出现&#xff0c;比如…...

Gateway服务网关

Spring Cloud Gateway为微服务架构提供一种简单有效的统一的 API 路由管理方式。Gateway网关是所有微服务的统一入口。网关的核心功能特性&#xff1a;请求路由和负载均衡&#xff1a;一切请求都必须先经过gateway&#xff0c;但网关不处理业务&#xff0c;而是根据某种规则&am…...

K8S + GitLab + Jenkins自动化发布项目实践(一)

K8S GitLab Jenkins自动化发布项目实践&#xff08;一&#xff09;发布流程设计安装Docker服务部署Harbor作为镜像仓库部署GitLab作为代码仓库常用Git命令发布流程设计 #mermaid-svg-pe9VmFytb9GmqMvG {font-family:"trebuchet ms",verdana,arial,sans-serif;font-…...

【数据结构篇C++实现】- 堆

文章目录&#x1f680;一、堆的原理精讲⛳&#xff08;一&#xff09;堆的概念⛳&#xff08;二&#xff09;看图识最大堆⛳&#xff08;三&#xff09;详解堆是用数组表示的树&#x1f680;二、堆的向下调整算法&#x1f680;三、堆的向上调整算法&#x1f680;四、将任意一棵…...

C++笔试题

作用域运算符(::)的作用&#xff1a;1.存在具有相同名称的局部变量时&#xff0c;访问全局变量。2.在类之外定义类相关函数。3.访问类的静态变量。4.在多重继承的情况下&#xff0c;如果两个基类中存在相同的变量名&#xff0c;可以使用作用域运算符来进行区分。5.限定成员函数…...

【Python】基本语法

数据类型 通过 print(type(x)) 可以输出 x 的数据类型&#xff0c;type() 函数可以获取数据类型 整数 a 10 print(type(a)) 浮点数 a 0.5 print(type(a)) 字符串 a hello print(type(a)) 获取字符串长度 a hello print(len(a))字符串拼接 a hello b world prin…...

用栈实现队列(图示超详解哦)

全文目录引言用栈实现队列题目介绍思路简述实现栈的部分队列的部分创建队列判断队列是否为空在队列尾入在队列头出访问队头元素释放队列总结引言 在上一篇文章中&#xff0c;我们了解了用两个队列实现栈。在这篇问章中将继续介绍用两个栈实现队列的OJ练习&#xff1a; 用栈实现…...

Spring - Spring 注解相关面试题总结

文章目录01. Spring 配置方式有几种&#xff1f;02. Spring 如何实现基于xml的配置方式&#xff1f;03. Spring 如何实现基于注解的配置&#xff1f;04. Spring 如何基于注解配置bean的作用范围&#xff1f;05. Spring Component, Controller, Repository, Service 注解有何区别…...

Cursor实现用excel数据填充word模版的方法

cursor主页&#xff1a;https://www.cursor.com/ 任务目标&#xff1a;把excel格式的数据里的单元格&#xff0c;按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例&#xff0c;…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性&#xff1a;电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中&#xff0c;电力载波技术&#xff08;PLC&#xff09;凭借其独特的优势&#xff0c;正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据&#xff0c;无需额外布…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

【Go】3、Go语言进阶与依赖管理

前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课&#xff0c;做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程&#xff0c;它的核心机制是 Goroutine 协程、Channel 通道&#xff0c;并基于CSP&#xff08;Communicating Sequential Processes&#xff0…...

Swagger和OpenApi的前世今生

Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章&#xff0c;二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑&#xff1a; &#x1f504; 一、起源与初创期&#xff1a;Swagger的诞生&#xff08;2010-2014&#xff09; 核心…...

08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险

C#入门系列【类的基本概念】&#xff1a;开启编程世界的奇妙冒险 嘿&#xff0c;各位编程小白探险家&#xff01;欢迎来到 C# 的奇幻大陆&#xff01;今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类&#xff01;别害怕&#xff0c;跟着我&#xff0c;保准让你轻松搞…...

深入理解Optional:处理空指针异常

1. 使用Optional处理可能为空的集合 在Java开发中&#xff0c;集合判空是一个常见但容易出错的场景。传统方式虽然可行&#xff0c;但存在一些潜在问题&#xff1a; // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...

Linux-进程间的通信

1、IPC&#xff1a; Inter Process Communication&#xff08;进程间通信&#xff09;&#xff1a; 由于每个进程在操作系统中有独立的地址空间&#xff0c;它们不能像线程那样直接访问彼此的内存&#xff0c;所以必须通过某种方式进行通信。 常见的 IPC 方式包括&#…...

【深尚想】TPS54618CQRTERQ1汽车级同步降压转换器电源芯片全面解析

1. 元器件定义与技术特点 TPS54618CQRTERQ1 是德州仪器&#xff08;TI&#xff09;推出的一款 汽车级同步降压转换器&#xff08;DC-DC开关稳压器&#xff09;&#xff0c;属于高性能电源管理芯片。核心特性包括&#xff1a; 输入电压范围&#xff1a;2.95V–6V&#xff0c;输…...