快速掌握MySql的常用基本操作

MySql 基本操作

    • 一、MySql的数据类型
    • 二、MySql运算符
    • 三、MySql常用函数
    • 四、MySql完整性约束
    • 五、MySql核心操作(库、表、CRUD、连接)
      • 库操作
      • 表操作
      • CRUD
      • ==通过存储过程生成大量测试数据==
      • 连接查询

一、MySql的数据类型

整数类型字节最小值最大值
TINGINT1有符号-128,无符号0有符号127,无符号255
SMALLINT2有符号032768,无符号0有符号32767,无符号65525
INT、INTEGER4有符号-2147483648,无符号0有符号2147483647,无符号4294967295
BIGINT8有符号-9223372036854775808,无符号0有符号9223372036854775808,无符号18446744073709551615
浮点数类型字节最小值最大值
FLOAT4±1.175495351E-38±3.402823466E+38
DOUBLE8±2.2250738585072014E-308±1.7976931348623157+308

浮点类型推荐使用 decimal(保持为字符串格式)

字符串类型字节描述及存储需求
CHAR(M)M
VARCHAR(M)M为0~65535间的整数,值的长度+1字节
TINGBLOB允许长度0~255字节,值的长度+1字节
BLOB允许长度0~65535字节,值的长度+2字节
MEDIUMBLOB允许长度0~167772150字节,值的长度+3字节
LONGBLOB允许长度0~4294967295字节,值的长度+4字节
TINGTEXT允许长度0~255字节,值的长度+2字节
TEXT允许长度0~65535字节,值的长度+2字节
MEDIUMTEXT允许长度0~167772150字节,值的长度+3字节
LONGTEXT允许长度0~4294967295字节,值的长度+4字节
VARBINARY(M)允许长度为0~M个字节的可变厂字节字符串,值的长度+1字节
BINARY(M)M允许长度0~M个字节的定长字节字符串
日期和时间类型字节最小值最大值
DATE41000-01-019999-12-31
DATETIME81000-01-01 00:00:009999-12-31 23:59:59
TIMESTAMP4197001010800012038年的某个时刻
TIME3-838:59:59939:59:59
YEAR119012155

enum 和 set:只能去固定的值,但enum唯一,set可以去任意个值

二、MySql运算符

> 		 	 算术运算符   		#1
+				加法
-				减法
*				乘法
/, DIV			除法,返回商
%,MOD			除法,返回余数>		  	 逻辑运算符		    #2
NOT或!			逻辑非
AND或&&			逻辑与
OR或||			逻辑或>		 	 比较运算符   		#3
=				等于
<>或!=			不等于
<=>				NULL安全的等于
<				小于
>				大于
>=				小于等于
<=				大于等于
BETWEEN			存在知道范围
IN				存在指定集合
IS NULL  		为NULL
IS NOT NULL 	不为NULL
LIKE			通配符匹配
REGEXP或RLIKE   正则表达式

三、MySql常用函数

>			时间和日期函数    #1
NOW();    //返回当前日期和时间
UNIX_TIMESTAMP(date);  //返回日期date的UNIX时间戳
CURRENT_TIMESTAMPCURRENT_TIMESTAMP();  //当前时间
CURDATE();
CURTIME();
DATE_FORMAT(date, "%y-%m-%d");  //格式化时间等>			聚合函数			#2
count()sum()avg()max()min()

四、MySql完整性约束

primary key    	主键
auto_increment	自增键
unique			唯一键
not null		非空键
default			默认值
foreign key		外键

五、MySql核心操作(库、表、CRUD、连接)

SQL作为结构化查询语言,是关系型数据库的同样语言,分为三个类别:

  • DDL(Data Definition Languages)语句:
    数据定义语言,这些语句定义了不同的数据库、表、列、索引等数据库对象的定义。常用的语句关
    键字主要包括 create、drop、alter等。
  • DML(Data Manipulation Language)语句:
    数据操纵语句,用于添加、删除、更新和查询数据库记录,并检查数据完整性,常用的语句关键字
    主要包括 insert、delete、update 和select 等。
  • DCL(Data Control Language)语句:
    数据控制语句,用于控制不同的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户
    的访问权限和安全级别。主要的语句关键字包括 grant、revoke 等。

库操作

show databases;   //查询数据库
create database ChatDB;  //创建数据库
drop database ChatDB;   //删除数据库
use ChatDB;   //选择数据库

表操作

show tables;   //查看表
create table user(id int unsigned primary key not null auto_increment,name varchar(50) not null,age tinyint not null,sex enum('M','W') not null)engine=INNODB default charset=utf8;   //创建表desc user;   //查看表结构
show create table user\G;  //查看建表sql,\G表示分别罗列出每个属性的详细信息
drop table user;   //删除表

CRUD

>     insert增加       	#1
insert into user(id, name, age, sex) values(null, 'zhang san', 22,
'M');
insert into user(id, name, age, sex) values(null, 'li si', 21, 'W'),
(null, 'gao yang', 20, 'M');>    update修改			#2
update user set age=23 where name='zhang san';
update user set age=age+1 where id=3;>    delete删除			#3
delete from user where age=23;
delete from user where age between 20 and 22;
delete from user;>    select查询			#4
select * from user;
select id,name,age,sex from user;
select * from user where sex='M' and age>=20 and age<=25;>     distinct去重		#5
select distince name from user;>	  is[not]null空值  	#6
select * from user where name is null;>     in子查询			#7
select * from user where id in(10, 20, 30, 40, 50)
select * from user where id not in(10, 20, 30, 40, 50)
select * from user where id in(select stu_id from grade where average>=60.0)>     limit分页			#8
select * from user limit N(offset) ,M(lines);没有索引的情况下,limit可以提高效率
# 1 select * from user limit (pag - 1) * pagnum, pag;  效率低
select * from user where id > 上一页的最后一条数据 limit 20; 效率高
# 2 select * from user  limit 100000, 20;
# 3 select * from user where id > 100000 limit 0, 20;>      order by排序		#9
select id,name,age,sex from user where sex='M' and age>=20 and age<=25
order by age asc;>	   group by分组		#10
select count(id),age from user group by age having age>20;

通过存储过程生成大量测试数据

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,'@fixbug.com'),i+1);
SET i=i+1;
END WHILE;
END$delimiter ;
call add_t_user(2000000);

连接查询

先截个图,如下:
在这里插入图片描述

内连接(即最简单的等值连接):
select * from ta, tb where ta.a = tb.b;左外连接(左连接):把left这边的表所有的数据显示出来,在右表中不存在相应数据,则显示NULL
select a.* from User a left outer join Orderlist b on a.uid=b.uidd where
a.orderid is null;右外连接(右连接):把right这边的表所有的数据显示出来,在左表中不存在相应数据,则显示NULL
select a.* from User a right outer join Orderlist b on a.uid=b.uid where
b.orderid is null

参考图源博客:https://blog.csdn.net/qq_62687015/article/details/128104836

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

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

相关文章

白酒:生产过程的可追溯性与质量控制

在豪迈白酒的生产过程中&#xff0c;可追溯性与质量控制是确保产品安全与品质的重要手段。随着消费者对食品安全与质量的关注度不断提高&#xff0c;建立多方的可追溯体系和严格的质量控制措施成为了酒庄的必然选择。 首先&#xff0c;可追溯性是指从原材料到产品的整个生产过程…

electron安装最后一部卡住了?

控制台如下错误 不是的话基本可以划走了 这个很可能是镜像出现问题了&#xff0c;不一定是npm镜像 打开npm的配置文件添加下述 electron_mirrorhttps://cdn.npmmirror.com/binaries/electron/ electron_builder_binaries_mirrorhttps://npmmirror.com/mirrors/electron-build…

vscode 设置打开终端的默认工作目录/路径

vscode 设置打开终端的默认工作目录/路径** 文章目录 vscode 设置打开终端的默认工作目录/路径**打开vscode&#xff0c;打开设置UI 或是设置JSON文件&#xff0c;找到相关设置项方式1&#xff1a;通过打开settings.json的UI界面 设置:方式2&#xff1a;通过打开设置settings.j…

深入理解网络通信基本原理和tcp/ip协议

深入理解网络通信基本原理和tcp/ip协议 一、计算机网络体系1&#xff0c;计算机网络体系结构2&#xff0c;网络中数据传输2.1&#xff0c;浏览器中输入一个url的执行流程2.2&#xff0c;数据在网络中是的传输流程 3&#xff0c;三次握手和四次挥手3.1&#xff0c;三次握手3.1.1…

leetcode 2581. 统计可能的树根数目【换根dp】

原题链接&#xff1a;2581. 统计可能的树根数目 题目描述&#xff1a; Alice 有一棵 n 个节点的树&#xff0c;节点编号为 0 到 n - 1 。树用一个长度为 n - 1 的二维整数数组 edges 表示&#xff0c;其中 edges[i] [ai, bi] &#xff0c;表示树中节点 ai 和 bi 之间有一条边…

【appium】Hybrid应用自动化|微信小程序自动化

目录 一、Hybrid&#xff08;nativewebview&#xff09;应用自动化 1、webview 2、Hybrid应用自动化实现 2.1准备工作 Step1&#xff1a;准备android 4.4版本以上的手机/模拟器 Step2&#xff1a;在app源码中将webview调试模式打开 Step3&#xff1a;安装UC开发者工具 U…

4_相机透镜畸变

理论上讲&#xff0c;是可能定义一种透镜而不引入任何畸变的。然而现实世界没有完美的透镜。这主要是制造上的原因&#xff0c;因为制作一个“球形”透镜比制作一个数学上理想的透镜更容易。而且从机械方面也很难把透镜和成像仪保持平行。下面主要描述两种主要的透镜畸变并为他…

ICVQUANTUMCHINA报告:《2024全球量子计算产业发展展望》

2月20日&#xff0c;《2024量子计算产业发展展望》的中文版报告通过光子盒官方平台发布&#xff0c;英文版报告通过ICV官方平台发布。 英文版报告获取地址&#xff1a; https://www.icvtank.com/newsinfo/897610.html 在过去的一年里&#xff0c;光子盒与您一同见证了全球量子…

10 款最佳硬盘分区软件知识分享(2024更新)

硬盘分区软件是您当前需要的最重要的软件之一。我们知道&#xff01; 当今的硬盘分区软件具有令人难以置信的多功能性&#xff0c;并且由于激烈的竞争&#xff0c;对于大多数人来说仍然是相对低成本的投资。 目前&#xff0c;市场上有数十种硬盘分区软件可供选择 - 找到 2024…

力扣-移除元素

问题 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长…

进销存是什么意思?如何开发一款进销存管理系统?

这篇给大家详细介绍一下&#xff0c;进销存到底是什么&#xff0c;进销存管理系统有什么用&#xff1f;企业如何开发一款进销存管理系统&#xff1f; 以下内容示例工具均来自于JDY——https://www.jiandaoyun.com 一、进销存是什么&#xff1f; 1、基本概念 进销存&#xff0…

HarmonyOS开发云工程与开发云函数

创建函数 您可直接在DevEco Studio创建函数、编写函数业务代码、为函数配置调用触发器。 1.右击“cloudfunctions”目录&#xff0c;选择“New > Cloud Function”。 2.输入函数名称后&#xff0c;点击“OK”。 函数名称仅支持小写英文字母、数字、中划线&#xff08;-&a…

vue中组合式API和选项式API的区别

组合式api&#xff08;Composition API&#xff09;是vue3对我们开发者来说变化非常大的更新&#xff0c;我们先不关注具体语法&#xff0c;先对它有一个大的感知。 通过vue2, vue3两种形式实现同一个需求&#xff0c;理解vue3的compition api 带来的好处 两个独立的功能&…

leetcode 重复的子字符串

前要推理 以abababab为例&#xff0c;这里最主要的就是根据相等前后缀进行推导 s [ 0123 ] 如 t【 0123 】 f 【01 23 】 后两个分别是前后缀&#xff0c;第一个是总的字符串&#xff0c;然后可以推导 //首先还是算出…

从Spring Boot应用上下文获取Bean定义及理解其来源

前言 在Spring框架中&#xff0c;Bean是组成应用程序的核心单元。特别是在Spring Boot项目中&#xff0c;通过使用SpringApplication.run()方法启动应用后&#xff0c;我们可以获得一个ConfigurableApplicationContext实例&#xff0c;这个实例代表了整个应用程序的运行时环境…

ArcgisForJS如何使用ArcGIS Server发布的GP服务?

文章目录 0.引言1.ArcGIS创建GP服务2.ArcGIS Server发布GP服务3.ArcgisForJS使用ArcGIS Server发布的GP服务 0.引言 ArcGIS for JavaScript&#xff08;或简称AGJS&#xff09;是一个强大的工具&#xff0c;它允许开发者使用JavaScript在Web浏览器中创建和运行ArcGIS应用程序。…

❤ git操作Github、git操作github

❤ 操作github 一、git操作Github 1、设置用户名和邮件地址 git config --global user.name "nexuslin" git config --global user.email "2455067339qq.com"2、生成本地密钥 ssh-keygen -t rsa -C 2455067339qq.com3、接下来就一直回车&#xff0c;然…

Docker数据集与自定义镜像:构建高效容器的关键要素

目录 博客前言 一.数据卷 1.数据卷介绍 2.实战 宿主机和容器共享目录 容器和容器之间共享目录 二.自定义镜像 1.自定义镜像介绍 2.实战 2.1自定义centos&#xff0c;具备vim及ifconfig作用 构建镜像 通过镜像运行一个容器进行测试 2.2自定义tomact&#xff08;文件为…

(转载)SpringCloud 微服务(三)-Seata解决分布式事务问题

ps:这个原文写的很好&#xff0c;怕后续这个地址失效&#xff0c;备份一个留着自己学习 转自&#xff1a;SpringCloud 微服务&#xff08;三&#xff09;-Seata解决分布式事务问题_seata 黑马 代码-CSDN博客 看完了黑马程序员的免费课程&#xff0c;感觉受益匪浅&#xff0c;…

【Oracle】玩转Oracle数据库(七):RMAN恢复管理器

前言 嘿&#xff0c;数据库大魔法师们&#xff01;准备好迎接新的技术大招了吗&#xff1f;今天我们要探索的是Oracle数据库中的神奇利器——RMAN恢复管理器&#xff01;&#x1f6e1;️&#x1f4be; 在这篇博文【Oracle】玩转Oracle数据库&#xff08;七&#xff09;&#xf…