MySQL(5)表的查询

news/2024/9/18 20:45:23 标签: mysql, 数据库

目录

                1.表的查询


1.表的查询:

1.1创建表:

语法: create table 表名(

        字段 类型  约束,

        字段 类型  约束,

        ...

        字段 类型  约束

        );

 1.2 单行数据+全行插入:

🌰 表的字段都插入数据:

insert into student values(100, 1000, '唐三藏', null);

 1.3 多行数据 + 指定列插入:

🌰 插入多行数据, 但是是指定字段进行插入:

insert into students(id, sn, name) values(102, 1002, '曹孟德'); 

1.4 插入是否更新:

由于主键冲突或者唯一键冲突, 选择性进行同步更新的方式.

语法: insert into 表名(字段, 字段...) values(数据, 数据...) on duplicate key update 字段=数据, 字段=数据 ... ;

1.5 替换表数据:

语法: replace into b表名(字段,字段...) values(数据,数据...);

 1.6 全列查询和指定列查询:

全列查询:

        语法: select * from 表名;

⭐ 一般不建议全列查询, 如果数据很多, 查询效率就非常低下.

指定列查询:

        语法: select 字段 字段... from 表名;

⭐select查询的内容就是表达式, 可以是包含字段的也可以不包含.

(1) 查询结构指定别名:

(2) 结果去重:

关键字: distinct;

 1.7 where条件:

(1) 比较运算符:

(2)逻辑运算符:(分别相当于且或非)

         AND:                        OR:                 NOT:

(3)🌰 英语不及格的同学及英语成绩 ( < 60 )

select name,english from exam_result where english<60;

语文成绩在 [80, 90] 分的同学及语文成绩

数学成绩是 58 或者 59 或者 98 或者 99 分的同学及数学成绩

姓孙的同学 及 孙某同学

%匹配多个字符 _匹配一个字符;

语文成绩好于英语成绩的同学

总分在 200 分以下的同学

where是无法使用重命名的字段进行查询.

语文成绩 > 80 并且不姓孙的同学

孙某同学,否则要求总成绩 > 200 并且 语文成绩 < 数学成绩 并且 英语成绩 > 80

1.8 null的查询:

select null=null null=1 null=0;

1.9 结果排序:

语法: select 字段 from 表名 order by 字段 [desc/asc];

同学及数学成绩,按数学成绩升序显示:

同学及 qq 号,按 qq 号排序显示:

查询同学各门成绩,依次按 数学降序,英语升序,语文升序的方式显示:

查询同学及总分,由高到低:

order by支持重命名查找.

查询姓孙的同学或者姓曹的同学数学成绩,结果按数学成绩由高到低显示:

1.10 筛选分页结果:

语法: select 字段 from 表名 order by 字段 m offset n;

表示从m页开始筛选n个数据.

1.11  update:

语法: update 表名 set 修改数据 where 字段属性;

将孙悟空同学的数学成绩变更为 80 分

将曹孟德同学的数学成绩变更为 60 分,语文成绩变更为 70 分:

将总成绩倒数前三的 3 位同学的数学成绩加上 30 分:

将所有同学的语文成绩更新为原来的 2 倍:

 1.12 delete:

语法: delete from 表名 where 字段数据;

删除整张表:

语法: delete from 表名;

 1.13 截断表:

语法: truncate table 表名;

作用: 将表数据进行全部删除; 实际MySQL不会对数据进行处理, 不是真正的事物所以没有回滚.而且会重置auto_increment的值.

 1.14 插入查询结果:

语法:

🌰删除表中的的重复复记录,重复的数据只能有一份:

(1)先创建一张和原表一样的表;

(2) 将 duplicate_table 的去重数据插入到 no_duplicate_table:

(3) 重命名表:

 1.15 聚合函数:

🌰统计班级共有多少同学:

统计班级收集的q q号有多少?

统计本次考试的数学成绩分数个数:

统计数学成绩总分:

统计平均总分:

返回英语最高分:

返回 > 70 分以上的数学最低分:

1.16 group by子句:

载入oracle 9i的经典测试表(后台dd我)

如何显示每个部门的平均工资和最高工资:

显示每个部门的每种岗位的平均工资和最低工资:

显示平均工资低于2000的部门和它的平均工资:

后言: 球球三联, 博主这两天肝肝肝上火啦!!!蟹蟹!!!


http://www.niftyadmin.cn/n/5561637.html

相关文章

Linux:解决vim打开文件默认为replace模式

现象 Ubuntu打开 vim 默认为 replace 模式 原因 终端的编码设置与目标机器的编码设置不同。 解决方案 修改 vim 配置文件( /etc/vim/vimrc或者~/.vimrc)&#xff0c;添加&#xff1a; set termencodingutf-8 set fileformatsunix set encodingprcP.S. vimrc 中注释使用英…

数据库第一次作业,数据库建立,表的建立,约束

Windows中选择一种方式安装mysql8.0 新建产品库mydb6_product&#xff0c;新建4张表如下: 创建数据库&#xff1a; mysql> create database mydb6_product; 使用数据库 mysql> use mydb6_product; employees表 列1:id&#xff0c;整型&#xff0c;主键 列2:name&#x…

【快速逆向一/无过程/有源码】《大学》在线投稿系统

逆向日期&#xff1a;2024.07.18 使用工具&#xff1a;Node.js 加密工具&#xff1a;Crypto-js标准库 文章全程已做去敏处理&#xff01;&#xff01;&#xff01; 【需要做的可联系我】 【点赞 收藏 关注 】仅供学习&#xff0c;仅供学习&#xff0c; 本文为快速逆向&#x…

【chatgpt】归一化前训练测试集拆分还是归一化后训练测试集拆分

先拆分数据集然后归一化 在进行机器学习建模时&#xff0c;应该先进行训练测试集拆分&#xff08;train-test split&#xff09;&#xff0c;然后对训练集进行归一化&#xff0c;再使用训练集的归一化参数对测试集进行归一化处理。这样可以确保归一化过程不泄露测试集的信息&a…

从零开始读RocketMq源码(五)Consumer消费Message流程解析

目录 前言 准备 拉取服务和重平衡服务启动 初识PullRequest 重平衡服务 对重平衡资源进行排序 MessageQueue消息队列集合来源 Consumer消费者集合数据来源 确实分配资源策略 执行分配策略 初始化ProcessQueue 初始化PullRequest 内存队列填充PullRequest 消息拉取…

springboot项目,指定某些接口不被拦截方法

1、监听器&#xff08;Interceptor&#xff09;拦截处理 在 Spring Boot应用中&#xff0c;如果你希望某些请求地址不被监听器&#xff08;Interceptor&#xff09;拦截处理&#xff0c;可以通过配置拦截器的路径来实现。拦截器通常用于在请求前后进行处理&#xff0c;比如权限…

动态规划(CSP赛前总复习)

预祝各位CSP-J/S取得好成绩&#xff01;

植物病害分级调研

Web of Science搜索&#xff0c;关键字“plant disease severity recognition”&#xff0c;共407篇&#xff0c;限制2023年以后共71篇 2019、2020 《Disentangled Representation Learning for Leaf Diseases Recognition》 2019 IF&#xff1a;0.8 论文&#xff1a;Disen…