MySQL数据库操作合集

一、SQL通用语法

①SQL语句可以单行或多行书写,以分号结尾。

②SQL语句可以使用空格/缩进来增强语句可读性。

③MySQL数据库的SQL语句不区分大小写关键字建议使用大写

④注释:  单行注释: -- 注释内容 或 # 注释内容(MySQL特有)

                 多行注释: /* 注释内容 */ 

二、SQL分类

DDL(Data Definition Language):数据定义语言,用于定义数据库对象(数据库,表,字段)

DML(Data Manipulation Language):数据操作语言,用来对数据库表中的数据进行增删改

DQL(Data Query Language):数据查询语言,用来查询数据库中的表的记录

DCL(Data Control Language):数据控制语言,用来创建数据库用户、控制数据库的访问权限

三、DDL

数据库操作:

--查询所有的数据库:  SHOW DATABASES;--查询当前数据库:SELECT DATABASE();--创建:CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则];--删除:DROP DATABASE [IF EXISTS] 数据库名;--使用:USE 数据库名

表操作:

-- 查询当前数据库所有表:SHOW TABLES;-- 查询表结构:DESC 表名;--查询指定表的建表语句:SHOW CREATE TABLE 表名;-- 创建表:CREATE TABLE 表名(字段1  字段1类型[COMMENT 字段1注释],   -- id int comment '编号'字段2  字段2类型[COMMENT 字段2注释],字段3  字段3类型[COMMENT 字段3注释],字段4  字段4类型[COMMENT 字段4注释],...字段N  字段N类型[COMMENT 字段N注释]    -- 最后一个参数没有 ,
)[COMMENT 表注释];   -- comment 'xx表';

数据类型:

数值类型:

精度:整个数值的长度

标度:小数部分的位数 

UNSIGNED: 标记为无符号(非负)

字符串类型:

char(10)、varchar(10)   : 10代表最多存储10个字符,如果超出则会报错

char(10):即使存储一个字符也会占用10个字符空间,未使用空间使用空格补充(效率高)

varchar(10):存储一个字符占用1个字符空间,会根据实际内容计算存储空间(效率低)

日期类型:

表操作:

-- 添加字段:ALTER TABLE 表名 ADD 字段名 类型(长度)[COMMENT 注释][约束];
--ALTER TABLE emp ADD nickname varchar(20) COMMENT '昵称';-- 修改数据类型:ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);-- 修改字段名和字段类型:ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度)[COMMENT 注释][约束];
--ALTER TABLE emp CHANGE nickname username varchar(30) COMMENT '用户名';-- 删除字段:ALTER TABLE 表名 DROP 字段名;
-- ALTER TABLE emp DROP username;-- 修改表名:ALTER TABLE 表名 RENAME TO 新表名;
--ALTER TABLE emp RENAME TO  employee;-- 删除表:DROP TABLE [IF EXISTS] 表名; -- 删除指定表,并重新创建该表:TRUNCATE TABLE 表名;   --删除表时,表中所有数据都会被删除

四、DML

数据操作:

-- 给指定字段添加数据:INSERT INTO 表名(字段名1,字段名2,....) VALUES (值1,值2,...);-- 给全部字段添加数据:INSERT INTO 表名 VALUES(值1,值2,...);-- 批量添加数据:INSERT INTO 表名(字段名1,字段名2,...) VALUES (值1,值2,...),(值1,值2,...),(值1,值2,...);INSERT INTO 表名 VALUES (值1,值2,...),(值1,值2,...),(值1,值2,...);--插入数据时,指定字段顺序应该与值保持一致--字符串和日期类型数据应该包含在引号中--插入数据的大小,应该在字段的规定范围内-- 修改数据:UPDATE 表名 SET 字段名1=值1, 字段名2=值2, ... [WHERE 条件];-- 修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表所有的数据。-- 删除数据:DELETE FROM 表名 [WHERE 条件]-- DELETE语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据
-- DELETE语句不能删除某一个字段的值 (可以使用UPDATE)

五、DQL

查询关键字: SELECT

查询操作:

SELECT字段类表
FROM表名列表
WHERE条件列表
GROUP BY分组字段列表
HAVING 分组后条件列表
ORDER BY 排序字段列表
LIMIT分页参数-- 条件查询 (WHERE)
-- 聚合函数 (count、max、min、avg、sum)
-- 分组查询 (GROUP BY)
-- 排序查询 (ORDER BY)
-- 分页查询 (LIMIT)-- 查询多个字段SELECT 字段1,字段2,字段3,... FROM 表名;SELECT * FROM 表名;-- 设置别名SELECT 字段1 [AS 别名1], 字段2 [AS 别名2] ... FROM 表名;-- 去除重复记录SELECT DISTINCT 字段列表 FROM 表名;

WHERE条件查询:

-- 查询名字为两个字的员工信息SELECT * FROM emp WHERE name = '__';-- 查询身份证最后一位为x的员工信息SELEECT * FROM emp WHERE idcard = '%x';-- 查询身份证信息为空的员工信息SELECT * FROM emp WHERE idcard IS NULL;

聚合函数:

count(统计数量)、max(最大值)、min(最小值)、avg(平均数)、sum(总计)

NULL值不参与聚合函数运算

-- 统计员工表员工数量SELECT COUNT(*) FROM emp;-- 统计员工表平均年龄SELECT AVG(age) FROM emp;-- 查询最大员工的年龄SELECT MAX(age) FROM emp;-- 查询最小员工的年龄SELECT MIN(age) FROM emp;-- 统计年龄总和SELECT SUM(age) FROM emp;

分组查询:

-- 语法SELECT 字段列表 FROM 表名 [WHERE 条件] GROUP BY 分组字段名 [HAVING 分组后过滤条件]

关键词: GROUP BY

WHERE: 分组之前进行过滤,不满足WHERE条件,不参与分组 ,且不能对分组查询过滤

HAVING: 对分组之后的结果进行过滤

-- 根据性别分组,统计男性员工 和 女性员工的数量SELECT gender,COUNT(*) FROM emp GROUP BY gender;-- 根据性别进行分组,统计男性员工和女性员工的平均年龄SELECT gender,AVG(age) FROM emp GROUP BY gender;-- 查询年龄小于45的员工,并根据工作地址分组,获取员工数量大于等于3的工作地址SELECT address, count(*) address_count FROM emp WHERE age <= 45 GROUP BY address HAVING COUNT(*) >= 3;

执行顺序:WHERE > 聚合函数 > HAVING

分组后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义。

排序查询:

关键词:ORDER BY

SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1 , 字段2 排序方式2;
-- 根据年龄对公司的员工进行升序排序SELECT * FROM emp ORDER BY age asc;-- 根据年龄对公司的员工进行倒序排序SELECT * FROM emp ORDER BY age desc;-- 根据年龄对公司的员工进行升序排序,年龄相同则按入职时间降序排序SELECT * FROM emp ORDER BY age asc , entrydata desc;

分页查询:

关键词:LIMIT

SELECT 字段列表 FROM 表名 LIMIT 起始索引 , 查询记录数;

起始索引从0开始,起始索引=(查询页面-1)* 每页显示的记录数

分页查询在不同数据库中有不同的实现,MySQL中是LIMIT

如果查询的是第一页数据,起始索引可以省略,简写为 LIMIT 10;

-- 查询第一页的员工数据,每页展示10条记录SELECT * FROM emp LIMIT 0,10;-- 查询第二页的员工数据,每页展示10条记录SELECT * FROM emp LIMIT 10,10;

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

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

相关文章

传统工程项目管理与业财一体化管理的区别?

在工程项目管理领域&#xff0c;传统管理模式与新兴的业财一体化管理模式正在形成鲜明对比。随着数字化转型的加速&#xff0c;工程行业对高效、透明、协同的管理需求日益迫切。传统工程项目管理依赖人工操作、分散系统和分模块管理&#xff0c;难以应对复杂项目的全生命周期需…

敦煌网测评从环境搭建到风控应对,精细化运营打造安全测评体系

自养号测评&#xff0c;抢占流量为快速提升产品权重和销量&#xff0c;很多卖家常采用自己养号补单测评的方式&#xff0c;技术搭建需要很多要素 一、硬件参数的关联性 在我们使用设备进行注册或操作账号的过程中&#xff0c;系统会记录下大量的系统与网络参数&#xff0c;其中…

redis Pub/Sub 简介 -16 (PUBLISH、SUBSCRIBE、PSUBSCRIBE)

Redis Pub/Sub 简介&#xff1a;PUBLISH、SUBSCRIBE、PSUBSCRIBE Redis Pub/Sub 是一种强大的消息传递范例&#xff0c;可在应用程序的不同部分之间实现实时通信。它是构建可扩展和响应式系统的基石&#xff0c;允许组件在没有直接依赖的情况下进行交互。本章将全面介绍 Redis…

JavaSE核心知识点03高级特性03-01(集合框架)

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 JavaSE核心知识点03高级特性03-01&#xff0…

日志分析-IIS日志分析

环境准备 https://xj.edisec.net/challenges/115 题目要求 windows系统中才有的IIS服务 既然是windows平台&#xff0c;当然需要rdp登录&#xff0c;在ssh登录失败 解题过程 phpstudy--2018站点日志.(.log文件)所在路径&#xff0c;提供绝对路径 Windows服务的日志一般有固定…

一、web安全基础入门

1、Windows命令 文件和目录操作 dir&#xff1a;列出当前目录下的文件和子目录。cd&#xff1a;切换目录&#xff0c;例如 cd C:\Users 切换到C盘的Users目录。md 或 mkdir&#xff1a;创建新目录&#xff0c;如 md testdir。rd 或 rmdir&#xff1a;删除空目录&#xff0c;例…

动态规划应用场景 + 代表题目清单(模板加上套路加上题单)

1. 序列型DP&#xff08;Sequence DP&#xff09; ✅ 应用场景 单个或多个序列&#xff08;数组/字符串&#xff09;&#xff0c;求最优子结构。 常见问题&#xff1a;最长递增子序列、最长公共子序列、回文子序列。 &#x1f9e0; 套路总结 单序列&#xff1a;dp[i] max(…

Linux iSCSI存储共享实验指南

实验介绍 1、在Linux平台上通过iSCSI协议实现IP-SAN存储共享 2、掌握存储导出(export)和存储导入(import)的配置方法 3、学习iSCSI存储的发现、连接、断开和管理操作 1、实验环境 两台同网段的Linux虚拟机&#xff08;无需物理交换机&#xff09; 操作系统&#xff1a;Lin…

从 Docker 到 runC

从 Docker 到 runC:容器底层原理详解 目录 1. Docker 与 runC 的关系 2. Docker 的核心组件 3. runC 的核心功能 4. 实战示例:从 Docker 到 runC 4.1 示例场景:运行一个简单容器 4.2 Docker 底层调用 runC 的流程 4.3 查看 runC 的调用 4.4 直接调用 runC 创建容器 …

使用Python在PowerPoint中插入形状(Shape)

在进行演示文稿设计时&#xff0c;形状&#xff08;Shape&#xff09;不仅可以增强视觉效果&#xff0c;还可以用于展示流程图、标注、数据图示等。借助Python&#xff0c;我们可以通过代码快速批量地在PPT中添加各种形状&#xff0c;提升设计效率。本文将介绍如何使用Python向…

Windows系统下MySQL 8.4.5压缩包安装详细教程

一、MySQL 8.4.5新特性概览 相较于旧版本&#xff0c;MySQL 8.4.5在性能与功能上实现了显著提升&#xff1a; 性能优化&#xff1a;官方测试显示&#xff0c;在高并发场景下&#xff0c;其读写性能较5.7版本提升近2倍&#xff0c;尤其在处理热点数据竞争问题时表现更为出色。…

深度解析Vue项目Webpack打包分包策略 从基础配置到高级优化,全面掌握性能优化核心技巧

深度解析Vue项目Webpack打包分包策略 从基础配置到高级优化&#xff0c;全面掌握性能优化核心技巧 一、分包核心价值与基本原理 1.1 为什么需要分包 首屏加载优化&#xff1a;减少主包体积&#xff0c;提升TTI&#xff08;Time to Interactive&#xff09;缓存利用率提升&am…

【昇腾开发者训练营:Dify大模型部署实战】MindIE + Dify + DeepSeek + Embedding模型 + Rerank模型

文章目录 部署 Dify1. Dify 适配 ARM2. 安装 docker3. 启动 Dify MindIEDify 实操手册1. 基础环境搭建1.1 环境检查1.2 下载模型权重1.3 获取MindIE镜像 2. 启动容器3. 纯模型推理测试3.1 纯模型对话测试3.2 性能测试 4. 服务化部署4.1 MindIE 配置4.2 MindIE 服务化4.3 发起测…

塔能高温冰蓄冷技术:工厂能耗精准节能的创新之路

在工厂的能耗构成中&#xff0c;制冷系统是重要的耗能环节。传统的水蓄冷和冰蓄冷技术在实际应用中存在一些局限性&#xff0c;难以满足工厂对节能和成本控制的更高要求。塔能科技的高温冰蓄冷技术&#xff0c;凭借其独特的优势&#xff0c;为工厂能耗精准节能提供了创新的解决…

通过现代数学语言重构《道德经》核心概念体系,形成一个兼具形式化与启发性的理论框架

以下是对《道德经》的数学转述尝试&#xff0c;通过现代数学语言重构其核心概念&#xff0c;形成一个兼具形式化与启发性的理论框架&#xff1a; 0. 基础公理体系 定义&#xff1a; 《道德经》是一个动态宇宙模型 U(D,V,Φ)&#xff0c;其中&#xff1a; D 为“道”的无限维…

SQLMesh Typed Macros:让SQL宏更强大、更安全、更易维护

在SQL开发中&#xff0c;宏&#xff08;Macros&#xff09;是一种强大的工具&#xff0c;可以封装重复逻辑&#xff0c;提高代码复用性。然而&#xff0c;传统的SQL宏往往缺乏类型安全&#xff0c;容易导致运行时错误&#xff0c;且难以维护。SQLMesh 引入了 Typed Macros&…

5月23日day34打卡

GPU训练及类的call方法 知识点回归&#xff1a; CPU性能的查看&#xff1a;看架构代际、核心数、线程数GPU性能的查看&#xff1a;看显存、看级别、看架构代际GPU训练的方法&#xff1a;数据和模型移动到GPU device上类的call方法&#xff1a;为什么定义前向传播时可以直接写作…

集群、容器云与裸金属服务器的全面对比分析

文章目录 引言 集群 2.1 定义 2.2 特点 2.3 应用场景 容器云 3.1 定义 3.2 核心功能 3.3 应用场景 裸金属 4.1 定义 4.2 特点 4.3 应用场景 三者的区别 5.1 架构与性能 5.2 管理与运维 5.3 成本与灵活性 总结 1. 引言 在云计算和数据中心领域&#xff0c;50…

Vscode +Keil Assistant编译报错处理

Vscode Keil Assistant编译报错处理 1.报错图片内容 所在位置 行:1 字符: 25 chcp.com 65001 -Command & c:\Users\92170.vscode\extensions\cl.keil-a … ~ 不允许使用与号(&)。& 运算符是为将来使用而保留的&#xff1b;请用双引号将与号引起来(“&”)&…

Java实现中文金额转换

概述 话不多说&#xff0c;直接上代码 代码 /*** Author: hweiyu* Description: TODO* Date: 2025/5/23 11:33*/ import java.math.BigDecimal; import java.util.Scanner;public class AmountToChinese {// 中文数字字符private static final String[] NUMBERS {"零&…