当前位置: 首页 > 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 注解有何区别…...

vscode里如何用git

打开vs终端执行如下&#xff1a; 1 初始化 Git 仓库&#xff08;如果尚未初始化&#xff09; git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

手游刚开服就被攻击怎么办?如何防御DDoS?

开服初期是手游最脆弱的阶段&#xff0c;极易成为DDoS攻击的目标。一旦遭遇攻击&#xff0c;可能导致服务器瘫痪、玩家流失&#xff0c;甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案&#xff0c;帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引&#xff0c;可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度&#xff08;创建索引的主要原因&#xff09;。3. 可以加速表和表之间的连接&#xff0c;实现数据的参考完整性。4. 可以在查询过程中&#xff0c;…...

基础测试工具使用经验

背景 vtune&#xff0c;perf, nsight system等基础测试工具&#xff0c;都是用过的&#xff0c;但是没有记录&#xff0c;都逐渐忘了。所以写这篇博客总结记录一下&#xff0c;只要以后发现新的用法&#xff0c;就记得来编辑补充一下 perf 比较基础的用法&#xff1a; 先改这…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

华为OD机试-食堂供餐-二分法

import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​&#xff1a; 下载安装DevEco Studio 4.0&#xff08;支持HarmonyOS 5&#xff09;配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​&#xff1a; ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

如何在最短时间内提升打ctf(web)的水平?

刚刚刷完2遍 bugku 的 web 题&#xff0c;前来答题。 每个人对刷题理解是不同&#xff0c;有的人是看了writeup就等于刷了&#xff0c;有的人是收藏了writeup就等于刷了&#xff0c;有的人是跟着writeup做了一遍就等于刷了&#xff0c;还有的人是独立思考做了一遍就等于刷了。…...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析&#xff08;97/126&#xff09;&#xff1a;邮件营销与用户参与度的关键指标优化指南 在数字化营销时代&#xff0c;邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天&#xff0c;我们将深入解析邮件打开率、网站可用性、页面参与时…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...