
数据库Mysql
小树ぅ
放弃不难 但坚持一定很酷!
展开
-
【Mysql】Mysql中MyISAM引擎和Innodb引擎的索引区别 及 聚簇索引和非聚簇索引
首先要明确,MyISAM和Innodb引擎的索引底层都是由B+树实现的。一、聚簇索引和非聚簇索引Innodb引擎:叶节点存放一整行记录的索引叫聚集索引。MyISAM引擎:叶子结点存放磁盘地址的索引叫做非聚簇索引。二、Innodb引擎和MyISAM引擎中索引的区别设有数据库表:主键为id,列为 name(索引),class,ageInnodb按照主键B+树的排列方式存放,子节点存放的就是数据。(如果没有主键,以第一列为聚集索引) 只有一个聚集索引。 普通索引指向聚集索引。原创 2022-04-09 01:21:36 · 1700 阅读 · 0 评论 -
【数据结构与算法】B树和B+树的介绍与区别
首先让我们来看一看B树以及B+树的概念以及特征:一、B树1.B树的概念B树(balance tree)和B+树应用在数据库索引,可以认为是m叉的多路平衡查找树它的每个节点最多包含m个孩子,m称为b树的阶,m的大小取决于磁盘页的大小。2.为什么不采用二叉树作为索引数据结构?理论上讲,二叉树查找速度和比较次数都是最小的,为什么不用二叉树呢?因为我们要考虑磁盘IO的影响,它相对于内存来说是很慢的。数据库索引是存储在磁盘上的,当数据量大时,就不能把整个索引全部加载到内存了,只能逐一加载每原创 2022-04-08 02:02:46 · 492 阅读 · 0 评论 -
【Mysql】大批量(百万级)数据插入数据库应该怎么做(提高效率)?
一:在数据库中进行操作1.合并sql语句(一个sql插入单条数据转为一个sql插入多条数据)一个sql插入一条数据:insert into table_name(id,name) values(1,"小明");insert into table_name(id,name) values(2,"小红");一个sql插入多条数据:insert into table_name(id,name) values(1,"小明")(2,"小红");原因:合并后减少了日志生成量2.原创 2022-04-07 21:05:12 · 16624 阅读 · 1 评论 -
【Mysql】union的用法
语法: SQL1 UNION SQL2现有一张价格表要求:求出价格低于2000和价格高于3000的商品,不能用or和not between……and思路:我们可以先求出低于2000的商品得到结果集1再求出高于3000的商品得到结果集2再利用union合并结果集1和结果集2什么时候才允许使用union?答:只要两个结果集的列数相同就可以使用,即使字段类型不相同,也可以使用。第一个结果集有2列,第二个结果集有1列,运行后提示列数不一样的提示。列数相同,但字段类型不同原创 2022-03-06 18:59:00 · 4586 阅读 · 0 评论 -
数据库“新增字段、删除字段、修改字段“
1.数据库删除字段公式:alter table 表名drop column 字段名例:alter table `szd_wx_menu` drop columntext;2.数据库新增字段公式:alter table 表名 add 字段名 字段类型 备注例:alter table `szd_wx_menu` add text varchar(500) comment '文本信息的内容';3.数据库修改字段3.1修改字段名(change方法)公式:alter t..原创 2021-06-29 16:44:31 · 6118 阅读 · 0 评论 -
MySQL 8.0 修改密码 步骤详解(详细图解)
1、以管理员身份打开cmd窗口,定位到MySQL安装目录下的bin目录,输入net stop mysql 回车,关闭MySQL数据库。2、输入mysqld --console --skip-grant-tables --shared-memory(mysqld –skip-grant-tables在MySQL8.0中已失效)回车。(--skip-grant-tables 的意思是启动 MySQL 服务的时候跳过权限表认证)3、重新打开一个命令行窗口,定位到MySQL安装目录下的bi...转载 2021-05-24 17:17:30 · 16818 阅读 · 10 评论 -
MySQL登录时出现Access denied for user ‘root‘@‘localhost‘ (using password: YES)无法打开的解决方法
错误 :ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)从上面这段英文的意思来看,可以这样分析,第一:Access denied(拒绝访问);第二:using password:NO/YES。这里这个using password 的是是否输入了密码,输入了就表示YES,没有就输出NO。根据网上查了很多资料,出现Access denied的原因有如下可能:(1)MySQ原创 2021-05-24 17:11:07 · 3757 阅读 · 0 评论 -
IDEA社区版连接Mysql教学
IDEA社区版默认是不支持database连接的,需要自己手动下载一个Database Naviga安装完成后:输入用户以及密码并且配置如下信息:最后Test connection.原创 2021-03-19 23:40:38 · 2556 阅读 · 3 评论 -
MySQL数据库详细教学--从Mysql以及可视化工具的下载安装到重点知识的总结
费话不多少,我们直接开始Mysql的总结:一、MySql的下载安装这里不在进行介绍,csdn中有很多教程。可视化工具推荐用Sqlyog,当然Mysql-front等都是可以的,大家可以根据自己的情况进行下载安装。二、操作数据库1、创建数据库([]内的代码可加可不加):create database [if not exists] 数据库名2、删除数据库drop database [if exists] 数据库名3、使用数据库use 数据库名4、查看数据库s.原创 2021-03-19 22:46:11 · 218 阅读 · 0 评论 -
精讲 Select count(*) Select count(1) Select count(字段) 的区别
首先要知道COUNT(1)和COUNT(*)表示的是直接查询符合条件的数据库表的行数,而COUNT(列名/字段)表示的是查询符合条件的列的值不为NULL的行数。所以这里得出一个结论:COUNT(1)和COUNT(*):包括对NULL的统计COUNT(字段):不包括对NULL的统计其次有很多关于COUNT(1)和COUNT(*)性能不同的说法(COUNT(1)比COUNT(*)性能好),但实际上,这两种查询方式在实现上没有区别,而且效率一样。总结:COUNT(1)和COUNT...原创 2021-03-18 22:05:48 · 930 阅读 · 1 评论 -
【Mysql】execute和executeUpdate
相同点:execute与executeUpdate的相同点:都可以执行增加,删除,修改 不同点:1:execute可以执行查询语句然后通过getResultSet,把结果集取出来executeUpdate不能执行查询语句2:execute返回boolean类型,true表示执行的是查询语句,false表示执行的是insert,delete,update等等executeUpdate返回的是int,表示有多少条数据受到了影响 ...原创 2021-03-07 16:44:36 · 1734 阅读 · 0 评论