数据库基础复习笔记
数据库
相关概念
名称 | 全称 | 检查 |
---|---|---|
数据库 | 存储数据的仓库,数据是有组织的进行存储 | DataBase(DB) |
数据库管理系统 | 操作和管理数据库的大型软件 | DataBase Management System(DBMS) |
SQL | 操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准 | Structured Query Language(SQL) |
主流的关系型数据库:
- Oracle:收费且昂贵
- MySQL:收费+免费
- Microsoft SQL Server :微软,收费
MySQL数据库
-
关系型数据库(RDBMS)
概念:建立在关系模型基础上,由多张相互连接的二维表组成的数据库。
特点:1、使用表存储数据,格式统一,便于维护;2、使用SQL语言操作,标准统一,使用方便。
SQL通用语法
- SQL语句可以多行书写可以单行书写,以分号结尾;
- SQL语句可以使用空格/缩进来增强语句的可读性;
- MySQL数据库的SQL语句不区分大小写,关键字建议使用大写;
- 注释:
- 单行注释:–注释内容 或 # 注释内容(MySQL特有)
- 多行注释:/* 注释内容*/
SQL分类
分类 | 全称 | 说明 |
---|---|---|
DDL | Data Definition Language | 数据定义语言,用来定义数据库对象(数据库,表,字段) |
DML | Data Manipulatiuon Language | 数据操作语言,用来对数据库表中的数据进行增删改 |
DQL | Data Query Language | 数据查询语言,用来查询数据库中表的记录 |
DCL | Data Control Language | 数据控制语言,用来创建数据库用户、控制数据库的访问权限 |
DML
介绍
DML英文全称为:Data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进行增删改操作。
01添加数据 INSERT
1、给指定字段添加数据
INSERT INTO 表名 (字段1,字段2,...) VALUES (值1,值2,...);
2、给全部字段添加数据
INSERT INTO 表名 VALUES (值1,值2,...);
3、批量添加数据
INSERT INTO 表名 VALUES (值1,值2,...),(值1,值2,...),(值1,值2,...);
INSERT INTO 表名 VALUES (值1,值2,...),(值1,值2,...),(值1,值2,...);
02修改数据 UPDATE
UPDATE 表名 SET 字段名1 = 值1,字段名2 = 值2,...[WHERE 条件];
03删除数据 DELETE
DELETE FROM 表名 [WHERE 条件];
DQL
介绍
DQL英文全称Data Query Language(数据查询语言),数据查询语言,用来查询数据库中表的记录。
语法
SELECT 字段列表FROM 表名列表WHERE 条件列表GROUP BY 分组字段列表HAVING 分组后条件列表ORDER BY 排序字段列表LIMIT 分页参数
基本查询
1、查询多个字段
SELECT 字段1,字段2,字段3...FROM 表名;
SELECT * FROM 表名
2、去除重复记录
SELECT DISTINCT 字段列表 FROM 表名;
条件查询
SELECT 字段列表 FROM 表名 WHERE 条件列表;
聚合函数
介绍
将一列数据作为一个整体,进行纵向计算。
常见聚合函数
函数 | 功能 |
---|---|
count | 统计数量 |
max | 最大值 |
min | 最小值 |
avg | 平均值 |
sum | 求和 |
语法
SELECT 聚合函数(字段列表) FROM 表名;
[!CAUTION]
null值不参与聚合函数运算!
分组查询
语法
SELECT 字段列表 表名 [WHERE 条件] GROUP BY 分组字段名 [HAVING 分组后过滤条件];
执行顺序:where>聚合函数>having
排序查找
语法
SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1,字段2,排序方式2;
排序方式:
- ASC:升序(默认值)
- SESC:降序
[!CAUTION]
如果是多字段排序,当第一个字段值相同时,才会依据第二个字段进行排序。
分页查询
语法
SELECT 字段列表 FROM 表名 LIMIT 起始索引,查询记录数;
注意!!!
- 起始索引从0开始,起始索引 = (查询页面 - 1) * 每页显示的记录数。
- 分页查询是数据库的方言,不同数据库有不同,LIMIT是MySQL的实现方式。
- 如果查询的是第一页数据,起始索引可以省略不写,直接简写为limit 10。
DQL-执行顺序
FROM > WHERE > GROUP BY > SELECT > ORDER BY > LIMIT
上面所有用的SQL语句
show databases ;
show tables ;
desc user;INSERT INTO user(id, name, age, workno, gender, idcard, entrydate) VALUES (1,'tom',18,'1','男','123456789098765432','2000-01-03');
select * from user;
INSERT INTO user(id, name, age, workno, gender, idcard, entrydate) VALUES (1,'nike',-1,'2','男','123456733398765432','2003-06-03');
insert into user values(4,'mei',19,'6','女','123456733398765432','2003-06-03');
select * from user;
insert into user values (5,'nnn',19,'6','女','123456733398765432','2003-06-03'),(8,'mmm',19,'6','女','123456733398765432','2003-06-03')
select * from user;update user set name = 'itheima' where id = 1;
select * from user;update user set name = '小三',gender = '女' where id=1;
update user set entrydate = '2008-01-01';delete from user where id = 1;
delete from user ;insert into user(id,workno,name,gender,age,idcard,workaddress,entrydate)
values (1,'1','刘岩','女','20','123456789012345678','北京','2000-01-01'),(2,'2','张无忌','男','18','123456789012347778','北京','2005-09-01'),(3,'3','韦一笑','男','38','123456789015545678','上海','2005-08-01'),(4,'4','赵敏','女','18','123456789055555678','北京','2009-12-01'),(5,'5','小昭','女','16','123456789012745678','上海','2007-07-01'),(6,'6','杨逍','男','28','123456789012345698','北京','2006-01-01'),(7,'7','刘岩','女','20','123456789012375678','北京','2000-01-01');select name,workno,age from user;
select * from user;
select workaddress as '工作地址' from user;
select distinct workaddress from user;select * from user where age = 18;
select * from user where age < 19;
select * from user where age <= 20;
select * from user where idcard is null;
select * from user where idcard is not null;
select * from user where age != 18;
select * from user where age >= 15 and age < 20;
select * from user where gender = '女' and age < 25;
select * from user where age = 18 or age = 20 or age = 28;
select * from user where age in (18,20,28);
select * from user where name like '__';
select * from user where name like '___';
select * from user where idcard like '%8';select count(*) from user;
select count(idcard) from user;
select avg(age) from user;
select max(age) from user;
select min(age) from user;
select sum(age) from user where workaddress = '北京';select gender,count(*) gender from user group by gender;
select gender,avg(age) gender from user group by gender;
select workaddress,count(*) from user where age < 45 group by workaddress having count(*) >= 3;select *from user order by age asc ;
select *from user order by age desc;
select *from user order by entrydate desc ;
select *from user order by age asc , entrydate desc ;select *from user limit 0,5;
select *from user limit 1,5;select *from user where gender = '女' and age in (20,21,22,23);
select *from user where gender = '男' and ( age between 20 and 40 )and name like '___';
select gender,count(*) from user where age<60 group by gender;
select name,age from user where age <= 35 order by age asc ,entrydate desc;
select * from user where gender= '男' and age between 20 and 40 order by age,entrydate asc limit 2;select name,age from user where age > 15 order by age asc ;
相关文章:
数据库基础复习笔记
数据库 相关概念 名称全称检查数据库存储数据的仓库,数据是有组织的进行存储DataBase(DB)数据库管理系统操作和管理数据库的大型软件DataBase Management System(DBMS)SQL操作关系型数据库的编程语言,定义了一套操作关系型数据库…...

MySQL基础关键_013_常用 DBA 命令
目 录 一、MySQL 用户信息存储位置 二、新建用户 1.创建本地用户 2.创建外网用户 三、用户授权 1.说明 2.实例 四、撤销授权 五、修改用户密码 六、修改用户名、主机名/IP地址 七、删除用户 八、数据备份 1.导出数据 2.导入数据 (1)方式…...
爬虫请求频率应控制在多少合适?
爬虫请求频率的控制是一个非常重要的问题,它不仅关系到爬虫的效率,还涉及到对目标网站服务器的影响以及避免被封禁的风险。合理的请求频率需要根据多个因素来综合考虑,以下是一些具体的指导原则和建议: 一、目标网站的政策 查看网…...
探秘网络邮差:FTP、Telnet、SMTP、NFS、SNMP介绍
引言:谁是网络世界的“邮差”? 想象一下,你正在网上冲浪——发送一封邮件、上传一份文件、远程登录服务器,甚至只是打开一个网页。这些看似简单的操作背后,其实有一群默默无闻的“邮差”在辛勤工作。它们就是应用层协…...

java基础:异常体系
目录 一、java异常体系介绍二、异常1、运行时异常2、非运行时异常 三、错误四、异常的处理方式1、方式1:throws声明抛出异常1.1、throws关键字1.2、throw关键字 2、方式2:try-catch-finally 一、java异常体系介绍 异常体系图如下: Throwable…...
CSS Grid布局:从入门到实战
CSS Grid布局:从入门到实战 一、初识Grid布局 还在为网页布局发愁吗?Flexbox虽然好用,但当遇到复杂布局时,CSS Grid才是真正的王者。Grid布局是CSS中最强大的二维布局系统,它就像一张无形的网格纸,让我们…...

记录算法笔记(20025.5.14)对称二叉树
给你一个二叉树的根节点 root , 检查它是否轴对称。 示例 1: 输入:root [1,2,2,3,4,4,3] 输出:true 示例 2: 输入:root [1,2,2,null,3,null,3] 输出:false 提示: 树中节点数目…...

QT Creator配置Kit
0、背景:qt5.12.12vs2022 记得先增加vs2017编译器 一、症状: 你是否有以下症状? 1、用qt新建的工程,用qmake,可惜能看见的只有一个pro文件? 2、安装QT Creator后,使用MSVC编译显示no c com…...

JVM 与云原生的完美融合:引领技术潮流
最近佳作推荐: Java 大厂面试题 – 揭秘 JVM 底层原理:那些令人疯狂的技术真相(New) Java 大厂面试题 – JVM 性能优化终极指南:从入门到精通的技术盛宴(New) Java 大厂面试题 – JVM 深度剖析&…...
Ubuntu24.04编译ORB_SLAM的一系列报错解决
Ubuntu24.04编译ORB_SLAM的一系列报错解决 decay_t报错 报错信息:error: ‘decay_t’ is not a member of ‘std’;did you mean ‘decay’ 将CMakeLists.txt中第17行的c标准修改为c14即可: 修改前: CHECK_CXX_COMPILER_FLAG…...

为何大模型都使用decoder-only?
第一章 架构之争的历史脉络 1.1 从双向到单向的革命 2017年,BERT的横空出世让双向注意力机制成为NLP领域的“武林盟主”。通过Masked Language Modeling(MLM),BERT在阅读理解、情感分析等任务中展现出惊人的表现,但它…...
《Effective Python》第2章 字符串和切片操作——Python 字符串格式化的现代选择f-strings
引言 本篇博客基于学习《Effective Python》第三版 Chapter 2: Strings and Slicing 的 Item 11 “Prefer Interpolated F-Strings Over C-style Format Strings and str.format” 的总结与延伸。 字符串格式化是 Python 编程中的常见操作,用于动态生成可读性高的…...

企业报表平台如何实现降本增效
一、你的企业是否正被这些问题拖累? 财务还在手动汇总各门店的Excel销售数据;市场部总抱怨“客户分析全靠拍脑袋”;仓库突然发现爆款断货,但上周的报表显示库存充足…… 这些场景你是否熟悉?数据散落在ERP、E…...

Ollama+OpenWebUI+docker完整版部署,附带软件下载链接,配置+中文汉化+docker源,适合内网部署,可以局域网使用
前言: 因为想到有些环境可能没法使用外网的大模型,所以可能需要内网部署,看了一下ollama适合小型的部署,所以就尝试了一下,觉得docker稍微简单一点,就做这个教程的,本文中重要的内容都会给下载…...
git push 报错:send-pack: unexpected disconnect while reading sideband packet
背景 新建了一个仓库,第一次push 代码文件,文件中有一个依赖的jar,有80MB,结果push的时候报错。 错误信息 error: RPC failed; HTTP 500 curl 22 The requested URL returned error: 500 send-pack: unexpected disconnect whi…...
考研英一真题学习笔记 2018年
2018 年全国硕士研究生招生考试 英语 (科目代码:201) Section Ⅰ Use of English Directions: Read the following text. Choose the best word(s) for each numbered blank and mark A, B, C or D on the ANSWER SHEET. (10 points) Trust i…...

ultralytics中tasks.py---parse_model函数解析
一、根据scale获取对应的深度、宽度和最大通道数 具体例如yaml文件内容如下: depth=0.33,那么重复的模块例如C2f原本重复次数是3,6,6,3,那么T对应的模型重复次数就是三分之一即1,1,2,1次。这个在后面定义的: width=0.25,max_channels=1024 原本c2=64,但经过make_div…...
Java知识框架
一、Java 基础语法 1. 基础语法 数据类型 基本类型:int, double, boolean, char 等 引用类型:String, 数组, 对象 变量与常量 final 关键字 作用域(局部变量、成员变量) 运算符 算术、逻辑、位运算 三元运算符 ? : 控制…...

2024年业绩增速大幅回退,泸州老窖未能“重回前三”
撰稿|行星 来源|贝多财经 回望过去的2024年,受制于购买力与消费需求的持续疲软,白酒行业的发展面临诸多复杂性与不确定性,“量价齐跌”犹如笼罩在各大企业头顶的一片阴云。 正如巴菲特所言:“当潮水退去时,才知道谁在…...

院校机试刷题第二天:1479 01字符串、1701非素数个数
一、1479 01字符串 1.题目描述 2.解题思路 方法一:暴力法 模拟过程,列出几个数据来a[1]1, a[2]2, a[3]3, a[4]5以此类推,这就是斐波那契数列,每一项都等于前两项之和,确定好a[1], a[2]即可。 方法二:动…...
【Vue.js 的核心魅力:深入理解声明式渲染】
Vue.js 的核心魅力:深入理解声明式渲染 在现代前端框架的浪潮中,Vue.js 以其轻量、易学、高效的特点赢得了广大开发者的青睐。其核心魅力之一,便是其优雅的**声明式渲染 (Declarative Rendering)**机制。理解声明式渲染不仅能帮助我们更好地…...

制作一款打飞机游戏48:敌人转向
射击功能 有一个重要的功能我们还没实现,那就是射击。目前,敌人还不能射击,这显然是不行的。因此,我们决定添加一个射击命令,暂时用一个显示圆圈的方式来表示射击动作。 编程语言的调试 有趣的是,我们创…...
鸿蒙OSUniApp打造多功能图表展示组件 #三方框架 #Uniapp
使用UniApp打造多功能图表展示组件 在当前移动应用开发领域,数据可视化已成为不可或缺的一部分。无论是展示销售数据、用户增长趋势还是其他业务指标,一个优秀的图表组件都能有效提升用户体验。UniApp作为一款跨平台开发框架,如何在其中实现…...
Chrome浏览器实验性API computePressure的隐私保护机制如何绕过?
一、computePressure API 设计原理与隐私保护机制 1.1 API 设计目标 computePressure是W3C提出的系统状态监控API,旨在: • 提供系统资源状态的抽象指标(非精确值) • 防止通过高精度时序攻击获取用户指纹 • 平衡开发者需求与用户隐私保护 1.2 隐私保护实现方式 // 典…...

RK3588 串行解串板,支持8路GMSL相机
RK3588 支持的 GMSL 相机接入数量取决于所使用的解串板型号及配置方案: xcDeserializer3.0 解串板 可接入最多 8 路 2M GMSL2 相机1。 xcDeserializer4.0 解串板 支持 4 路 2M GMSL2 相机1。 边缘计算盒解决方案 部分商用方案可实现 4 或 8…...

OracleLinux7.9-ssh问题
有套rac环境,db1主机无法ssh db1和db1-priv,可以ssh登录 db2和db2-priv [rootdb1 ~]# ssh db1 ^C [rootdb1 ~]# ssh db2 Last login: Wed May 14 18:25:19 2025 from db2 [rootdb2 ~]# ssh db2 Last login: Wed May 14 18:25:35 2025 from db1 [rootdb2…...

手机换IP真的有用吗?可以干什么?
在当今数字化时代,网络安全和个人隐私保护日益受到重视。手机作为我们日常生活中不可或缺的工具,其网络活动痕迹往往通过IP地址被记录和追踪。那么,手机换IP真的有用吗?它能为我们带来哪些实际好处?本文将为你一一解答…...
提示词设计模板(基于最佳实践)
1. 任务清晰化 模糊指令 ➜ 明确指令 ❌ "写一篇关于环保的文章" ✅ *"列出5种城市环保措施,并分别说明其对减少碳排放的影响(要求:数据支持案例)"* 2. 任务步骤化 案例:策划线上营销活动 1.…...

如何实现一个运动会计分系统?(C语言版)
一、需求分析 设计一个运动会计分系统,计分信息包括参加学校,参与项目,性别,名次个数,各个学校获得名次信息。该系统具有以下功能 数据录入: 链表或结构体数组组织数据数据报表: 依照规定的报表格式对数据打印报表数据排序: 按照要求对数据进行统计,含简单统计及综合统计…...
《P4391 [BalticOI 2009] Radio Transmission 无线传输 题解》
题目描述 给你一个字符串 s1,它是由某个字符串 s2 不断自我连接形成的(保证至少重复 2 次)。但是字符串 s2 是不确定的,现在只想知道它的最短长度是多少。 输入格式 第一行一个整数 L,表示给出字符串的长度。…...