MySQL
罗罗的1024
做个幸福的小吃货
展开
-
mysql触发器的简单使用
insert触发器在insert语句执行之前(before)或者执行之后(after)执行,在insert触发器代码内,可以引用一个名为"delete触发器在delete语句执行之前(before)或者执行之后(after)执行,在insert触发器代码内,可以引用一个名为"update触发器在update语句执行之前(before)或者执行之后(after)执行,在update触发器代码内,可以引用一个名为"在before insert 触发器中,NEW 中的值可以被更新。" 的虚拟表,访问被插入的行。原创 2024-01-11 15:45:20 · 811 阅读 · 0 评论 -
脚本:新增表或者字段
脚本:新增表或者字段。原创 2023-07-12 11:32:03 · 1189 阅读 · 0 评论 -
SQL的 ISNULL 函数
Sybase的IsNull有两个参数MySQL的IsNull只有一个参数。原创 2022-07-20 12:55:08 · 1991 阅读 · 1 评论 -
InnoDB之MVCC精讲
什么是MVCCMVCC,也叫多版本并发控制,是一个”为了提升并发性能“而提出来的一个概念。它没有正式的规范,每个存储引擎和数据库系统实现的方式都是有差异的。实现原理保存某一时刻数据的快照InnoDB版MVCC实现原理每一行记录后面有两列,一列保存行的创建时间,一列保存行的过期时间(删除时间),创建时间和删除时间指的是“系统版本号”MVCC的优缺点优点: 保存这两个系统版本号,使得大多数读操作可以不用加锁缺点:保存这两个系统版本号需要额外的存储空间、检查和维护工作MVCC只在隔离级别原创 2021-11-14 18:55:12 · 1289 阅读 · 0 评论 -
Navicat生成ER图、PDM以及数据字典
生成ER图1、打开数据库2、点击右下角,可以查看ER图中间的连接线就是外键关系3、右键点击数据库,选择逆向数据库到模型4、点击左上角文件,导出生成PDM1、右键数据库,转储SQL文件,仅结构就会生成sql文件2、打开PD选择file ==》reverse enginer ==》database点击确定点击 + 号,使用SQL脚本文件(刚才导出的sql文件)点击确定~~ 欧克...原创 2021-04-18 23:56:10 · 7042 阅读 · 1 评论 -
建表时需不需要外键
外键的作用可以保证数据的一致性和完整性在有外键的表中是不能插入外键不存在的数据,否则会报错要删除主表中的数据,必须把先把对应从表的外键删除才可以没有外键会怎样提高性能,数据库不需要检查它是否违反数据完整性但是会有冗余数据出现建议:海量数据下不用外键,数据量较小可以使用外键...原创 2021-03-23 09:59:08 · 746 阅读 · 0 评论 -
Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: ‘Could not find
mysql> show slave status \G;出现了 Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: ‘Could not find first log file name in binary log index file’ 。。。解决方案mysql> stop slave;Query OK, 0 rows affected (0.01 sec)mysql原创 2021-03-09 16:42:29 · 353 阅读 · 0 评论 -
java.sql.SQLException: Table name pattern can not be NULL or empty
报错如下Caused by: java.sql.SQLException: Table name pattern can not be NULL or empty. at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:545) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:513) at com.mysq原创 2021-02-23 15:25:06 · 931 阅读 · 0 评论 -
mysql: Out of range value for column ‘cid‘
很清楚,是越界的问题解决办法,调整cid的大小,我用的是int(11),字段的值超过其可输入的范围了,可以把字段的类型改一下,比如改成bigint(50)等等。那么int类型最大多少呢?对比一下资料就知道了int 占4个字节,一个字节8位,所以int有32位,2的31次方(有一位是符号位)就是int的最大值(2147483647),超过这个值就不能在使用int了,可以使用bigint...原创 2021-02-23 15:14:20 · 253 阅读 · 0 评论 -
mysql之 IF函数 和 IFNULL函数、ISNULL函数
IF函数在mysql中if()函数的用法类似于java中的三目表达式具体语法如下:IF(expr1,expr2,expr3),如果expr1的值为true,则返回expr2的值,如果expr1的值为false,则返回expr3的值。SELECT job,IF(ename='SMITH','罗罗',null) AS enameFROM empLIMIT 3IFNULL函数IFNULL(expr1,expr2) 函数用于判断第一个表达式是否为 NULL,如果为 NULL ,则返回第二个参数的原创 2020-11-10 20:16:36 · 1218 阅读 · 1 评论 -
MySQL之limit的简单使用和优化
select * from table limit m,n其中m是指记录开始的index,从0开始,表示第一条记录n是指从第m+1条开始,取n条。select * from tablename limit 2,4即取出第3条至第6条,4条记录select * from emp limit 5;原创 2020-11-10 19:11:11 · 330 阅读 · 0 评论 -
mysql之union效率问题
union和union all的主要区别是union all是把结果集直接合并在一起,而union 是将union all后的结果镜像一次distinct,去除重复的记录后的结果。UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。从效率上说,UNION ALL 要比UNION快很多,所以,如果可以确认合并的两个结果集中不包含重复原创 2020-11-10 18:46:08 · 3752 阅读 · 0 评论 -
group by 和 max 的使用细节
group by 和 max()的使用遇到了大坑啦,哎~~数据表sql 语句SELECT ename,job,MAX(sal) FROM empGROUP BY job执行结果发现 max 最大的结果是正确的,但是其余的信息可能是错误的怎么解决呢?SELECT ename,job,MAX(sal) max FROM (SELECT * FROM emp ORDER BY sal DESC) eGROUP BY e.jobORDER BY max desc执行结果如下原创 2020-11-06 10:53:42 · 2053 阅读 · 0 评论 -
本地的SQL文件导入服务器的mysql
1、首先在本地数据库中转储sql 文件2、在上传到服务器,我是上传到/use目录下3、在MySQL中创建数据库,并且使用数据库4.导入/usr 下的SQL文件mysql>source /usr/XXX.sql;5、查看table原创 2020-10-01 11:59:02 · 597 阅读 · 0 评论 -
简单描述三范式
3NF第一范式:建表时要保证列的原子性(即不可分割性),解决表中表的问题第二方式:属性完全依赖于主键,第二范式是在第一范式的基础上建立起来的,即满足第二范式必须先满足第一范式。完全依赖概念:即非主属性不能依赖于主键的部分属性,必须依赖于主键的所有属性第三范式:满足第三范式必须先满足第二范式,第三范式要求一个数据库表中不包含已在其他表中已包含的非主关键字信息。通俗来讲,三范式就是要消除传递依赖,方便理解,可以看做是“消除冗余”。就是各种信息只在一个地方存储,不出现在多张表中...原创 2020-09-28 17:20:49 · 395 阅读 · 0 评论 -
mysql安装,一步到位
把之前的MySQL服务删除,在清除Mysql注册表,保证安装顺利进行问题一:怎么删除服务?在管理员身份的cmd中,输入sc delete mysql 命令,删除服务。问题二:怎么删除MySQL注册表点击开始菜单,找到运行程序,在运行输入框输入regedit计算机\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\MySQL找到之后,删除里面的内容就可以了开始安装MySQLhttps://www.cnblogs.com/alan-lin/p/9原创 2020-08-16 08:39:14 · 258 阅读 · 1 评论 -
MySQL之 Distinct的使用及注意事项
在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。为什么这么说呢?下面给出了解释数据库的结构如下现在我要查询不重复的密码结果和想象的一样,那么我现在要得到age的不重复的记录呢,添加字段试试结果和我们想象的不太一样,难道是作用了两个字段,要两个字段相同才算重复,插入两个相同的试试测试一下,如果推测是对的,那么就只有一对相同的,如果是原创 2020-08-05 13:08:21 · 1207 阅读 · 0 评论