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,用来定义数据库对象(数据库、表、字段)CREATE、DROP、ALTER DML: 数据操作语言 Manipulation,用来对数据库表中的数据进行增删改 INSERT、UPDATE、DELETE 注意: 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…...

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

机器学习:多项式拟合分析中国温度变化与温室气体排放量的时序数据
文章目录 1、前言2、定义及公式3、案例代码1、数据解析2、绘制散点图3、多项式回归、拟合4、注意事项 1、前言 当分析数据时,如果我们找的不是直线或者超平面,而是一条曲线,那么就可以用多项式回归来分析和预测。 2、定义及公式 多项…...

一个 24 通道 100Msps 逻辑分析仪
这是一个创建非常便宜的逻辑分析仪的项目,但其功能可与昂贵的商业分析仪相媲美。该分析仪可以以每秒 1 亿个样本的最高速度对多达 24 个通道进行采样,并且可以通过单个通道中的极性变化或多达 16 个通道形成的模式来触发。 该项目不仅包含硬件࿰…...
使用Process Explorer和Dependency Walker排查C++程序中dll库动态加载失败问题
目录 1、exe主程序启动时的库加载流程说明 2、加载dll库两种方式 2.1、dll库的隐式引用...

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

题目 3166: 蓝桥杯2023年第十四届省赛真题-阶乘的和--不能完全通过,最好情况通过67.
原题链接: 题目 3166: 蓝桥杯2023年第十四届省赛真题-阶乘的和 https://www.dotcpp.com/oj/problem3166.html 致歉 害,首先深感抱歉,这道题还是没有找到很好的解决办法。目前最好情况就是67分。 这道题先这样跳过吧,当然以后还…...
ChatGPT- OpenAI 的 模型(Model) 介绍
ChatGPT的火爆程度大家都知道了,该章节我们来了解一下 ChatGPT 一个关键概念 - 模型(Model)。主要是为大家介绍一下在 OpenAI 中,究竟有哪些模型可以使用。 在后续的章节,我们会分单独的小章节逐一的为大家介绍各个不同模型的调用以及接口参…...

X 态及基于 VCS 的 X-Propagation 检测
🔥点击查看精选 IC 技能树系列文章🔥 🔥点击进入【芯片设计验证】社区,查看更多精彩内容🔥 📢 声明: 🥭 作者主页:【MangoPapa的CSDN主页】。⚠️ 本文首发于CSDN&#…...

数据库之事务隔离级别详解
事务隔离级别详解 一、事务的四大特性(ACID)1. 原子性(atomicity):2. 一致性(consistency):3. 隔离性(isolation):4. 持久性(durability): 二、事务的四种隔离级别1. 读未提交(Read uncommitted)࿱…...
守护进程、僵尸进程、孤儿进程
守护进程、僵尸进程、孤儿进程 守护进程(Daemon Process) 定义 守护进程又称Daemon进程(精灵进程),是Linux中的后台服务进程。 它的生命周期较长,通常独立于控制终端并且周期性地执行某种任务或者等待处…...

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

4_用dockerfile制作镜像
Docker 镜像原理 思考: Docker 镜像本质是什么? Docker 中一个centos镜像为什么只有200MB,而一个centos操作系统的iso文件要几个个G? Docker 中一个tomcat镜像为什么有500MB,而一个tomcat安装包只有70多MBÿ…...

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

从设计到产品
从设计到产品 最近上的一些课的笔记,从 0 开始设计项目的角度去看产品。 设计系统 设计系统(design system) 不是 系统设计(system design),前者更偏向于 UI/UX 设计部分,后者更偏向于实现部分。 个人觉得,前端开发与 UI/UX 设…...
《疯狂Python讲义》值传递的细节
函数的参数包含着整个程序的规范性,之前还是没有那么去注意重要的细节,读完书中函数值传递篇章,还是有所收获的。 参数有两种形式,一种是形参一种是实参,形参可以理解为实参的载体,函数当中的关键词也是描…...

【7. ROS 中的 IMU 惯性测量单元消息包】
欢迎大家阅读2345VOR的博客【6. 激光雷达接入ROS】🥳🥳🥳 2345VOR鹏鹏主页: 已获得CSDN《嵌入式领域优质创作者》称号👻👻👻,座右铭:脚踏实地,仰望星空&#…...
pcie m.2固态硬盘装机后无法识别到启动盘
1、第一种情况《系统版本过低》 原因: 使用m.2固态硬盘的电脑,最好安装iwn8.1以上的系统,因为win7系统及其win xp系统 没有自带NVME驱动。 搞定办法: 比较简单的方式就是直接开运行快启动u盘启动盘制作工具将系统升级到win10系…...
Java Web应用开发 ——第四章:JavaBean技术测验
一.单项选择题(共13题,55.9分) 1 在 JSP 中调用 JavaBean 时不会用到的标记是:( ) A、 < jsp:javabean> B、 < jsp:useBean> C、 < jsp:setProperty> D、 < jsp:getProperty> 正确答案&a…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...

cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)
考察一般的三次多项式,以r为参数: p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]; 此多项式的根为: 尽管看起来这个多项式是特殊的,其实一般的三次多项式都是可以通过线性变换化为这个形式…...

从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践
作者:吴岐诗,杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言:融合数据湖与数仓的创新之路 在数字金融时代,数据已成为金融机构的核心竞争力。杭银消费金…...

抽象类和接口(全)
一、抽象类 1.概念:如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象,这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法,包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中,⼀个类如果被 abs…...