当前位置: 首页 > 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&…...

51单片机IO口不够用?试试用PCF8574模块驱动LCD1602,只需2根线!

51单片机IO口资源紧张&#xff1f;PCF8574模块驱动LCD1602的极致精简方案 当你用51单片机做项目时&#xff0c;是否经常遇到这样的困境&#xff1a;核心功能还没实现&#xff0c;IO口就已经捉襟见肘&#xff1f;特别是当需要连接LCD1602这类常用显示设备时&#xff0c;传统的8…...

Yaade与Postman对比:为什么自托管是更好的选择

Yaade与Postman对比&#xff1a;为什么自托管是更好的选择 【免费下载链接】yaade Yaade is an open-source, self-hosted, collaborative API development environment. 项目地址: https://gitcode.com/gh_mirrors/ya/yaade 在当今API开发领域&#xff0c;选择合适的工…...

从《蜘蛛侠》到《黑客帝国》:聊聊大厂PCG管线里,美术和程序怎么‘分锅’与协作

从《蜘蛛侠》到《黑客帝国》&#xff1a;游戏工业化中的美术与程序协作范式演进 当《漫威蜘蛛侠》的虚拟曼哈顿在玩家眼前展开时&#xff0c;很少有人意识到这座数字城市的每块砖石都凝结着美术与程序团队的博弈。而在《黑客帝国&#xff1a;觉醒》的完全程序化都市里&#xff…...

Zotero PDF Translate:打破语言壁垒,让外文文献阅读更高效 [特殊字符]

Zotero PDF Translate&#xff1a;打破语言壁垒&#xff0c;让外文文献阅读更高效 &#x1f680; 【免费下载链接】zotero-pdf-translate Translate PDF, EPub, webpage, metadata, annotations, notes to the target language. Support 20 translate services. 项目地址: ht…...

数字通信系统核心:从IQ调制到星座图,深入解析PSK/QAM的实现与优化

1. 数字通信系统的核心&#xff1a;IQ调制揭秘 第一次接触IQ调制这个概念时&#xff0c;我也被它绕晕了。什么同相分量、正交分量&#xff0c;听起来就像天书。直到有一天&#xff0c;我在调试无线电设备时突然想通&#xff1a;这不就是把数字信号"画"在旋转的圆盘上…...

Equalizer APO终极指南:如何免费打造专业级音频系统

Equalizer APO终极指南&#xff1a;如何免费打造专业级音频系统 【免费下载链接】equalizerapo Equalizer APO mirror 项目地址: https://gitcode.com/gh_mirrors/eq/equalizerapo 你是否曾想过&#xff0c;只需一款免费软件就能让普通音响系统释放出专业级的音质表现&a…...

SlowFast复现避坑大全:从ava.json配置到pkl模型下载,解决‘libopenh264.so.5’等常见报错

SlowFast实战排错指南&#xff1a;关键配置与依赖问题深度解析 当你在深夜的显示器前第三次看到libopenh264.so.5报错时&#xff0c;咖啡杯已经见底。这不是一篇按部就班的安装教程&#xff0c;而是一份来自实战前线的"生存手册"——我们将直击SlowFast复现过程中最致…...

C++核心语法:explicit与友元全解析

一、上期回顾搞定菱形继承、虚继承&#xff0c;解决多继承二义性与数据冗余&#xff0c;继承板块彻底学完。今天集中补齐 C 剩余高频语法细节&#xff1a;explicit 关键字、友元函数 / 友元类、命名空间深度、成员初始化细节&#xff0c;收尾 C 基础语法全部重难点。二、explic…...

量子纠缠蒸馏技术:原理、应用与最新进展

1. 量子纠缠蒸馏技术概述量子纠缠蒸馏&#xff08;Quantum Entanglement Distillation&#xff09;是量子信息科学中的一项基础性技术&#xff0c;其核心目标是从受噪声污染的混合态中提取出高纯度的纠缠态。这项技术最早由Bennett等人于1996年提出&#xff0c;现已成为构建量子…...

火山引擎AgentKit实战:从零构建企业级AI智能体应用

1. 从零到一&#xff1a;AgentKit代码工坊深度解析与实战指南如果你正在寻找一个能快速上手、功能强大的企业级AI Agent开发平台&#xff0c;那么火山引擎的AgentKit绝对值得你花时间深入研究。最近&#xff0c;我花了大量时间泡在它的官方代码示例仓库bytedance/agentkit-samp…...