
Mysql
文章平均质量分 80
此生辽阔
这个作者很懒,什么都没留下…
展开
-
牛客刷题笔记-数据库选择题(201-300)
201 在数据库系统中,系统故障造成(C )。硬盘数据丢失软盘数据丢失内存数据丢失磁带数据丢失系统故障时,数据库缓冲区(内存)中的内容全被丢失,一些尚未完成的结果可能已送入物理数据库。202 候选码中属性称为( B)。非主属性主属性复合属性关键属性候选码(Candidatekey)若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码。简单的情况:候选码只包含一个属性。就是数据库中,主键和复合主键的区别! 主键:单独一个字段就能唯一标识一行数据; 复合主键:也称为联原创 2021-11-01 13:02:54 · 14474 阅读 · 4 评论 -
牛客SQL刷题记录
SQL1 查找最晚入职员工的所有信息select*from employees order by hire_date desc limit 1;select * from employees where hire_date = (select max(hire_date) from employees);ORDER BY 根据指定的列对结果集进行排序,默认按照升序,降序 ORDER BY DESCLIMIT(m, n) 从第 m + 1 行开始取 n 条记录SQL2 查找入职员工时间排原创 2021-10-31 22:06:25 · 780 阅读 · 0 评论 -
Mysql实战45讲学习笔记(1)
01 | 基础架构:一条SQL查询语句是如何执行的?数据库里面,长连接是指连接成功后,如果客户端持续有请求,则一直使用同一个连接。短连接则是指每次执行完很少的几次查询就断开连接,下次查询再重新建立一个。建立连接的过程通常是比较复杂的,所以我建议你在使用中要尽量减少建立连接的动作,也就是尽量使用长连接。MySQL 拿到一个查询请求后,会先到查询缓存看看,之前是不是执行过这条语句。之前执行过的语句及其结果可能会以 key-value 对的形式,被直接缓存在内存中。key 是查询的语句,value 是查询原创 2021-07-28 22:13:58 · 375 阅读 · 0 评论 -
牛客刷题笔记-数据库选择题(101-200)
101 在学生表 Student 的系别 (Sdept) 属性中查询信息系 (IS) 、数学系 (MA) 和计算机系 (CS) 的学生姓名 (Sname) 和性别 (Ssex) ,正确的命名格式应为:BSELECT Student FROM Sname, Ssex WHERE Sdept IN (‘IS’, ’MA’, ‘CS’)SELECT Sname, Ssex FROM Student WHERE Sdept IN (‘IS’, ’MA’, ‘CS’)SELECT Sname, Ssex FRO原创 2021-07-27 12:20:16 · 25190 阅读 · 1 评论 -
牛客刷题笔记-数据库选择题(1-100)
1 数据库事务的4个特征是:原子性、一致性、( )、隔离性。只读性封装性持续性恢复性C:原子性:事务执行情况只能有两种:全部执行,全部不执行(回滚制度)一致性:事务执行前后数据具有一致性隔离性:事务之间不可以相互干扰持续性:事务一旦执行,不可自然逆转。2 在 SQL 语言中,DELETE 语句的作用是(D)。删除基本表删除视图删除基本表和视图删除基本表和视图的元组删除表和视图只能使用Drop语句,而Delete只能删除表和视图里面的数据。这里的元组也就是数据库表中的 行原创 2021-07-15 08:51:17 · 7787 阅读 · 2 评论 -
MySQL事务
mysql事务隔离的实现原理在java里面,加了锁会导致程序执行效率变低,所以有CAS机制,mysql里面就有mvcc(多版本并发控制)mvcc是在并发场景下提高读写效率,当前读:读取的是数据的最新版本,总是读取到最新的数据快照读:读取的是历史版本的记录原子性:要么全部成功,要么全部失败假设一个事务中有5条sql语句,这些语句是按顺序执行的,当执行到第4条执行失败之后,前面3条会回滚,回滚到上一个历史版本状态,mysql里面的历史版本不是以文件的形式存在,而是通过undolog实现的什么样的s原创 2021-07-13 23:52:23 · 179 阅读 · 0 评论 -
MySQL锁机制
锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(如CPU、RAM、I/O等〉的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。锁的分类按照对数据的操作来分:读锁和写锁读锁(共享锁):针对同一份数据,多个操作可以同时进行而不会互相影响.写锁(排他锁):当前写操作没有完成前,它会阻断其他写锁和读锁按照原创 2021-07-12 12:02:48 · 531 阅读 · 2 评论 -
MySQL索引机制-图灵教育诸葛老师
索引是帮助MySql高效获取数据的排好序的数据结构在上图中,如果想要查找89使用select * from table where col2=89的话,需要遍历整个表,需要6次查询才能找到如下图,如果给Col2列加上索引,那么只要2次就能查找到89了,查找到89所在的行,根据指针就能定位到89所在的行在磁盘中的地址0X77这样就节约来了6次查找,查一次就是一次IO,我们要尽可能减少磁盘的IO次数用合理的数据结构存储索引字段,再来执行sql语句,根据索引的数据结构来查找,效率就会提升很多如果对上原创 2021-07-09 22:00:12 · 964 阅读 · 4 评论 -
mysql-索引-马士兵教育
Mysql的执行计划有的sql语句执行效率高,有的执行效率低,所以需要对sql语句做调整和优化,就会涉及到执行计划执行计划具体来说就是一条sql语句的执行过程,我们只能看到执行过程中用到了哪些关键的信息,并根据这些信息做判断面试官问到你做过哪些mysql的优化调整?大部分人会说添加索引,优化索引,那怎么判断一条sql语句有没有使用索引呢,这时候就需要通过执行计划进行显示了,执行计划说白了就是需要在sql语句前面加上关键字explain,在sql语句前面加上explain之后,它会输出n多个列举例这原创 2021-07-09 14:58:42 · 1879 阅读 · 0 评论 -
mysql 5.7从零开始学_第九章 |索引
零散知识点在mysql中数据库文件可以是frm MYD MYI ibd结尾的文件数据库是一个个二进制文件组成的,要对这些文件执行select update等操作需要通过数据库实例来完成存储引擎是底层物理结构的实现,每个存储引擎开发者可以按照自己的意愿来进行开发存储引擎是基于表的,而不是数据库mysql官方手册的16章给出了编写自定义存储引擎的过程InnoDB是行锁设计,支持外键,默认读取操作不会产生锁MVCC(多版本并发控制)MyIsam存储引擎表由MYD和MYI组成,MYD存放数据文件,M原创 2021-07-08 19:28:38 · 289 阅读 · 0 评论 -
Mysql技术内幕|InnoDB存储引擎学习笔记-第5章 索引与算法
零散知识点在mysql中数据库文件可以是frm MYD MYI ibd结尾的文件数据库是一个个二进制文件组成的,要对这些文件执行select update等操作需要通过数据库实例来完成存储引擎是底层物理结构的实现,每个存储引擎开发者可以按照自己的意愿来进行开发存储引擎是基于表的,而不是数据库mysql官方手册的16章给出了编写自定义存储引擎的过程InnoDB是行锁设计,支持外键,默认读取操作不会产生锁MVCC(多版本并发控制)MyIsam存储引擎表由MYD和MYI组成,MYD存放数据文件,M原创 2021-07-08 16:03:00 · 177 阅读 · 1 评论 -
Mysql命令集合
SHOW CREATE DATABASE shop --查看创建数据库的语句SHOW CREATE TABLE student2 --查看创建表的语句(逆向操作,写不出来建表命令,就在可视化界面创建表然后查看建表命令)DESC student2 --查看表的结构ALTER TABLE student2 RENAME AS teacher --修改表的名字ALTER TABLE teacher ADD age INT(11) --给表增加字段ALTER TABLE teacher MODI原创 2021-07-07 09:30:27 · 184 阅读 · 0 评论 -
mysql获取表中字段,并根据字段的后2个字符,按照升序排列
题目:获取Employees的first_name,查询按照first_name的最后两个字母,按照升序进行排列建表create table `employees` ( `emp_no` int (11), `birth_date` date , `first_name` varchar (42), `last name` varchar (48), `gender` char (3), `hire_date` date ); 插入数据insert into `employees`原创 2021-04-10 21:48:52 · 2090 阅读 · 1 评论 -
【狂神说Java】--MySQL(九)规范数据库统计
9.2 三大范式为什么需要数据规范化?1:因为数据会重复2:更新会有异常3:插入异常(无法正常显示信息)4:删除异常(丢失有效信息)关系型数据库设计:三大范式的通俗理解第一范式要求数据库表中的每一列都是不可分割的原子数据项第二范式前提:满足第一范式,每张表只描述一件事情第二范式需要确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关咱们把订单号和产品号看成联合主键第三范式前提:满足第一范式和第二范式任何非主属性不依赖于其他非主属性,即在第二范式(2NF)基础上消原创 2021-03-26 21:26:11 · 214 阅读 · 1 评论 -
【狂神说Java】--MySQL(八)权限管理和备份
8.1 用户管理SQLyog可视化管理添加新用户,也可以选择删除用户这是给用户权限,查表,改表这些接下来创建新连接 输入我们刚刚的用户名,以及密码可以看到现在创建了两个连接sql命令操作操作删除用户就是操作 用户表 mysql.user本质:对mysql.user这张表进行增删改查-- 创建用户 CREATE USER 用户名 IDENTIFIED BY 密码CREATE USER csdn IDENTIFIED BY '14158'-- 修改密码(修改当前用户密原创 2021-03-24 23:30:38 · 154 阅读 · 0 评论 -
【狂神说Java】--MySQL(七)索引
主键索引、唯一索引MySQL索引背后的数据结构及算法原理7.1 索引的分类MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。在一个表中,主键索引只能有一个,唯一索引可以有多个主键索引:primary key唯一的标识,主键不可重复,只能有一个列作为主键唯一索引 :unique避免重复的列出现,唯一索引可以重复,多个列都可以标识为唯一索引常规索引: (key/index)默认的,可以用in原创 2021-03-24 22:18:43 · 217 阅读 · 0 评论 -
【狂神说Java】--MySQL(六)事务
6.1 什么是事务要么都成功,要么都失败举例:转账假设有两条sql都在执行SQL1: A给B转账SQL2: B收到A的钱假设A给B转账的时候服务器崩了,B收到了,钱就没了,B没收到,钱也没了A最开始有1000,B最开始有 200B收到之后应该是A剩800,B剩400这两个SQL同时执行完,这个事件才算结束如果A给B转了B没收到,钱不见了,这肯定是不行的,事务就是解决这个问题,两个SQL,必须要么都成功,要么都失败核心:将一组SQL放在一个批次中去执行在最新的版本里面,MyIsam也是原创 2021-03-24 19:16:55 · 136 阅读 · 0 评论 -
【狂神说Java】--MySQL(五)MySQL函数
官网:https://dev.mysql.com/doc/refman/5.7/en/func-op-summary-ref.html5.1常用函数数学运算-- 数学运算SELECT ABS(-8) -- 绝对值SELECT CEILING (9.4) -- 向上取整SELECT FLOOR(9.4) -- 向下取整SELECT RAND() -- 生成0-1之间的随机数SELECT SIGN(-5) -- 判断一个数的符号,整数返回1,负数返回-1.0返回0字符串函数--原创 2021-03-23 21:13:44 · 207 阅读 · 0 评论 -
【狂神说Java】--MySQL(四)DQL查询数据(最重点)
4.1 DQLData Query Language 数据库查询语言 查询是最重要的1:所有查询操作都用它 Select2:简单的查询,复杂的查询,它都能做3:数据库中最核心的语言,最重要的语言4: 使用频率最高的语言原创 2021-03-17 10:30:13 · 414 阅读 · 1 评论 -
【狂神说Java】--MySQL(三)MySQL数据管理(增加、删除、修改)
重点删除有外键关系的表的时候,必须先删除应用别人的表(从表),再删除被引用的表(主表)3.1 外键(了解即可)方式一、在创建表的时候增加约束(麻烦,比较复杂)创建年级表CREATE DATABASE school -- 创建数据库CREATE TABLE IF NOT EXISTS grade( -- 创建年级表 `gradeid` INT(10) NOT NULL AUTO_INCREMENT COMMENT '年级id', `gradename` VARCHAR(50) NOT原创 2021-03-14 15:12:03 · 236 阅读 · 0 评论 -
Sqlyog中插入当前时间出现 Data truncated for column ‘birthday‘ at row 1
问题描述UPDATE `student` SET `birthday`=CURRENT_TIME WHERE `name`='此生辽阔' AND `pwd`='258014'执行上述sql语句出错Data truncated for column ‘birthday’ at row 1问题分析我的birthday字段定义为datetime类型,可能是长度不够解决方法把birthday字段改为varchar类型,并定义长度结果...原创 2021-03-14 14:35:16 · 891 阅读 · 0 评论 -
【狂神说Java】--MySQL(二)操作数据库
注意点1:Mysql的关键字不区分大小写2:如果mysql命令中,如果你的表名或者字段名是一个特殊字符,就需要带 ``如下图,user 是student表中的一个字段,但是 user 也是mysql的关键字,mysql就会把user变成大写,但是不影响我们查询,不过我们最好改成如下代码SELECT `user` FROM student3:思路:不会的指令可以在SQLyog中进行操作,然后在历史记录里面会生成相应的代码4:固定的语法或关键字必须强行记住5:金融领域存数据一般用BigD原创 2021-03-14 09:40:01 · 213 阅读 · 0 评论 -
【狂神说Java】--MySQL(一)初识Mysql
1初识数据库JavaEE : 企业级Java开发Web前端(页面:展示,数据!)后台(连接点:连接数据库JDBC,链接前端(控制,控制视图跳转,和给前端传递数据)),数据库(存数据,ITxt,Excel,word)mysql底层有大量的操作系统和互数据结构与算法的知识离散数学,数字电路,编译原理+实战经验===》优秀的程序员1.1为什么要学习Mysql1: 岗位需求2:现在的大数据时代,数据是可以变现的,得数据者,得天下3:数据库是所有软件体系中最核心的存在1.2什么是数据库概念:原创 2021-03-13 20:15:18 · 221 阅读 · 0 评论 -
Mysql资料博文收藏
学习MySQL这一篇就够了原创 2020-10-18 08:52:21 · 276 阅读 · 0 评论