MYSQL 二、SQL语句总结

一、navicat 操作快捷键

        一般都用naviact来操作数据库,故总结一下相关的快捷键:

CTRL+L                                                 历史日志
CTRL+TAB 或 SHIFT+CTRL+TAB       下一个窗口或选项卡
CTRL+Q                                                新建查询
CTRL+F                                                 查找字段
F3                                                           查找下一个字段
F5                                                           刷新
ESC                                                        全选
CTRL+D                                                设计表
SHIFT+CTRL+R                                    运行当前语句

       二、相关sql语句总结:

        1)对库的操作(不常用)

--创建库
create database 库名;
--创建库时判断库是否存在,不存在则创建
create database if not exists 库名;
--查看所有数据库
show databases;
--使用指定数据库
use 库名;
--查看当前指定数据库包含的数据表
show tables;
--查看数据库的结构定义信息
show create database 库名;
--删除数据库
drop database 库名;
--修改数据库的字符集为utf8
alter database 库名 character set utf8;

        2) 对表的操作:创建表、删除表、在表中增加字段、在表中减少字段,修改表字段名等

        对表的操作:

--删除表
drop table 表名;

--删除表时判断表是否存在,若存在则删除
drop table if exists test111 ;



--创建表
create table test111 (

test_id bigint not null comment '主键id',
test_name varchar(50) default null comment '测试名称',
test_age int default null comment '测试年龄',
test_data date default null comment '测试日期',
primary key (`test_id`)
) comment '测试表'


-查看表结构
desc 表名;


--查看创建表的SQL语句
show create table 表名;


--修改表名
alter table 表名 rename to 新的表名;

      对字段的操作:

--添加一个新的字段
alter table 表名 add 字段; 字段类型;


--修改字段名
alter table 表名 rename column 字段名 to 新的字段名;


--修改字段类型(注意类型修改前后数据是否兼容)
alter table 表名 modify column 字段名 新的字段类型;


--删除一个字段
alter table 表名 drop 字段名;

--添加一个字段
alter table test222  add test_year  varchar(20)  not null default '2022' after test_name 


 3)对数据的操作(增删改)

        1、插入数据


--有多少个字段,就要写多少个值,且是一一对应的
insert into 表名 values(值1,值2,值3...值n);


--此方法要写出要插入的字段,并一一对应插入值
insert into 表名(字段1,字段2...字段n) values(值1,值2...值n);

        2、删除数据(delete、truncate)

--删除表中所有数据
delete from 表名;


--删除表中指定的数据
delete from 表名 where 字段 = 值;


--删除表中所有数据(先删除整张表,然后创建一张一样的空表,此方法更高效)
truncate table 表名;

        3、修改数据(update) 

--无限制条件的修改,会修改整张表
update 表名 set 字段 = 值;


--有限制条件的修改,只修改特定记录
update 表名 set 字段 = 值 where 条件(字段 = 值);

4)关于查询的操作

        1.普通条件查询

--查询表中所有数据
select *from 表名;


-- 查询在...到...之间(between and / && / and)
--查询users表中年龄在18~25岁之间的记录
--方式1 between..and..
select *from users where age between 18 and 25;
--方式2 &&
select *from users where age>=18 && age<=25;
--方式3 and
select *from users where age>=18 and age<=25;



--单个条件(or / in)
--查询users表中年龄为18,20,25岁的记录
--方式1 or
select *from users where age=18 or age=20 or age=25;
--方式2 in
select *from users where age in(18,20,25);



--多个条件(and)
--查询users表中年龄为23,性别为女,名字为小楠的记录
select *from users where age=23 and gender='女' and name='小楠'; 


--查询不为NULL值(is not null),为NULL值(is null)
--查询users表中序号不为空的记录
select *from users where id is not null;
--查询user表中序号为空的记录
select *from users where id is null;



--模糊查询(like)
--查询users表中所在城市不相同的记录
--select distinct 字段 from 表名;
select distinct city from users;



--去除重复记录查询(distinct)
--查询users表中记录,并以年龄升序排序
select *from users order by age; --默认升序
 

--排序查询(order by)
--查询users表中记录,并以年龄降序排序
select *from users order by age desc;--desc降序


--查询users表中记录,并体育成绩降序,年龄降序
select *from users order by PE desc,age desc;





        2.使用聚合函数查询

①计算和(sum)
select sum(字段) (as sumvalue) from 表名;


②计算最大值(max)
select max(字段) (as maxvalue) from 表名;


③计算最小值(min)
select min(字段) (as minvalue) from 表名;


④计算平均值(avg)
select avg(字段) (as avgvalue) from 表名;



⑤计算个数(count)
select count(字段) (as totalcount) from 表名;

        3.分组、分页查询

分组查询(group by)
--查询users表中的记录,按照性别分组,查询男,女的体育成绩平均分
select gender,avg(PE) from users group by gender;
--查询users表中的记录,按照性别分组,分别查询男、女的体育成绩平均分,人数
select gender, avg(PE),count(id) from users group by gender;
--查询users表中的记录, 按照性别分组,分别查询男、女的体育成绩平均分,人数 要求:分数低于60分的人,不参与分组
select gender, avg(PE),count(id) from users where PE > 60 group by gender; 
 --查询users表中的记录,按照性别分组,分别查询男、女的体育成绩平均分,人数 要求:分数低于60分的人,不参与分组,分组之后,人数要大于2个人
select gender,avg(PE),count(id) from users where PE > 60 group by gender having count(id)>2;




分页查询(limit)
注意:第一条记录的索引是0

--查询users表中的前10行条记录
select *from users limit 10;
--查询users表中第2~11条记录 (从第2条记录开始累加10条记录)
select *from users limit 1,10;
--查询users表中第5~17条记录 (从第5条记录开始累加13条记录)

        4.内连接、外连接、子查询

内连接查询
--语法1 (隐式内连接)
select 字段1,字段2...
from 表1,表2...
where 过滤条件;


 
--语法2 (显式内连接)
select 字段1,字段2...
from 表1 inner join 表2 ...





外连接查询
外连接查询分为左外连接查询和右外连接查询
--左外连接
select 字段1,字段2..
from 表1 left (outer) join 表2 on 过滤条件;
--右外连接
select 字段1,字段2..
from 表1 right (outer) join 表2 on 过滤条件;

区别如下:

左外连接:是表1和表2的交集再并上表1的其他数据
右外连接:是表1和表2的交集再并上表2的其他数据




子查询就是将查询语句作为条件:
select * from user where user_name in ( select user_name from user where ....)


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/559493.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【前端面试3+1】15 CSS如隐藏元素、css块级元素和行内元素有哪些?两者有什么区别?、JavaScript中“==”与“===”的区别、【丢失的数字】

一、CSS如何隐藏元素&#xff1f; 1、使用 display: none; 这种方法会隐藏元素&#xff0c;并且不占据页面空间。元素会被完全移除&#xff0c;无法通过任何方式显示出来。 .hidden-element {display: none; }2、使用 visibility: hidden; 这种方法会隐藏元素&#xff0c;但仍然…

数字乡村创新实践推动农业现代化发展:科技赋能农业产业升级、提升农民收入水平与乡村治理效能

随着信息技术的迅猛发展和数字化转型的深入推进&#xff0c;数字乡村创新实践已成为推动农业现代化发展的重要引擎。数字技术的广泛应用不仅提升了农业生产的智能化水平&#xff0c;也带动了农民收入的增加和乡村治理的现代化。本文旨在探讨数字乡村创新实践如何科技赋能农业产…

Ubuntu24.04之软件源修改

注意事项 Ubuntu24.04的软件源从/etc/apt/sources.list改为/etc/apt/sources.list.d/ubuntu.sources 修改步骤 #备份软件源 sudo cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.bak #更换软件源&#xff08;更换为中科大源&#xff0…

使用 CentOS 搭建 Linux KVM 虚拟化平台

&#xff08;1&#xff09;上传镜像,可在这个链接上下载镜像&#xff1a;https://mirrors.aliyun.com/centos-vault/7.7.1908/isos/x86_64/CentOS-7-x86_64-Minimal-1908.iso?spma2c6h.25603864.0.0.4a41714fA9E9c0 &#xff08;2&#xff09;. 在 CentOS 图形界面打开虚拟系统…

LIN数据总线ESD保护方案

LIN总线&#xff08;Local Interconnect Network&#xff09;是一种用于车辆电子系统中的串行通信协议。LIN接口与其他外露的接口一样&#xff0c;也会受到静电放电 (ESD) 的影响。电子工程师需设计具有保护二极管的LIN 接口可为 LIN 收发器本身和相应的下游总线元件提供保护。…

【源码】基于I.MX6ull驱动移植ds18b20的实验详解

文章目录 前言一、硬件连接二、代码移植1.驱动代码2.编译程序 三、移植到开发板参考连接 前言 提示&#xff1a;基于I.MX6ull驱动移植ds18b20的实验&#xff1a; 实验平台&#xff1a;正点原子alpha开发板V2.2 传感器&#xff1a;ds18b20模块 一、硬件连接 ds18b20的VCC&…

在瑞芯微RV1126 Linux系统上调试WiFi的详细指南

目录标题 1. **系统和环境准备**2. **检查WiFi设备状态**3. **启用和禁用WiFi接口**4. **扫描可用的WiFi网络**5. **连接到WiFi网络**6. **查看当前的WiFi连接状态**7. **断开和重新连接WiFi**8. **管理WiFi网络配置**9. **使用iw工具进行高级WiFi调试**10. **故障排除和日志获…

Kafka安装Windows版

系列文章目录 文章目录 系列文章目录前言前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 Kafka 是一个由 LinkedIn 开发的分布式消息系统,它于2011年年初开源,现…

【JavaSE】异常

欢迎关注个人主页&#xff1a;逸狼 创造不易&#xff0c;可以点点赞吗~ 如有错误&#xff0c;欢迎指出~ 目录 认识异常 异常分类 举例 栈溢出错误 空指针异常&#xff08;运行时异常&#xff09; 编译时异常 处理异常 抛出 异常 程序本身触发异常 手动抛出异常 举例 利用try ca…

1096 大美数

solution B被A整除&#xff0c;B是A的倍数。B / AA整除B A把B整除 &#xff22;被A整除 B / A >n可以整除不同的四个因数之和 等价于 (a b c d) % n 0 #include<iostream> #include<cmath> using namespace std; int main(){int k, n, t;scanf("%d&q…

【MATLAB】App 设计 (入门)

设计APP 主界面 函数方法 定时器 classdef MemoryMonitorAppExample < matlab.apps.AppBase% Properties that correspond to app componentsproperties (Access public)UIFigure matlab.ui.FigureStopButton matlab.ui.control.ButtonStartButton matlab.ui.cont…

openAI tts Java文本转语音完整前后端代码 html

Java后端代码 maven 仓库&#xff1a; <!--openAI 请求工具--> <dependency><groupId>com.unfbx</groupId><artifactId>chatgpt-java</artifactId><version>1.1.5</version> </dependency>maven 仓库官方 tts 使用案例…

【论文源码实战】轻量化MobileSAM,分割一切大模型出现,模型缩小60倍,速度提高40倍

前言 MobileSAM模型是在2023年发布的&#xff0c;其对之前的SAM分割一切大模型进行了轻量化的优化处理&#xff0c;模型整体体积缩小了60倍&#xff0c;运行速度提高40倍&#xff0c;但分割效果却依旧很好。 MobileSAM在使用方法上沿用了SAM模型的接口&#xff0c;因此可以与…

超越GPT-4V,苹果多模态大模型上新,神经形态计算加速MLLM(一)

4月8日&#xff0c;苹果发布了其最新的多模态大语言模型&#xff08;MLLM &#xff09;——Ferret-UI&#xff0c;能够更有效地理解和与屏幕信息进行交互&#xff0c;在所有基本UI任务上都超过了GPT-4V&#xff01; 苹果开发的多模态模型Ferret-UI增强了对屏幕的理解和交互&am…

【YOLOv8改进[Backbone]】使用MobileNetV3助力YOLOv8网络结构轻量化并助力涨点

目录 一 MobileNetV3 1 面向块搜索的平台感知NAS和NetAdapt 2 反向残差和线性瓶颈 二 使用MobileNetV3助力YOLOv8 1 整体修改 ① 添加MobileNetV3.py文件 ② 修改ultralytics/nn/tasks.py文件 ③ 修改ultralytics/utils/torch_utils.py文件 2 配置文件 3 训练 其他 …

内置管线升级到SBP,如何复用之前打包的AssetBundle

1&#xff09;内置管线升级到SBP&#xff0c;如何复用之前打包的AssetBundle 2&#xff09;安卓真机&#xff0c;在Unity 2021.3.31版本下Buffer数据异常 3&#xff09;URP里CullResults.CreateSharedRendererScene下面的消耗 4&#xff09;移动端是否支持曲面细分着色 这是第3…

C#基础|Debug程序调试学习和技巧总结

哈喽&#xff0c;你好啊&#xff0c;我是雷工&#xff01; 在程序的开发过程中&#xff0c;可能绝大部分时间是用来调试程序&#xff0c; 当完成了某个功能的编程&#xff0c;都需要调试一下程序&#xff0c;看编程是否存在问题。 01 为什么需要程序调试 无论是电气工程师还…

Zed,有望打败 VS Code 吗?

大家好&#xff0c;我是楷鹏。 先说结论&#xff0c;不行。 Zed&#xff0c;又一款新起的文本代码编辑器 &#x1f449; https://zed.dev 今年一月二十四号正式开源&#xff0c;短短不到三个月&#xff0c;GitHub 上已经冲上 3 万 star 正如 Zed 的口号所说「Code at the spe…

win11家庭中文版安装docker遇到Hyper-V启用失败,如何解决??

&#x1f3c6;本文收录于「Bug调优」专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收藏&&…

统一所有 LLM API:支持预算与速率限制 | 开源日报 No.229

BerriAI/litellm Stars: 6.7k License: NOASSERTION litellm 是一个使用 OpenAI 格式调用所有 LLM API 的工具。它支持 Bedrock、Azure、OpenAI、Cohere、Anthropic 等 100 多种 LLMs&#xff0c;提供企业级代理服务器和稳定版本 v1.30.2。 主要功能和优势包括&#xff1a; 将…
最新文章