数据库实战:MySQL、SQL语句总结与应用案例分享

devtools/2024/10/24 21:17:40/

生活最大的危险在于一个空虚的心

文章目录

          • MySQL
          • SQL语句
          • 总结

MySQL
  • 数据库服务器
  • 数据库 (一般来说,一个项目,都会使用一个独立的数据库)
  • 数据表 (真正存储数据,和excel表差不多)
  • 行与列 (每一行代表一条数据,列又叫做字段)在这里插入图片描述
SQL语句
  • 介绍
    • SQL是一门数据库编程语言
    • 使用SQL语言编写出来的代码叫做SQL语句
    • SQL语言只能在关系数据库(例如 MySQL、Oracle、SQL Server)中使用。非关系型数据库(例如 Mongodb) 不支持 SQL 语言
  • 用途
  • 查询语句
    • 查询语法:SELECT 字段1,字段2,...FROM表名
    • 查询所有的字段:SELECT * FROM 表名
    • 带条件的查询:SELECT * FROM 表名 [WHERE 条件] [ORDER BY 排序字段 [,排序字段]] LIMIT [开始位置,] 长度
  • 模糊查询
    • % 代表任意长度 (包括0) 的任意字符
    • _ 代表长度的任意字符
    • like 在执行模糊查询时,必须使用like来作为匹配条件
  • 统计查询
    • max 查询最大值
      • SELECT MAX(age) FROM heros 返回 heros 表中 age 列的最大值,即所有英雄中年龄最大的那个英雄的年龄
    • min 查询最小值
      • SELECT MIN(age) FROM heros 返回 heros 表中 age 列的最小值,即所有英雄中年龄最小的那个英雄的年龄
    • avg 查询平均值
      • SELECT AVG(age) FROM heros 返回 heros 表中 age 列的平均值,即所有英雄年龄的平均值
    • sum 查询总和
      • SELECT SUM(age) FROM heros 返回 heros 表中 age 列的所有值的总和,即所有英雄年龄的总和
    • count 查询总记录数
      • SELECT COUNT(*) AS cc FROM heros 返回 heros 表中的行数,即英雄的总数。AS cc 是给结果列起一个别名
  • 查询结果排序
    • order by 可以对查询结果按某个字段进行升序或者降序排列
      • 升序 asc 默认值
      • 降序 desc
    • 注意:如果SQL语句中,有where和order by ,where一定要放在order by之前
  • 限制查询结果
    • limit 限制查询结果的起始点和长度
    • 格式 :limit start,length
      • start:起始点,查询结果的索引,从0开始,0代表第一条数据,如果省略start,则默认表示从0开始
      • length:长度
  • 添加数据
    • 格式:insert into 表名 ...
    • 方式一:指定字段和值,只要字段和值对应即可,和顺序无关
      • insert into heroes (字段, 字段, ...) values (值, 值, ...)
        • insert into heroes (nickname, age, name) values ('虚空恐惧', 98, '科加斯')
    • 方式二:和顺序有关,因为没指定子段,所以值必须是所有的值,而且顺序和表中字段的顺序要一致
      • insert into heroes values (null, '拉克丝', '光辉女郎', '女', 28)
    • 方式三:使用set设置新数据的值,没有顺序关系
      • insert into heroes set 字段=值, 字段=值, ....
        • insert into heroes set name='李青', nickname='盲僧'
  • 修改数据
    • 格式:update 表名 set 字段1=值1, 字段2=值2,... where 修改条件
      • 加条件修改:例 update heroes set age=28, skill='在地上打滚' where id=19
      • 如果不指定条件,则会修改所有的行:例 update heroes set sex='妖'
  • 删除数据
    • 格式:delect from 表名 where 删除条件
      • 加条件删除:例 delete from heroes where id=19
      • 如果不加条件,将删除所有的数据,危险操作
        • delete from heroes
    • 注意:不指定条件将删除所有的数据
总结
sql">查询id、name、age三个字段SELECT id,name,age FROM heroes
查询所有的字段select * from heroes
查询id大于3的英雄 (select * from heroes where 条件)select * from heroes where id>3
查询id大于3的男英雄select * from heroes where id>3 and sex='男'
模糊查询查询名字中带有 “斯” 的英雄select * from heroes where name like '%斯%'查询名字的最后一个字是 “斯” 的英雄select * from heroes where name like '%斯'查询名字中带有“斯”,并且要求“斯”前面只能有一个字的英雄select * from heroes where name like '_斯%'
统计查询查询最大值 (查询所有英雄中年龄最大的的英雄)select max(age) from heroes查询最小值 (查询所有英雄中年龄最小的的英雄)select min(age) from heroes查询平均值 (查询所有英雄年龄的平均值)select avg(age) from heroes查询总和 (查询所有英雄的年龄之和)select sum(age) from heroes查询总记录数 (查询共计有多少个英雄)select count(*) as cc from heroes
对查询结果进行排序 (select * from heroes order by 字段 [ASC|DESC], 字段 [ASC|DESC] .....)查询所有的英雄,按年龄从大到小排序(降序)select * from heroes order by age desc查询所有的英雄,按照年龄升序排序select * from heroes order by age asc查询id大于3的英雄,并且按照年龄降序排序select * from heroes where id>3 order by age desc注意:where要放到order by前面;whereorder by部分之间,不要加and
限制查询结果 (select * from heroes limit start, length)查询前三个英雄select * from heroes limit 0, 3查询第456个英雄select * from heroes limit 3, 3查询年龄最大的女英雄select * from heroes where sex='女' order by age desc limit 1
添加英雄insert into 表名 (字段, 字段, 字段, ...) values (,,, ...)insert into 表名 values (,,, ...)  要求值的顺序和字段的顺序一致,个数也要一致insert into 表名 set 字段=, 字段=, ....
修改英雄update heroes set name='李青', nickname='盲僧' where 条件
删除英雄delete from heroes where 条件
删除表drop table heroes
删除数据库drop database abc

http://www.ppmy.cn/devtools/128516.html

相关文章

050_python基于Python的黑龙江旅游景点数据分析系统的实现

目录 系统展示 开发背景 代码实现 项目案例 获取源码 博主介绍:CodeMentor毕业设计领航者、全网关注者30W群落,InfoQ特邀专栏作家、技术博客领航者、InfoQ新星培育计划导师、Web开发领域杰出贡献者,博客领航之星、开发者头条/腾讯云/AW…

分布式存储架构 与分布式一致性协议

分布式存储架构可以分为无中心节点架构和有中心节点架构。它们的设计在系统中的角色分配、数据管理、协调方式等方面有所不同。 1. 无中心节点架构(Decentralized/Peer-to-Peer Architecture) 在无中心节点的分布式存储架构中,所有节点都是…

链表(虚拟头节点)

链表 题 移除链表元素 虚拟头节点 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* ListNode(int val, ListNode next) { this.val val; this.…

Open3D-Geometry-11:Mesh deformation 网格变形算法

1. as-rigid-as-possible 如果想根据少量约束使三角形网格变形,可以使用网格变形算法。 Open3D 通过SorkineAndAlexa2007实现了 as-rigid-as-possible 方法,优化了以下能量函数 ∑ i ∑ j ∈ N ( i

解锁PDF权限密码

目录 背景: 定义与功能: 过程: 主要功能: 使用方式: 使用限制: 注意事项: 总结: 背景: 前段时间自己设置了PDF文件的许可口令,忘了口令导致自己无法编辑内容等,这…

Java - 人工智能;SpringAI

一、人工智能(Artificial Intelligence,缩写为AI) 人工智能(Artificial Intelligence,缩写为AI)是一门新的技术科学,旨在开发、研究用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统…

【环境搭建】Windows系统中使用VScode在虚拟机ubuntu系统中进行开发的方法

Windows系统中使用VScode在虚拟机ubuntu系统中进行开发的方法 vmware虚拟机ubuntu系统 vmware虚拟机17.5个人版可以免费使用,在官网上下载。前提是需要在官网上注册一下,然后具体的方法可以搜一下。然后下载ubuntu镜像,最好下载22.04的版本…

10. mapreduce实现wordcount

一. mapreduce 概述 mapreduce是一个并行计算框架,它起源于Google的MapReduce论文,它主要用于离线海量数据计算。 优点:海量数据离线处理,开发简单,部署方便缺点:仅适用于批处理,不支持实时数…