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

面试中常问的mysql数据库指令【杭州多测师_王sir】

数据库中的修改表结构、增删改查、用户权限操作
DDL ==》数据库定义语言   create database,create table  drop table
DML ==》数据库操作语言   insert into,delete from,update set,
DQL ==》数据库查询语言   select .... from....
create database dcs;
use dcs;
show tables;  查看所有的表
desc 表名;   ==》description描述一个表的结构
mysql数据库的基本的数据类型:
1)文本型    varchar,char
2)数值型    int,bigint(存手机号码),float浮点
3)日期型    date,date_format(日期格式化) 
mysql数据库的约束类型:
1)主键约束   primary key
2)自增长约束   auto_increment
3)非空约束   not null
4)默认值约束   default
5)外键约束  foreign key
修改表结构
alter table dcs rename dcs1
altar table dcs add age int(20)
altar table dcs add age int(20) after id
alter table dcs change age sex int(1) primary key auto_increment
alter table dcs modify sex int(1) after id
alter table dcs drop sex  ==》删除一个字段
mysql数据库里面的增
insert into 表名(字段1,字段2,字段3)values(值1,值2,值3) ==》增加一个
insert into 表名(字段1,字段2,字段3)values(值1,值2,值3),(值1,值2,值3)  ==》增加多个值
insert into 表名 value (值1,值2,值3)  ==》值对应的数量和字段的数量必须是一致
insert into 表名 value (值1,值2,值3),(值1,值2,值3)==》增加多个值
mysql数据库里面的删
delete from表名 where id =xxx
truncate 表名
drop table 表名
区别:delete只删除符合条件的数据,不删除表结构和定义,truncate快速删除表的所有数据,不删除表的结构,drop table是删除表结构和定义等等
mysql数据库里面的改 (同一个字段和就是用or,不同的字段和就是用and)
面试题:需要把student表当中成绩不合格和没有成绩的改为80分
update student set score=80 where score <60 or score is null 
mysql数据库里面的查
select * from student   ==》查所有的数据
select id,age,name from student  ==》通过字段进行过滤
select * from student where age >25  and  age <30
select * from student where age >=25  and  age <=30
select * from student where age between 25 and 30
select * from student limit 10  ==》查表的前10行
select * from student limit 0,10
select * from student limit 1,4  ==》查2-5行
select * from student limit 18,6  ==》查19-24行
select * from student order by score desc limit 10;  ==》通过分数降序排序并且查前10行
select * from student where name like “zhang%”  ==》张姓开头的
select * from student where name like “%zhang%” ==》张姓在中间的
select * from student where name like “%zhang”  ==》张姓结尾的
mysql数据库当中的聚合函数
count ==》count(*)和 count(1),count(字段)  ==》count(1)性能会好点
distinct  ==》去重
sum  ==》求和
avg  ==》求平均
max ==》最大
min ==》最小
排序函数   desc ==》descend下降    asc ==》ascend上升
select * from student order by score desc   ==》降序排序
select * from student order by score asc   ==》升序排序
分组函数  ==》看到每一个班级,每一个部门,每一个开头的都需要分组
select class,count(*) from student group by class  ==》查每一个班级的人数总数和班级名称
1)先分组再筛选
求出每一个班级的数学成绩总分大于300分的班级名称和总分数
select class,sum(score) from student group by class having sum(score)>300
2)先筛选再分组
求出每一个班级中男生的班级名称和总分数
select class,sum(score) from student where sex=”男” group by class
3)先筛选再分组再筛选
求出每一个班级中男生的数学成绩总分大于300分的班级名称和总分数
select class,sum(score) from student where sex=”男” group by class having sum(score)>300
where和having之间的区别:
1)group by后面只能接having不能接where
2)where后面是可以接group by,表示先筛选再分组
3)where和having的作用非常相似,都是用来过滤条件的
多表连接【超级重点-需要背诵】
1)基本连接
select * from aa,cc where aa.id = cc.sid
2)内连接(求出2个表的交集部分)
select * from aa inner join cc on aa.id = cc.sid 
3)左连接(以左表为主,左表数据会全部显示,然后右边没有的数据会补null处理)
select * from aa left join cc on aa.id = cc.sid 
4)右连接(以右表为主,右表数据会全部显示,然后左边没有的数据会补null处理)
select * from aa right join cc on aa.id = cc.sid
5)硬连接(机械的拼接,aa表的字段数量必须和cc表的字段数量需要一致)
select * from aa union select * from cc 
6)嵌套=(子查询)
求出张三的成绩?
aa表 ==》有张三的学号id,姓名name
cc表 ==》有张三的学号sid,成绩score
select id from aa where name = “zhangsan”  ==》求出张三的id
select score from cc where sid = (select id from aa where name = “zhangsan”)
7)嵌套in(子查询,in后面可以接一个集合)
select score from cc where sid in (select id from aa where name = “zhangsan”)
8)临时表
select * from aa inner cc on aa.id = cc.sid  ==》设置为临时表t
select t.score from (select * from aa inner cc on aa.id = cc.sid)t where t.name = “zhangsan”
用户权限操作
grant all privileges on *.* to “root”@”%” identified by “123456”
5. 数据库中的视图、索引、存储过程
视图
面试题:你对于视图的理解?
1)视图是基于基础表创建的,然后对视图进行增删改查的操作也会影响到基础表,对基础表进行增删改查的操作也会影响到视图
2)视图的作用? ==》可以对一些敏感信息和数据进行屏蔽,保护数据的安全
索引
分为普通索引,唯一索引,主键索引,联合索引
索引的作用:加快表数据查询的速度,像书的目录一样做一个检索的功能
存储过程
存储过程的作用:可以通过自定义存储过程写sql语句和逻辑,批量的造测试的数据
存储过程的语法:
create procedure dcs() 
begin
#关于sql语句,增删改查的逻辑
end
call dcs()   #调用存储过程

相关文章:

面试中常问的mysql数据库指令【杭州多测师_王sir】

数据库中的修改表结构、增删改查、用户权限操作DDL 》数据库定义语言 create database&#xff0c;create table drop tableDML 》数据库操作语言 insert into&#xff0c;delete from&#xff0c;update set&#xff0c;DQL 》数据库查询语言 select .... from....crea…...

深度学习驱动的智能化革命:从技术突破到行业实践

第一章 深度学习的技术演进与核心架构 1.1 从浅层网络到深度学习的范式转变 深度学习的核心在于通过多层次非线性变换自动提取数据特征,其发展历程可划分为三个阶段:符号主义时代的规则驱动(1950s-1980s)、连接主义时代的浅层网络(1990s-2000s)以及深度学习时代的端到端…...

基于编译器特性浅析C++程序性能优化

最近在恶补计算机基础知识&#xff0c;学到CSAPP第五章的内容&#xff0c;在这里总结并且展开一下C程序性能优化相关的内容。 衡量程序性能的方式 一般而言&#xff0c;程序的性能可以用CPE&#xff08;Cycles Per Element&#xff09;来衡量&#xff0c;其指的是处理每个元素…...

服务器上通过ollama部署deepseek

2025年1月下旬&#xff0c;DeepSeek的R1模型发布后的一周内就火了&#xff0c;性能比肩OpenAI的o1模型&#xff0c;且训练成本仅为560万美元&#xff0c;成本远低于openAI&#xff0c;使得英伟达股票大跌。 下面我们来看下如何个人如何部署deepseek-r1模型。 我是用的仙宫云的…...

Android Coil总结

文章目录 Android Coil总结概述添加依赖用法基本用法占位图变形自定义ImageLoader取消加载协程支持缓存清除缓存监听 简单封装 Android Coil总结 概述 Coil 是一个用于 Android 的 Kotlin 图像加载库&#xff0c;旨在简化图像加载和显示的过程。它基于 Kotlin 协程&#xff0…...

《安富莱嵌入式周报》第351期:DIY半导体制造,工业设备抗干扰提升方法,NASA软件开发规范,小型LCD在线UI编辑器,开源USB PD电源,开源锂电池管理

周报汇总地址&#xff1a;嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 视频版&#xff1a; https://www.bilibili.com/video/BV16C95YEEZs 《安富莱嵌入式周报》第351期&#xff1a;DIY半导体…...

Redis在人员管理系统中的应用示例

用户会话管理 场景&#xff1a;用户登录后存储会话信息&#xff0c;支持多服务器共享 实现&#xff1a; 用户登录成功后&#xff0c;生成唯一Token&#xff08;如JWT&#xff09;&#xff0c;作为Redis的Key Value存储用户ID、角色、权限等信息&#xff0c;设置过期时间&…...

The Wedding Juicer POJ - 2227

采取从外层边界&#xff0c;一步一步向内部拓展的策略&#xff0c;具体来说&#xff0c;一开始将最外面一层的点加入队列&#xff0c;并标记这些点的坐标已经被访问 取出队列中高度最低的点&#xff0c;将其弹出&#xff0c;查看其上下左右的点&#xff0c;如果新点没有被访问…...

# 深入理解RNN(一):循环神经网络的核心计算机制

深入理解RNN&#xff1a;循环神经网络的核心计算机制 RNN示意图 引言 在自然语言处理、时间序列预测、语音识别等涉及序列数据的领域&#xff0c;循环神经网络(RNN)一直扮演着核心角色。尽管近年来Transformer等架构逐渐成为主流&#xff0c;RNN的基本原理和思想依然对于理…...

分布式锁—6.Redisson的同步器组件

大纲 1.Redisson的分布式锁简单总结 2.Redisson的Semaphore简介 3.Redisson的Semaphore源码剖析 4.Redisson的CountDownLatch简介 5.Redisson的CountDownLatch源码剖析 1.Redisson的分布式锁简单总结 (1)可重入锁RedissonLock (2)公平锁RedissonFairLock (3)联锁MultiL…...

同步 Fork 仓库的命令

同步 Fork 仓库的命令 要将您 fork 的仓库的 main 分支与原始仓库&#xff08;fork 源&#xff09;同步&#xff0c;您可以使用以下命令&#xff1a; 首先&#xff0c;确保您已经添加了原始仓库作为远程仓库&#xff08;如果尚未添加&#xff09;&#xff1a; git remote add…...

基于PySide6的CATIA零件自动化着色工具开发实践

引言 在汽车及航空制造领域&#xff0c;CATIA作为核心的CAD设计软件&#xff0c;其二次开发能力对提升设计效率具有重要意义。本文介绍一种基于Python的CATIA零件着色工具开发方案&#xff0c;通过PySide6实现GUI交互&#xff0c;结合COM接口操作实现零件着色自动化。该方案成…...

OpenManus 的提示词

OpenManus 的提示词 引言英文提示词的详细内容工具集的详细说明中文翻译的详细内容GitHub 仓库信息背景分析总结 引言 OpenManus 是一个全能 AI 助手&#xff0c;旨在通过多种工具高效地完成用户提出的各种任务&#xff0c;包括编程、信息检索、文件处理和网页浏览等。其系统提…...

Ubuntu-docker安装mysql

只记录执行步骤。 1 手动下载myql镜像&#xff08;拉去华为云镜像&#xff09; docker pull swr.cn-east-3.myhuaweicloud.com/library/mysql:latest配置并启动mysql 在opt下创建文件夹 命令&#xff1a;cd /opt/ 命令&#xff1a;mkdir mysql_docker 命令&#xff1a;cd m…...

Electron桌面应用开发:自定义菜单

完成初始应用的创建Electron桌面应用开发&#xff1a;创建应用&#xff0c;随后我们就可以自定义软件的菜单了。菜单可以帮助用户快速找到和执行命令&#xff0c;而不需要记住复杂的快捷键&#xff0c;通过将相关功能组织在一起&#xff0c;用户可以更容易地发现和使用应用程序…...

理解 JavaScript 中的浅拷贝与深拷贝

在 JavaScript 开发中&#xff0c;我们经常需要复制对象或数组。然而&#xff0c;复制的方式不同&#xff0c;可能会导致不同的结果。本文将详细介绍 浅拷贝 和 深拷贝 的概念、区别以及实现方式&#xff0c;帮助你更好地理解和使用它们。 1. 什么是浅拷贝&#xff1f; 定义 …...

【Java开发指南 | 第三十五篇】Maven + Tomcat Web应用程序搭建

读者可订阅专栏&#xff1a;Java开发指南 |【CSDN秋说】 文章目录 前言Maven Tomcat Web应用程序搭建1、使用Maven构建新项目2、单击项目&#xff0c;连续按两次shift键&#xff0c;输入"添加"&#xff0c;选择"添加框架支持"3、选择Java Web程序4、点击&…...

从0到1入门Linux

一、常用命令 ls 列出目录内容 cd切换目录mkdir创建新目录rm删除文件或目录cp复制文件或目录mv移动或重命名文件和目录cat查看文件内容grep在文件中查找指定字符串ps查看当前进程状态top查看内存kill终止进程df -h查看磁盘空间存储情况iotop -o直接查看比较高的磁盘读写程序up…...

golang 从零单排 (一) 安装环境

1.下载安装 打开网址The Go Programming Language 直接点击下载go1.24.1.windows-amd64.msi 下载完成 直接双击下一步 下一步 安装完成 环境变量自动设置不必配置 2.验证 win r 输入cmd 打开命令行 输入go version...

如何下载和使用Git:初学者指南

&#x1f31f; 如何下载和使用Git&#xff1a;初学者指南 在当今的软件开发中&#xff0c;Git已经成为不可或缺的版本控制系统。无论你是独立开发者还是团队成员&#xff0c;掌握Git的基本操作都能帮助你更高效地管理代码。今天&#xff0c;我将详细介绍如何下载和使用Git&…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎&#xff08;Physics Engine&#xff09; 物理引擎 是一种通过计算机模拟物理规律&#xff08;如力学、碰撞、重力、流体动力学等&#xff09;的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互&#xff0c;广泛应用于 游戏开发、动画制作、虚…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中&#xff0c;我们可能会遇到一些流式数据处理的场景&#xff0c;比如接收来自上游接口的 Server-Sent Events&#xff08;SSE&#xff09; 或 流式 JSON 内容&#xff0c;并将其原样中转给前端页面或客户端。这种情况下&#xff0c;传统的 RestTemplate 缓存机制会…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

如何在最短时间内提升打ctf(web)的水平?

刚刚刷完2遍 bugku 的 web 题&#xff0c;前来答题。 每个人对刷题理解是不同&#xff0c;有的人是看了writeup就等于刷了&#xff0c;有的人是收藏了writeup就等于刷了&#xff0c;有的人是跟着writeup做了一遍就等于刷了&#xff0c;还有的人是独立思考做了一遍就等于刷了。…...

Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐&#xff1a;「storms…...

零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程

STM32F1 本教程使用零知标准板&#xff08;STM32F103RBT6&#xff09;通过I2C驱动ICM20948九轴传感器&#xff0c;实现姿态解算&#xff0c;并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化&#xff0c;适合嵌入式及物联网开发者。在基础驱动上新增…...

论文阅读:Matting by Generation

今天介绍一篇关于 matting 抠图的文章&#xff0c;抠图也算是计算机视觉里面非常经典的一个任务了。从早期的经典算法到如今的深度学习算法&#xff0c;已经有很多的工作和这个任务相关。这两年 diffusion 模型很火&#xff0c;大家又开始用 diffusion 模型做各种 CV 任务了&am…...

英国云服务器上安装宝塔面板(BT Panel)

在英国云服务器上安装宝塔面板&#xff08;BT Panel&#xff09; 是完全可行的&#xff0c;尤其适合需要远程管理Linux服务器、快速部署网站、数据库、FTP、SSL证书等服务的用户。宝塔面板以其可视化操作界面和强大的功能广受国内用户欢迎&#xff0c;虽然官方主要面向中国大陆…...

运动控制--BLDC电机

一、电机的分类 按照供电电源 1.直流电机 1.1 有刷直流电机(BDC) 通过电刷与换向器实现电流方向切换&#xff0c;典型应用于电动工具、玩具等 1.2 无刷直流电机&#xff08;BLDC&#xff09; 电子换向替代机械电刷&#xff0c;具有高可靠性&#xff0c;常用于无人机、高端家电…...

板凳-------Mysql cookbook学习 (十--2)

5.12 模式匹配中的大小写问题 mysql> use cookbook Database changed mysql> select a like A, a regexp A; ------------------------------ | a like A | a regexp A | ------------------------------ | 1 | 1 | --------------------------…...