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

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

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.lryc.cn/news/172977.html

相关文章:

  • ESP8266 WiFi物联网智能插座—电能计量
  • “智慧”北京,人工智能引领“新风尚”
  • 狮子鱼社区团购小程序v18.1独立全开源版+小程序前端
  • 深拷贝和浅拷贝的区别
  • 利用优化算法提高爬虫任务调度效率
  • Swiper的使用流程
  • 如何快速实现一个可视化看板?
  • 基于PyTorch搭建FasterRCNN实现目标检测
  • 线性表应用(非递减合并、分解链表、删除线性表)
  • 【C++面向对象侯捷下】1.导读
  • Ubuntu22.04 vnc远程黑屏
  • 【1区TOP】Elsevier旗下CCF推荐,仅3个月左右录用!
  • CentOS下安装Python3
  • 微信小程序底部安全区域高度获取
  • 虚拟机部署linux网络连接配置
  • 2591. 将钱分给最多的儿童(Java)
  • c++23中的新功能之十五类tuple类型的完全支持
  • iPhone15线下购买,苹果零售店前门店排长队
  • Vue3如何优雅的加载大量图片?
  • Go语言开发环境搭建指南:快速上手构建高效的Go开发环境
  • flex布局与float布局
  • 【C语言】字符函数和字符串函数(含模拟)
  • 基于YOLOv8模型的条形码二维码检测系统(PyTorch+Pyside6+YOLOv8模型)
  • 2023/09/22 制作demo期间心得
  • 高阶数据结构——图
  • 高性能AC算法多关键词匹配文本功能Java实现
  • 如何在没有第三方.NET库源码的情况,调试第三库代码?
  • 仿互站资源商城平台系统源码多款应用模版
  • 华为云云耀云服务器L实例评测 | L实例性能测试实践
  • VR赋能红色教育,让爱国主义精神永放光彩