首页 > 数据库 >零基础3分钟快速入门MYSQL关系数据库2【1-6见上篇】

零基础3分钟快速入门MYSQL关系数据库2【1-6见上篇】

时间:2024-11-01 21:44:46浏览次数:5  
标签:入门 MYSQL 查询 关系数据库 字段名 表名 where id select


1-6 点此链接→  零基础3分钟快速入门MYSQL【1-6】

7、数据操作

1、插入数据:

insert into 表名 (字段名1,字段名2....) 

values (字段对应的值1,字段对应的值2,.......),(字段对应的值1,字段对应的值2,.......);

2、修改数据:

update 表名 set  字段名1= 新的数据值, 字段名2=新的数据值  [where 条件];

3、删除数据:

(1)delete from 表名;----------删除表里的数据,但是表仍然存在

delete from 表名  [where 条件];------------根据条件进行删除表里的数据

(2)truncate table 表名;---------清空表里的数据,但表仍然存在,而且不能加条件

4、数据查询:

4.1基本查询:

1)查询全部字段的全部数据

       select * from 表名;

2)查询部分字段的全部数据

      select 字段名1,字段名2......from 表名;

(3)根据条件查询数据

        select * from 表名 where 条件;

(4)多个条件的查询:

      运算符

算术运算符 + - * / %

关系运算符 > < = <> >=

赋值运算符 =

逻辑运算符 and or not && || !

      条件与条件之间可以用and、or、in、between...and...来进行条件的连接

(5)模糊查询

      select * from 表名 where 字段名 like '值';----------% _

(6)去重

        select distinct 字段名 from 表名;

        示例:查询性别有几种分类
        select distinct gender from students;
        示例:查询有几个班级
        select distinct cls_id from students;

(7)按照单个字段排序

select * from 表名 order by 字段名 asc/desc;(asc升序-默认,desc降序)

按照多个字段排序:select * from 表名 order by 字段名1 asc/desc,字段名2 asc/desc;

有条件的排序:select * from 表名 where 条件 order by 字段名 asc/desc;

(8)限制查询结果的数量:limit

示例:只看前2条学生信息
select * from students limit 2;

4.2 连接查询:

(涉及到两个表以上,在查询的时候至少要有一个必备的连接条件,这个必备的条件就是两个表共有的那个字段相等,而且这个字段一定在一个表里是主键,在另一个表里是外健)

1、内连接

(1)显示内连接:select 表1.字段,表2.字段 from 表名1 inner join 表名2 on  两个表连接的条件  [where 条件];

示例:查看学生所在班级

 select students.name,classes.name from students inner join classes on students.cls_id=classes.id;

提问:查看学生所在班级并且班级是1

(2)隐式内连接:select 表1.字段,表2.字段 from 表名1,表名2 where 两个表连接的条件 [and 其他查询的条件];

示例:查看学生所在班级

select students.name as'姓名',classes.name as '班级'from students,classes   where students.cls_id=classes.id;

2、外连接

(1)左外连接:select 字段 from 表名1 left join 表名2 on 两个表连接的条件 [where 条件];------左表的数据全部查询出来,右表符合条件的查询出来

(2)右外连接:select 字段 from 表名1 right join 表名2 on 两个表连接的条件 [where 条件];------右表的数据全部查询出来,左表符合条件的查询出来

5. 聚合函数查询:

count()-计数 sum()-求和 max()-最大值 min()-最小值 avg()-平均值

select 聚合函数名(字段名) from 表名 [where 条件];

select 分组的字段名,聚合函数名(字段名) from 表名 [group by 分组的字段名];

6.子查询:查询嵌套查询

6.1简单子查询

select * from 表名 where 字段名=(select 字段名 from 表名);-------子查询的结果只有一个值

示例:查看刘德华同学的所在班级的所有同学

select * from students where cls_id = (select cls_id from students where name = '刘德华');

6.2ANY/SOME子查询

select * from 表名 where 字段名=any(select 字段名 from 表名);--------子查询的结果有多个值,等于其中的任意一个值

示例:查看赵老师所带的学生信息

select * from students where cls_id = any(select id from classes where teacher_id = (select id from teachers where name='赵老师'));

6.3 All子查询

select * from 表名 where 字段名>all(select 字段名 from 表名);--------子查询的结果有多个值,大于所有值

示例:查看学生所在班级

select * from students where cls_id >= all(select id from classes where teacher_id = (select id from teachers where name='赵老师'));

6.4 EXISTS子查询

示例1:删除表

DROP TABLE IF EXISTS temp;

eg: drop table if exists students;

示例2:查看存在王老师的班级表

select * from classes where exists (select * from teachers where name='王老师');

select * from 表名 where exists (select 字段名 from 表名);------子查询如果有查询的结果,外查询就执行

6.5 NOT EXISTS子查询

示例:创建教师表

create table IF NOT EXISTS teachers( id int primary key, name varchar(20));

可避免重复创建。

标签:入门,MYSQL,查询,关系数据库,字段名,表名,where,id,select
From: https://blog.csdn.net/weixin_56261190/article/details/143331912

相关文章

  • Mysql学习笔记4--用户权限
    Mysql学习笔记4--用户权限新建用户root登陆ssh登陆服务器,然后以root账户登陆Mysql。sudomysql-uroot-p创建新用户CREATEUSER'John_Lennon'@'%'IDENTIFIEDBY'Beatles!666';创建一个新用户John_Lennon,密码为Beatles!666。其中@后面的%代表可以从任意IP登陆此账......
  • 基于Java+SpringBoot+Mysql实现的快递柜寄取快递系统功能实现四
    一、前言介绍:1.1项目摘要随着电子商务的迅猛发展和城市化进程的加快,快递业务量呈现出爆炸式增长的趋势。传统的快递寄取方式,如人工配送和定点领取,已经无法满足现代社会的快速、便捷需求。这些问题不仅影响了快递服务的效率,也增加了快递员和消费者的不便。在这样的背景下,快递柜......
  • 当下最好的Java做人工智能应用的开源框架-Spring AI alibaba介绍-含免费的菜鸟入门教
    在过去,Java缺乏一个统一且高效的AI应用框架,这导致开发者在使用不同AI提供商(如OpenAI、Azure或阿里云)时需要频繁地调整代码和接口适配。现在有了Spring团队推出的springAI,他能够很好的解决上面的问题,本文会先介绍一下springai这个应用框架的核心能力和功能。 然后再用s......
  • MySQL主从复制(docker环境)
    MySQL主从复制示例1创建master容器3307:dockerrun-d--namemysql-master\-p3307:3306\--privileged=true\-v/root/mysql-master/log:/var/log/mysql\-v/root/mysql-master/data:/var/lib/mysql\-v/root/mysql-master/conf:/etc/mysql/conf.d\-eMYSQL_ROO......
  • ctfshow web入门 文件上传
    CtfshowWeb入门151 查看源代码,发现只能上传.png的文件用bp抓包.png的图片格式添加一句话木马,文件格式修改成.php   对于上传成功的后门代码,直接通过hackbar发送post包利用php内置system()函数执行  查看flag.php文件   152和上一题做题步骤一样......
  • MySQL数据库学习指南
    一、数据库的用户管理操作1、启动MySQL服务器以管理员身份运行,否则权限不够会拒绝访问--网络命令启动MySQL80服务语句:netstartMySQL802、关闭MySQL服务器语句:netstopMySQL80     -网络命令关闭MySQL80服务3、连接MySQL服务器注意:连接服务器这里......
  • 【MySQL基础】高级查询
    文章目录一、聚合函数:`COUNT`、`SUM`、`AVG`、`MIN`、`MAX`1.统计总数:`COUNT`2.计算总和:`SUM`3.计算平均值:`AVG`4.找最小值:`MIN`5.找最大值:`MAX`综合使用聚合函数的例子小结二、分组查询——`GROUPBY`和`HAVING`1.按组来统计——`GROUPBY`2.为分组结果加条......
  • mysql 8.4 主从复制
    master节点my.cnfserver-id=1log-bin=mysql-binbinlog-do-db=repl#需要同步的数据库,如果没有本行表示同步所有的数据库binlog-ignore-db=mysql创建复制用户CREATEUSER'repluser'@'192.168.4.222'IDENTIFIEDWITHcaching_sha2_passwordBYRANDOMPASSWORD;+----—......
  • 实验一 入门基础
    编程题1,用换行分隔语句不需要分号,没有大括号(用缩进表示)2,因为Python不支持C或Java中的那种类型转换语法。Python的类型转换使用函数调用的方式n=int(input()) //调用函数强制转化,如果不强制转化都会看为字符串math.floor //向下取整函数3,a,b,c=map(int,inp......
  • 安装xtrabackup备份mysql
    一、工具xtrabackup说明说明:1、PerconaXtraBackup:是一个适用于Mysql的开源热备份工具,它在备份期间不锁表,而且可以备份InnoDB、XtraDB以及MyISAM存储引擎的表。2、PerconaXtraBackup2.4可以备份MySQL5.5、5.6和5.7,但不支持备份MySQL8.0,如果需要备份MYSQL8.......