MySQL常用操作(一)

news2024/11/28 8:34:31

创建表

create table user(
	id int unsigned primary key not null auto_increment,
	name varchar(50) unique not null,
	age tinyint not null,
	sex enum('M', 'W') not null
)engine=INNODB default charset=utf8;

# 查看创建表语句
show create table user

两种插入方式比较

# 方式1
insert into user(name, age, sex) values('zhangsan', 21, 'M');
insert into user(name, age, sex) values('lisi', 22, 'M');
insert into user(name, age, sex) values('xiaohong', 21, 'W');
insert into user(name, age, sex) values('wangwu', 22, 'M');
insert into user(name, age, sex) values('zhaoliu', 23, 'M');

# 方式2
insert into user(name, age, sex) values('zhangsan', 21, 'M'),('lisi', 22, 'M'),('xiaohong', 21, 'W'),('wangwu', 22, 'M'),('zhaoliu', 23, 'M');

方式1五次insert就要5次的TCP握手和挥手,而方式2只要一次TCP握手和挥手

例子:union合并查询

SELECT expression1, expression2, ... expression_n
FROM tables[WHERE conditions]
UNION [ALL | DISTINCT] # 注意:union默认去重,不用修饰distinct,all表示显示所有重复值
SELECT expression1, expression2, ... expression_n
FROM tables[WHERE conditions];

如:

select name,age,sex from user where age >= 22 union all select name,age,sex from user where sex='M';

注:or 也可用到索引

limit分页查询

从第1行开始(第0行是起始行),查找出3行数据:

select * from user limit 1, 3;

explain可以查看SQL语句的执行计划:
首先表内容为:

在这里插入图片描述

查看执行计划:

explain select * from user where age = 20;

在这里插入图片描述

可以看出来age这一列没有建立索引,需要逐行查找。

而对于name列有建立索引,虽然记录不在第一行但是只需要查找一次:

在这里插入图片描述

例子:使用存储过程往表中插入大量记录

这个例子可以用于进行一些测试工作中提前需要有大量记录的表

# 将结束符设置为 $
delimiter $
create Procedure add_t_user(IN n INT)
BEGIN
DECLARE i INT;
SET i=0;

WHILE i<n DO
insert into t_user values(null,concat(i+1, '@qq.com'),i+1);
SET i=i+1;
END WHILE;
END$
# 将结束符修改回 ;
delimiter;
call add_t_user(2000000);

limit能够优化查询效率

limit在没有索引的时候查找到指定的记录就停止,如果不加limit就要全表扫描。

在这里插入图片描述

例子:
设每页行数pagenum=20, pageno为页号,显示某一页的数据:

select * from user limit (pageno-1)*pagenum, pageno * pagenum

但是这个select效率太低,偏移量( (pageno-1)*pagenum )大的时候需要花时间,可以通过使用:

select * from user where id>上一页最后一条数据的id值 limit 20;

这条语句能够利用id索引省去偏移的时间开销。

order by排序

发现order by查询的Extra列是 Using filesort 说明使用到了归并排序(外排序)可以性能优化,如加索引或者修改查询列

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

加速千行百业转型,华为如何为智能世界构建感知底座

导读&#xff1a;感知正成为行业数字化的新引擎。 我们正在迈进一个万物感知的时代。 日常生活中&#xff0c;感知已经无处不在。小到智能家居的控制系统&#xff0c;大到智慧城市虚实联动的数字孪生&#xff0c;感知是一切智能化的前提&#xff0c;也是行业数字化转型的基础。…

如何恢复被隔离的u盘数据?2种恢复u盘隔离数据的方法

很多时候&#xff0c;我们可能会因为各种原因导致U盘数据丢失&#xff0c;比如误删、格式化等情况。但最近有一位朋友咨询小编关于U盘文件被隔离的问题&#xff0c;他在使用U盘时发现有些文件被隔离了&#xff0c;想知道如何恢复。其实&#xff0c;U盘文件被隔离可能是由于存在…

记录--为什么推荐用svg而不用icon?

这里给大家分享我在网上总结出来的一些知识&#xff0c;希望对大家有所帮助 使用背景&#xff1a; 1.因为svg图标在任何设备下都可以高清显示&#xff0c;不会模糊。而icon会在显卡比较低的电脑上有显示模糊的情况 2.svg图标在页面render时 速度会比icon稍微快一点 3.实现小程序…

Hightopo 使用心得(3)- 吸附与锚点

吸附与锚点是 HT for Web 中两个比较重要的概念。这两个概念在执行交互和动画时会经常被用到。 吸附&#xff0c;顾名思义&#xff0c;是一个节点吸附到另一个节点上。就像船底的贝类一样&#xff0c;通过吸附到船身&#xff0c;在船移动的时候自己也会跟着移动&#xff1b;而…

研究显示,超过一半的安全领导者对保护应用程序机密缺乏信心

这可能会让人感到意外&#xff0c;但秘密管理已经成为AppSec房间里的大象。虽然像常见漏洞和暴露(cve)这样的安全漏洞经常成为网络安全领域的头条新闻&#xff0c;但秘密管理仍然是一个被忽视的问题&#xff0c;可能会对企业安全产生直接而有影响的后果。 《卫报》最近的一项研…

AUTOSAR通信篇 - CAN网络通信(四:CanSM)

文章目录 简述CAN网络状态机触发器PowerOnCanSM_InitCanSM_DeInitT_START_WAKEUP_SOURCET_STOP_WAKEUP_SOURCET_FULL_COM_MODE_REQUESTT_SILENT_COM_MODE_REQUESTT_NO_COM_MODE_REQUESTT_BUS_OFF 防护条件G_FULL_COM_MODE_REQUESTEDG_SILENT_COM_MODE_REQUESTED 作用E_PRE_NOCO…

Question Log

Question Log 提示&#xff1a;记录一下平常遇到的坑 Question Log&#xff08;★ &#xff1e; &#xff09; Question LogⅠ、★ &#xff1e; 使用VsCode构建Unity开发环境1.环境配置2.遇到的相关问题★.The .NET Core SDK cannot be located: A valid dotnet installation …

【Flutter】Flutter 使用splashscreen包创建启动页面

文章目录 一、 前言二、 什么是启动页面和 splashscreen三、 如何安装和使用 splashscreen四、 详细的代码示例&#xff1a;使用 splashscreen 创建启动页面五、 总结 一、 前言 大家好&#xff0c;今天我们要聊一聊如何在 Flutter 中使用 splashscreen 包来创建一个漂亮的启动…

使用Fiddler模拟网络

Fiddler已经预置提供了模拟Modem速度的选项&#xff0c;其位置位于&#xff1a; Rules->Performances->Simulate Modem Speeds 果你想学习Fiddler抓包工具&#xff0c;我这边给你推荐一套视频&#xff0c;这个视频可以说是B站播放全网第一的Fiddler抓包工具教程&#x…

【道友避坑】yolov5视频抽帧构建数据集

写在前面&#xff1a;本篇博客记录了yolov5视频抽帧构建数据集的全过程。 目录 一、 视频材料准备 二、数据集构建 三、运行数据集 一、 视频材料准备 1. 在yolov5-master下创建mydata目录&#xff0c;然后创建video目录和images目录、labels目录 2. 下载一个一两分钟的视频…

数据安全保护:DataSecurity Plus助您防止数据泄露

导言&#xff1a; 在数字化时代&#xff0c;数据安全已成为企业和个人必须高度关注的重要议题。数据泄露可能导致重大损失&#xff0c;包括财务损失、声誉受损以及违反法规的风险。为了帮助组织有效地防止数据泄露&#xff0c;DataSecurity Plus是一款强大的解决方案&#xff…

Android PopupWindow+RecyclerView 实现二级联动筛选

前言 这篇文章主要的功能是利用 PopupWindow 和 RecyclerView 实现条件筛选包括二级联动筛选&#xff0c;主要是仿小红书里的筛选功能而写的一个 Demo 效果如下&#xff0c;代码通俗易懂&#xff0c;保姆级教程 一、使用步骤 1.引入库 api com.github.CymChad:BaseRecycler…

smart Java——BIO、NIO、AIO的工作流程和代码实现

文章目录 〇、前置知识1.套接字2.线程池 一、BIO1.工作流程2.代码实现3.缺点 二、NIO&#xff08;基于轮训&#xff09;1.相比于BIO的优化2.工作流程3.代码实现 三、AIO&#xff08;基于订阅-通知&#xff09;1.工作流程2.代码实现 参考 〇、前置知识 1.套接字 在计算机网络编…

回溯算法之广度优先遍历

目录 迷宫问题 N叉树的层序遍历 腐烂的橘子 单词接龙 最小基因变化 打开转盘锁 迷宫问题 假设有一个迷宫&#xff0c;里面有障碍物&#xff0c;迷宫用二维矩阵表示&#xff0c;标记为0的地方表示可以通过&#xff0c;标记为1的地方表示障碍物&#xff0c;不能通过。现在给一…

【机器人3】图像雅可比矩阵原理与推导

图像雅可比矩阵原理与推导 理想情况下&#xff0c;图像像素坐标系和图像物理坐标系无倾斜&#xff0c;则二者坐标转换关系如下&#xff0c;且两边求导&#xff1a; [ u v 1 ] [ 1 d x 0 u 0 0 1 d y v 0 0 0 1 ] [ x y 1 ] (1) \begin{bmatrix}u\\v\\1\end{bmatrix}\begin{b…

C语言-变量

1 内存的分区 1、内存&#xff1a;物理内存、虚拟内存 物理内存&#xff1a;实实在在存在的存储设备 虚拟内存&#xff1a;操作系统虚拟出来的内存。 操作系统会在物理内存和虚拟内存之间做映射。 在32位系统下&#xff0c;每个进程的寻址范围是4G,0x00 00 00 00 ~0xff ff …

和想要通过学习 Python 转行的同学聊一聊

在开始之前我想说&#xff0c;关于这类话题&#xff0c;永远会存在分歧和争论。比如有人看好互联网发展&#xff0c;有人说泡沫太大&#xff1b;有人说要做项目&#xff0c;有人说得多刷题&#xff1b;有人说要去培训班&#xff0c;有人说不如自学&#xff1b;有人说你学 Pytho…

【MySql】基本查询

文章目录 插入操作insert查询操作selectselect查询where条件判断order by排序limit筛选分页结果 更新操作update删除操作delete插入查询结果 CRUD : Create(创建), Retrieve(读取)&#xff0c;Update(更新)&#xff0c;Delete&#xff08;删除&#xff09; 先创建提供一张表&am…

给大家分享一份适合练手的软件测试实战项目

我们都知道软件测试是一个理论性强的分支。 正是这种特点&#xff0c;决定了在学习的过程中不单单是看或者去背相应的知识点&#xff0c;而是真真切切的基于这些理论基础知识&#xff0c;结合实战项目进行演练。这也就是所谓的眼过千遍不如手过一遍。而且大家也都能看到&#…

13. 100ASK-V853-PRO开发板 摄像头测试指南

100ASK-V853-PRO开发板 摄像头测试指南 硬件要求&#xff1a; 100ASK-V853-PRO开发板GC2053摄像头 软件要求&#xff1a; 固件下载地址&#xff1a;链接&#xff1a;百度网盘 提取码&#xff1a;sp6a 固件位于资料光盘中的10_测试镜像/3.测试摄像头/v853_linux_100ask_uart0…