MySQL数据库
文章平均质量分 85
想跳上月球
学习、记录、分享
有问题请指正,欢迎骚扰
展开
-
【MySQL数据库】 七
JDBC的api其实还是有一些繁琐的,因此,在Java中,有人就对JDBC进一步封装得到了一些数据库操作的框架(ORM) , 那样就可以简单的操作数据库 .比如,MyBatis框架等。但是JDBC是提供了一套统一的api,但是数据库本身也有自己的原生api,因此这里就需要一个驱动包, 其实是每个数据库厂商提供了一些代码,把数据库原生api进行转化。删除和修改操作与上面的插入操作,代码完全相同,只是构造的SQL语句不一样 , 返回值都是一个简单的整数 ,表示受影响的行数 . (以下代码以插入为例)原创 2023-11-08 17:25:58 · 343 阅读 · 0 评论 -
【MySQL数据库】 六
此时每个节点上,都可以保存多个元素, 当总的元素个数固定,相比于二叉搜索树,涉及到的节点的总数就大大降低了,树的高度也大大降低了(B树的高度远远小于二叉搜索树的高度) , 因此进行查询的时候,硬盘IO的次数也随之减少了。如果中间执行到中间出错了 , 就需要自动把之前前面已经成功执行的操作,进行还原,还原会最初没有执行的模样, 本质上,这里的"一个都不执行",指的是 看起来和 没执行一样。最大的问题,在于红黑树的高度,会在元素个数比较多的时候,变得比较高,因此会引入较多的硬盘IO。原创 2023-11-08 15:31:32 · 237 阅读 · 0 评论 -
【MySQL数据库】 五
多表联合查询的使用,一定要克制 , 既会影响到运行效率,又会影响到开发效率 (可读性差) , 所以千万不要以写复杂sql为荣!SQL中编写条件,条件都是列和列之间进行比较 , 但是SQL无法进行行和行之间的比较, 但是 把行转换成列 就好办了。在实际开发中,可能会涉及到一些比较复杂的sql, 但是sql写复杂了其实是不好的。笛卡尔积是一个非常低效的操作,尤其是表的本身的记录比较多的情况。就是把两个表的记录,按照排列组合的方式,构造成一个更大的表。本质上是自己和自己做笛卡尔积,本质是把行之间的关系转换为。原创 2023-11-08 14:47:53 · 161 阅读 · 0 评论 -
【MySQL数据库】 四
允许客户端,在插入数据的时候,不手动指定主键的值,而是交给mysql自行分配,确保分配出来的这个主键的值,和之前的不重复。一旦约束好了,后续在进行增 删 改的时候,mysql就会自动的对修改的数据做出检查,如果不符合约束就会直接报错!1.插入或者修改子表中受约束的这一列的数据,就需要保证插入/修改后的数据在父表中是存在的. 如果是不存在的,就会报错。设置外键的时候,就会导致在进行的子表的时候,频繁的查询父表 ,这个操作是很耗时的,如果mysql是一个单个节点的系统,基于上述策略,是没有问题的。原创 2023-11-05 23:15:11 · 117 阅读 · 0 评论 -
【MySQL数据库】 三
select * 是一个非常危险的操作 : 如果某个表的数据非常非常多,如果查询这个表所有的数据,那么服务器就会把所有记录放回给客户端,导致一瞬间这个服务器硬盘的带宽和网卡的带宽被吃满!此处客户端中显示的结果是一个临时表,select不管怎么写,都不会影响到数据库服务器上的数据。插入中文的前提是创建数据库的时候设置了utf8为字符集,否则会出现乱码/报错。insert into 表名 values( 值 ,值 , …先按前面列排,如果前面的相同,按后面的排。= 是等价的,都是表示不相等。原创 2023-11-02 13:24:53 · 84 阅读 · 0 评论 -
【MySQL数据库】 二
设置字符集: 后面加上character set utf8 / charset utf8. (手动设定的一个字符集很关键,mysql默认字符集是拉丁文, 不设置字符集后续如果插入中文可能会出现乱码)也是使用数字来表示汉字,在这两个表上,同一个汉字表示的数字不同;同一个数字,表示的汉字也不同。int(11)的含义是:打印的时候,显示最多占11个字符这么宽,和存储范围无关。在工作中,这是一个危险操作,一旦删掉数据库,数据库中的所有数据都没了,varchar(10) 最多是个字,哪怕是汉字,也是十个.原创 2023-11-01 16:39:15 · 90 阅读 · 0 评论 -
【MySQL数据库】 一
总结 : mysql客户端,只是一个用户和数据库服务器交互的窗口 , 不管是cmd还是图形化界面,我们操作的都是sql语句( 实际工作中,或许使用命令行会更多 )由于服务器是被动的一方,所以它往往是7*24小时运行,服务器编程要比客户端更复杂一些,对于稳定性/效率都是有一定要求的。注意:mysql的客户端和服务器是通过网络进行通信的,因此这两个程序可以在一个机器中,也可以在不同的机器上。手机安卓系统内置SQLite,安卓系统内置了SQLite,并且很多的安卓程序,也是使用的这个数据库。原创 2023-11-01 15:25:58 · 71 阅读 · 0 评论