MySQL数据库查缺补漏——基础篇

news2024/9/29 9:32:13

MySQL数据库查缺补漏-基础篇

基础篇

net start mysql80[服务名]

net stop mysql80

create database pshdhx default charset utf8mb4;

为什么不使用utf8?因为其字符占用三个字节,有四个字节的字符,所有需要设置为utf8mb4;

数值类型:

在这里插入图片描述

字符串类型:

在这里插入图片描述

日期类型:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

用户管理

use mysql;

create user ‘pshdhx’@‘localhost’ identified by ‘123456’

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

alter user ‘pshdhx’@‘%’ identified with mysql_native_password by ‘123456789’;

用户权限控制:

在这里插入图片描述

查询权限:

show grants for ‘pshdhx’@‘localhost’;

授予权限

grant all on db1.* to ‘pshdhx’@‘localhost’

撤销权限:

revoke all on db1.* from ‘pshdhx’@‘localhost’

MySQL函数

字符串函数:

在这里插入图片描述

数值函数:

在这里插入图片描述

日期函数:

在这里插入图片描述

流程函数:

在这里插入图片描述

MySQL约束

在这里插入图片描述

alter table emp add constraint fk_emp_detp_id foreign key (dept_id) references dept(id);

alter table emp drop foreign key fk_emp_dept_id;

cascade:级联删除外键。

alter table emp add constraint fk_emp_detp_id foreign key (dept_id) references dept(id) on update cascasd on delete cascade;

set null:设置 null

多表查询

内连接

​ SELECT * FROM emp ,dept where emp.emp_id = dept.dept_id and dept.dept_id = 2;

​ SELECT * FROM emp INNER JOIN dept on emp.emp_id = dept.dept_id;

​ 注意:如果emp的id为空,则该条记录不展示,取的是交集

外连接

​ 左外连接

​ 右外连接

​ 通常,右外连接可以调换顺序可以改成左外连接

自连接

​ 注意都要起别名

联合查询

union 【合并后去重】,union all 【不去重】

子查询

​ 单行子查询:=

​ select * from emp where (salary,managerid) = (12500,1);

​ select * from emp where (salary,managerid) = (select salary,managerid from emp where name=‘pshdhx’);

​ 多行多列子查询:in

事务

操作的集合。

查看事务的提交方式:

​ select @@autocommit; 为1就是自动提交。为0就是手动提交。

​ set @@autocommit=0; 设置手动提交。

事务操作:

​ 开启事务:start transaction 或者是begin

​ 提交事务:commit

​ 回滚事务:rollback

事务四大特性:

​ 1、原子性(Atomicity):事务是不可分割的最小操作单元,要么全部成功,要么全失败。

​ 2、 一致性(Consistence):事务完成时,必须使所有的数据都保持一致。

​ 3、隔离性(Isolation):数据库提供的隔离机制,保证事务不受外部并发操作影响的独立环境下运行。

​ 4、持久性(Durability):事务一旦提交或回滚,它对数据库中的数据的改变是永久的。【持久化到data目录下】

并发事务问题:

​ 1、脏读:一个事务读取到另外一个事务没有提交的数据。

​ 2、不可重复度【修改】:一个事务先后读取同一条记录,但是两次读取的数据不同。

​ 3、幻读【新增】:一个事务按照条件查询数据时,没有对应的数据行。但是在插入数据时,又发现这行数据已经存在。

事务隔离级别:

脏读不可重复度幻读
读未提交
读已提交[Oracle默认]
可重复度[Mysql默认]
串行化【加锁】

select @@Transactoin_isolation

set [session | global] transaction isolation level {read uncommitted | read committed | repeatable read| serializable}

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

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

相关文章

免费获取独立ChatGPT账户!!

GPT对于每个科研人员已经成为不可或缺的辅助工具,不同的研究领域和项目具有不同的需求。如在科研编程、绘图领域:1、编程建议和示例代码: 无论你使用的编程语言是Python、R、MATLAB还是其他语言,都可以为你提供相关的代码示例。2、数据可视化…

无涯教程-JavaScript - TANH函数

描述 TANH函数返回数字的双曲正切。 语法 TANH (number)争论 Argument描述Required/OptionalNumberAny real number.Required Notes 双曲正切的公式为- $$TANH\left(z\right)\frac {SINH\left(z\right)} {COSH\left(z\right)} \frac {e ^ ze ^ {-z}} {e ^ z e ^ {-z}} …

企业AI机器人,客户服务的好帮手!

客户服务对于任何业务运营来说都是很重要的方面。它是企业与其客户之间的直接联系点,可以进行有效的沟通以及解决问题。良好的客户服务体验可以显著影响公司的声誉,从而提高客户满意度、留存率并最终实现收益增长。 很多企业想尽各种方法想要提供更好的…

如何玩转CSDN AI工具集

前言 人工智能生成内容(AIGC)是当下最具有前景的技术领域之一。AI能够以惊人的速度和准确度生成各种类型的内容,完成文章翻译、代码生成、AI对话、插图创作等工作,带来了许多令人兴奋的机遇。 本文将介绍CSDN AI工具集的基本使用…

9.4.1网站编写(Tomcat和servlet基础)

一.Tomcat: 1.Tomcat是java写的,运行时需要依赖jre,所以要装jdk. 2.建议配置好环境变量. 3.默认端口号8080(业务端口)可能会被占用,建议改一下(本人改成了9999). 4.另一个默认端口是8005(管理端口). 二Servlet基础(编写一个hello world代码): 整体分为7个步骤,分别是创建…

力扣:104. 二叉树的最大深度(Python3)

题目: 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 来源:力扣(LeetCode) 链接:力扣(LeetCode)官网 - 全球极客挚爱…

使用FileZilla连接本地和服务器进行文件传输

项目场景: 使用FileZilla连接本地和服务器进行文件传输 问题描述 使用FileZilla连接本地和服务器进行文件传输出现150或425 原因分析: 1.防火墙是否开放端口 2.公共ip或账号密码是否正确 解决方案: 从配置到解决问题的步骤 1.下载安装F…

IC修真院 | 业内首个模拟流片项目重磅上线!

自从不久前IC修真院数字方向65nm流片项目上线,就开启了大家对模拟流片项目的“催更”日常。 这里放个口:了解流片项目实战 众所周知IC行业经验至上,其中模拟IC尤甚。 大多数同学在高校中并没有机会接触流片项目,更别说积累经验了…

D. The Enchanted Forest

Problem - D - Codeforces 思路:一直在正向的考虑,这个题从反向考虑更加容易,首先如果k>n的话,初始的一定都可以拿完,并且我们知道生长的蘑菇的总量是n*k个蘑菇,那么如果我们知道剩下了多少个蘑菇&#…

【Java 基础篇】深入理解 Java 管道(Pipes):从基础到高级

Java 管道(Pipes)是一种强大的工具,用于实现进程间通信(Inter-Process Communication,IPC)。在本文中,我们将深入探讨 Java 管道的各个方面,从基础概念到高级用法,旨在帮…

linux-crontab每分钟定时执行/定时任务调度

文章目录 一、前言二、crontab概述2.1、crontab命令简介2.2、linux定时任务分类 三、安装crontab四、crontab使用4.1、crontab语法4.2、定时任务设置4.3、定时任务格式4.4 crontab表达式在线验证 五、实例六、定时任务的日志 一、前言 本文讲解linux上如何调用定时任务&#x…

以太网ARP测试实验

1.1 ARP测试整体框架 当上位机发送ARP请求时,FPGA返回ARP应答数据;当按下FPGA的触摸按键时,FPGA发送ARP请求,上位机返回ARP应答数据。 PLL时钟对eth_rxc的输入时钟进行相位调整;GMII TO RGMI 模块负责将双沿(DDR)数据和…

树莓派安装mariadb

mariadb与mysql十分类似,他们的使用方法类似,默认端口也都是3306 文章参考 树莓派mysql安装配置 – 蒋智昊的博客 目录 1 树莓派系统情况 2 安装mariadb 3 启动数据库 4 设置数据库自启动 5 进入数据库 1 树莓派系统情况 用的是树莓派4&…

Linux性能调优 —— 内存篇

Linux性能调优 —— 内存篇 Linux内存的工作原理 内存映射的概念 虚存空间分布 内存分配与回收 分配 回收 内存查看与分析 查看内存使用情况 命令:free 命令:vmstat 命令:top 分析单个进程 命令:ps -p Linux内存的工作原理…

把api_key 设置成win10系统变量然后python调用

1 设置环境变量存储秘钥 将API密钥存储在环境变量中,而不是直接写在代码中,可以降低泄露密钥的风险。 新建系统变量: 变量名:OPENAI_API_KEY 变量值:OpenAI API秘钥(上一步复制的那个key) 2获取值 import openai i…

torch.cuda.is_available() 在有的项目中返回True有的返回Flase

问题描述,刚下了一个项目,不能用CUDA 同一个环境不同项目中 torch.cuda.is_available() 返回值不同 问题来源: 这里的运行配置有问题 选择编辑配置并修改对应的解释器 查看 和 是否对应。 import torch print(torch.__version__) prin…

iOS蓝牙 Connection Parameters 关键参数说明

1. 先贴苹果文档 《 Accessory Design Guidelines for Apple Devices 》 2. 几个关键词 connection Event Interval 事件间隔,为1.25ms的倍数。可以简单理解为,是两个连接着的蓝牙设备发送“心跳包”的时间间隔; 范围是 6 ~ 3200,即 7.5…

运算符超详细讲解(系统性学习day5)

目录 前言 一、运算符的概念与分类 二、算术运算符 三、关系运算符 四、逻辑运算符 五、赋值运算符 六、运算符的优先级 总结 前言 本篇文章是对运算符的具体讲解。 一、运算符的概念与分类 概念: 运算符就是一种告诉编译器执行特定的数学或逻辑操作的符…

HarmonyOS开发:解决DevEco Studio低版本导入高版本项目运行失败问题

前言 基于DevEco Studio 4.0 Beta2,hvigorVersion为3.0.2,开发了一个项目,上传到了远程仓库,当同事下载后,却始终无法运行,频繁报错,由于API都是使用的9,第一感觉就是开发环境不同&a…

【LeetCode-简单题KMP】232. 用栈实现队列

文章目录 题目方法一:用输入栈和输出栈模拟队列 题目 方法一:用输入栈和输出栈模拟队列 只有输出栈为空的时候才能将输入栈的元素补充到输出栈,否则输出栈不为空,如果再从输入栈往输出栈填充元素,就会弄乱队列的先进先…