当前位置: 首页 > news >正文

SQL(基础)

DDL: 数据定义语言 Definition,用来定义数据库对象(数据库、表、字段)CREATE、DROP、ALTER

DML: 数据操作语言 Manipulation,用来对数据库表中的数据进行增删改 INSERT、UPDATE、DELETE

注意:
DDL是改变表的结构
DML是改变表的数据

DQL: 数据查询语言 Query,用来查询数据库中表的记录 SELECT、FROM、WHERE

DCL: 数据控制语言 Control,用来创建数据库用户、控制数据库的控制权限 GRANT、REVOKE

注意:
DQL就是查询数据
DCL改变用户权限


数据库基本操作

1、查询所有数据库
show databases;

2、查询当前数据库
select database();

3、使用数据库
use 数据库名;

4、查询当前数据库所有表
show tables;

5、查询表的结构
desc 表名;

UTF8字符集长度为3字节,有些符号占4字节,所以推荐用utf8mb4字符集


DDL

1、创建数据库
create database 数据库名;
2、删除数据库
drop database 数据库名;

3、创建表(最后一个字段后面没有逗号)
create table 表名(
字段1 字段1类型,
字段2 字段2类型,
字段3 字段3类型,

字段n 字段n类型
);

4、查询指定表的建表语句
show create table 表名;

5、alter的使用:

添加字段:alter table 表名 add 字段名 类型;

修改数据类型:alter table 表名 modify 字段名 新的数据类型;

修改字段名和字段类型
alter table 表名 change 原来字段名字 新的字段名字 字段类型;

删除字段:alter table 表名 drop 字段名;

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

6、删除操作

删除表:drop table 表名;
删除表并且重新创建该表:truncate table 表名;

请添加图片描述


数据类型

1、数值类型

有符号(signed)
无符号(unsigned)

区别: 是否允许出现负数

2、字符串类型

3、日期时间类型


DML

添加数据:insert
修改数据:update
删除数据:delete

添加数据
1、指定的字段
insert into 表名 (字段名1,字段名2,…) values(值1,值2,…);

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,…);

注意
1、字符串和日期类型的数据应该包含在引号里面
2、插入的数据大小应该在字段的规定范围内

更新操作

修改数据

update 表名 set 字段名1 = 值1,字段名2 = 值2,… [where 条件];

注意:
修改语句的条件如果没有那么就会去修改整张表的所有数据 update

删除操作

删除数据
delete from 表名 [where 条件];

注意
删除语句的条件如果没有那么就会去删除整张表的所有数据 delete

delete语句是不可以去删除某一个字段的值的
可以使用update将其设置为null
请添加图片描述


DQL

模板:

SELECT字段列表
FROM表名字段
WHERE条件列表
GROUP BY分组字段列表
HAVING分组后的条件列表
ORDER BY排序字段列表
LIMIT分页参数

1基础查询
1、查询多个字段

select 字段1,字段2,字段3,… from 表名;
select * from 表名;

2、设置别名
select 字段 as 别名 from 表名;
或者
select 字段 别名 from 表名;

3、去除重复记录
select distinct 字段 from 表名;

2条件查询

select 字段列表 from 表名 where 条件列表;

请添加图片描述

3聚合函数

将一数据作为一个整体来进行纵向的计算

select 聚合函数(字段列表) from 表名;

请添加图片描述
注意:
null值是不参与聚合函数的运算的

4分组查询

注意
where和having的区别:
1、where是分组之前进行过滤,不满足where条件不参与分组,having是分组后对结果进行过滤。
2、where不能对聚合函数进行判断,而having可以。

执行顺序
where > 聚合函数 > having

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

5排序查询

asc 是 升序排序
desc 是 降序排序

注意
如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序

6分页查询

limit 起始索引,查询记录数;

注意

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

2、如果查询的是第一页数据,起始索引可以省略

DQL语句的执行顺序

执行顺序:from、where、group by、having、select、order by、limit

请添加图片描述

注意

根据sql的执行顺序可知:group by 和 having 是在select的前面的,那么select 里面起的别名怎么还可以在having里面使用呢?

--年龄小于45,并根据工作地址分组,获取员工数量大于等于3的工作地址select workaddress, count(*) address_count from employee where age < 45 group by workaddress having address_count >= 3;

DCL

用来 管理数据库用户 以及 控制数据库的访问权限

管理用户

1、查询用户

user mysql;
select * from user;

2、创建用户

create user '用户名'@'主机名' identified by '密码';

3、修改用户密码

alter user ‘用户名’@‘主机名’ identified with mysql_native_password by ‘新密码’;

4、删除用户

drop user '用户名'@'主机名';

注意

创建用户test,能在任意主机访问

create user ‘test’@‘%’ identified by ‘123456’;

也就是说:主机名可以使用 % 通配

权限控制
1、查询权限

show grants for '用户名'@'主机名';

2、授予权限

grant 权限列表(all) on 数据库名.表名 to '用户名'@'主机名';

3、撤销权限
revoke 权限列表(all) on 数据库名.表名 from ‘用户名’@‘主机名’;

注意
1、多个权限用逗号分隔
2、授权时,数据库名和表名可以用 * 进行通配,代表所有
请添加图片描述
请添加图片描述

相关文章:

SQL(基础)

DDL: 数据定义语言 Definition&#xff0c;用来定义数据库对象&#xff08;数据库、表、字段&#xff09;CREATE、DROP、ALTER DML: 数据操作语言 Manipulation&#xff0c;用来对数据库表中的数据进行增删改 INSERT、UPDATE、DELETE 注意&#xff1a; DDL是改变表的结构 DML…...

「OceanBase 4.1 体验」OceanBase 4.1社区版的部署及使用体验

「OceanBase 4.1 体验」OceanBase 4.1社区版的部署及使用体验 一、前言1.1 本次实践介绍1.2 本次实践目的 二、准备环境资源2.1 部署前需准备工作2.2 本地环境规划 三、部署Docker环境3.1 安装Docker3.2 配置Docker镜像加速3.3 开启路由转发3.4 重启Docker服务 四、检查本地Doc…...

计算机操作系统实验:银行家算法模拟

目录 前言实验目的实验内容实验原理实验过程代码如下代码详解算法过程运行结果 总结 前言 本文是计算机操作系统实验的一部分&#xff0c;主要介绍了银行家算法的原理和实现。银行家算法是一种用于解决多个进程对多种资源的竞争和分配的算法&#xff0c;它可以避免死锁和资源浪…...

机器学习:多项式拟合分析中国温度变化与温室气体排放量的时序数据

文章目录 1、前言2、定义及公式3、案例代码1、数据解析2、绘制散点图3、多项式回归、拟合4、注意事项 1、前言 ​ 当分析数据时&#xff0c;如果我们找的不是直线或者超平面&#xff0c;而是一条曲线&#xff0c;那么就可以用多项式回归来分析和预测。 2、定义及公式 ​ 多项…...

一个 24 通道 100Msps 逻辑分析仪

这是一个创建非常便宜的逻辑分析仪的项目&#xff0c;但其功能可与昂贵的商业分析仪相媲美。该分析仪可以以每秒 1 亿个样本的最高速度对多达 24 个通道进行采样&#xff0c;并且可以通过单个通道中的极性变化或多达 16 个通道形成的模式来触发。 该项目不仅包含硬件&#xff0…...

使用Process Explorer和Dependency Walker排查C++程序中dll库动态加载失败问题

目录 1、exe主程序启动时的库加载流程说明 2、加载dll库两种方式 2.1、dll库的隐式引用...

网工Python:如何使用Netmiko的SCP函数进行文件传输?

在网络设备管理中&#xff0c;传输配置文件、镜像文件等是经常需要进行的操作。Netmiko是一个Python库&#xff0c;可用于与各种网络设备进行交互&#xff0c;提供了一些用于传输文件的函数&#xff0c;其中包括SCP&#xff08;Secure Copy Protocol&#xff09;函数。本文将介…...

题目 3166: 蓝桥杯2023年第十四届省赛真题-阶乘的和--不能完全通过,最好情况通过67.

原题链接&#xff1a; 题目 3166: 蓝桥杯2023年第十四届省赛真题-阶乘的和 https://www.dotcpp.com/oj/problem3166.html 致歉 害&#xff0c;首先深感抱歉&#xff0c;这道题还是没有找到很好的解决办法。目前最好情况就是67分。 这道题先这样跳过吧&#xff0c;当然以后还…...

ChatGPT- OpenAI 的 模型(Model) 介绍

ChatGPT的火爆程度大家都知道了&#xff0c;该章节我们来了解一下 ChatGPT 一个关键概念 - 模型(Model)。主要是为大家介绍一下在 OpenAI 中&#xff0c;究竟有哪些模型可以使用。 在后续的章节&#xff0c;我们会分单独的小章节逐一的为大家介绍各个不同模型的调用以及接口参…...

X 态及基于 VCS 的 X-Propagation 检测

&#x1f525;点击查看精选 IC 技能树系列文章&#x1f525; &#x1f525;点击进入【芯片设计验证】社区&#xff0c;查看更多精彩内容&#x1f525; &#x1f4e2; 声明&#xff1a; &#x1f96d; 作者主页&#xff1a;【MangoPapa的CSDN主页】。⚠️ 本文首发于CSDN&#…...

数据库之事务隔离级别详解

事务隔离级别详解 一、事务的四大特性&#xff08;ACID&#xff09;1. 原子性(atomicity)&#xff1a;2. 一致性(consistency)&#xff1a;3. 隔离性(isolation)&#xff1a;4. 持久性(durability)&#xff1a; 二、事务的四种隔离级别1. 读未提交(Read uncommitted)&#xff1…...

守护进程、僵尸进程、孤儿进程

守护进程、僵尸进程、孤儿进程 守护进程&#xff08;Daemon Process&#xff09; 定义 守护进程又称Daemon进程&#xff08;精灵进程&#xff09;&#xff0c;是Linux中的后台服务进程。 它的生命周期较长&#xff0c;通常独立于控制终端并且周期性地执行某种任务或者等待处…...

软件设计师笔记

软件设计师笔记 计算机组成与体系结构 数据的表示、计算机结构、Flynn分类法、CISC与RISC、流水线技术、存储系统、总线系统、可靠性、校验码 1. 数据的表示 &#xff08;一&#xff09;进制转换 R进制转十进制使用按权展开法&#xff1a; 十进制转R进制使用短除法 二进制…...

4_用dockerfile制作镜像

Docker 镜像原理 思考&#xff1a; Docker 镜像本质是什么&#xff1f; Docker 中一个centos镜像为什么只有200MB&#xff0c;而一个centos操作系统的iso文件要几个个G&#xff1f; Docker 中一个tomcat镜像为什么有500MB&#xff0c;而一个tomcat安装包只有70多MB&#xff…...

肝一肝设计模式【四】-- 建造者模式

系列文章目录 肝一肝设计模式【一】-- 单例模式 传送门 肝一肝设计模式【二】-- 工厂模式 传送门 肝一肝设计模式【三】-- 原型模式 传送门 肝一肝设计模式【四】-- 建造者模式 传送门 文章目录 系列文章目录前言一、什么是建造者模式二、举个栗子三、静态内部类写法四、开源框…...

从设计到产品

从设计到产品 最近上的一些课的笔记&#xff0c;从 0 开始设计项目的角度去看产品。 设计系统 设计系统(design system) 不是 系统设计(system design)&#xff0c;前者更偏向于 UI/UX 设计部分&#xff0c;后者更偏向于实现部分。 个人觉得&#xff0c;前端开发与 UI/UX 设…...

《疯狂Python讲义》值传递的细节

函数的参数包含着整个程序的规范性&#xff0c;之前还是没有那么去注意重要的细节&#xff0c;读完书中函数值传递篇章&#xff0c;还是有所收获的。 参数有两种形式&#xff0c;一种是形参一种是实参&#xff0c;形参可以理解为实参的载体&#xff0c;函数当中的关键词也是描…...

【7. ROS 中的 IMU 惯性测量单元消息包】

欢迎大家阅读2345VOR的博客【6. 激光雷达接入ROS】&#x1f973;&#x1f973;&#x1f973; 2345VOR鹏鹏主页&#xff1a; 已获得CSDN《嵌入式领域优质创作者》称号&#x1f47b;&#x1f47b;&#x1f47b;&#xff0c;座右铭&#xff1a;脚踏实地&#xff0c;仰望星空&#…...

pcie m.2固态硬盘装机后无法识别到启动盘

1、第一种情况《系统版本过低》 原因&#xff1a; 使用m.2固态硬盘的电脑&#xff0c;最好安装iwn8.1以上的系统&#xff0c;因为win7系统及其win xp系统 没有自带NVME驱动。 搞定办法&#xff1a; 比较简单的方式就是直接开运行快启动u盘启动盘制作工具将系统升级到win10系…...

Java Web应用开发 ——第四章:JavaBean技术测验

一.单项选择题&#xff08;共13题,55.9分&#xff09; 1 在 JSP 中调用 JavaBean 时不会用到的标记是&#xff1a;&#xff08; &#xff09; A、 < jsp:javabean> B、 < jsp:useBean> C、 < jsp:setProperty> D、 < jsp:getProperty> 正确答案&a…...

Spring PetClinic实战解析:从单体应用到云原生部署的5大架构亮点

Spring PetClinic实战解析&#xff1a;从单体应用到云原生部署的5大架构亮点 【免费下载链接】spring-petclinic A sample Spring-based application 项目地址: https://gitcode.com/gh_mirrors/sp/spring-petclinic 你是否遇到过这样的困境&#xff1a;在学习Spring框架…...

XC6206-1.8V是什么?有哪些作用?

本文主要介绍XC6206-1.8V是什么&#xff1f;有哪些作用&#xff1f;XC6206-1.8V是一款超低功耗、高精度的固定输出低压差线性稳压器&#xff08;LDO&#xff09;&#xff0c;核心作用是把较高电压转换成稳定的1.8V输出&#xff0c;专门为电池供电和低功耗设备设计。图文来源&am…...

全桥LLC变换器死区时间优化实战:从IGBT硬开通到完美ZVS的调试记录

全桥LLC变换器死区时间优化实战&#xff1a;从IGBT硬开通到完美ZVS的调试记录 在电力电子领域&#xff0c;LLC谐振变换器因其高效率、高功率密度和良好的EMI特性&#xff0c;已成为中高功率应用的理想选择。然而&#xff0c;实际调试过程中&#xff0c;死区时间与励磁电感的匹配…...

RWKV7-1.5B-g1a参数详解教程:max_new_tokens/temperature/top_p调优实操手册

RWKV7-1.5B-g1a参数详解教程&#xff1a;max_new_tokens/temperature/top_p调优实操手册 1. 模型简介 rwkv7-1.5B-g1a 是基于新一代 RWKV-7 架构的多语言文本生成模型&#xff0c;特别适合中文场景下的基础问答、文案创作和简短总结任务。作为轻量级模型&#xff0c;它在保持良…...

OliveTin高级功能指南:定时任务、文件监控和实体动态更新

OliveTin高级功能指南&#xff1a;定时任务、文件监控和实体动态更新 【免费下载链接】OliveTin OliveTin gives safe and simple access to predefined shell commands from a web interface. 项目地址: https://gitcode.com/gh_mirrors/ol/OliveTin OliveTin是一个强…...

wan2.1-vae中英文双语支持实测:中文提示词准确率92%+英文prompt兼容性验证

wan2.1-vae中英文双语支持实测&#xff1a;中文提示词准确率92%英文prompt兼容性验证 1. 平台核心能力解析 wan2.1-vae是基于Qwen-Image-2512模型的AI图像生成平台&#xff0c;其最大特色在于原生支持中英文双语提示词。在实际测试中&#xff0c;中文提示词的理解准确率达到9…...

大数据领域数据科学与云计算的结合应用

大数据领域数据科学与云计算的结合应用 关键词:大数据、数据科学、云计算、结合应用、数据分析 摘要:本文深入探讨了大数据领域中数据科学与云计算的结合应用。首先介绍了数据科学和云计算的背景知识,然后详细解释了这两个核心概念及其相互关系。通过具体的算法原理、数学模…...

Sqoop网络传输优化指南:从数据传输机制到带宽调优实战

Sqoop网络传输优化指南&#xff1a;从数据传输机制到带宽调优实战1. 引言&#xff1a;数据迁移的命脉在于网络2. Sqoop数据传输机制深度解析2.1 架构设计&#xff1a;基于MapReduce的并行传输2.2 导入数据的工作机制2.3 导出数据的工作机制2.4 网络交互的核心模式3. 优化网络带…...

AsyncSerial:嵌入式非阻塞串口通信实现

1. AsyncSerial 库深度解析&#xff1a;面向嵌入式实时系统的非阻塞串口通信实现 在嵌入式系统开发中&#xff0c;串口&#xff08;UART/USART&#xff09;通信因其硬件资源占用少、协议简单、调试便捷等优势&#xff0c;始终是固件层最基础且高频使用的外设接口。然而&#xf…...

QLVideo终极指南:让macOS Finder完美预览所有视频格式

QLVideo终极指南&#xff1a;让macOS Finder完美预览所有视频格式 【免费下载链接】QuickLookVideo This package allows macOS Finder to display thumbnails, static QuickLook previews, cover art and metadata for most types of video files. 项目地址: https://gitcod…...