MySQL 慢查询详解

mysql 面试题

常见面试题:如何从一个大项目中,迅速定位执行速度慢的 SQL 语句?此时可以使用慢查询定位 SQL 语句。慢查询,故名思义,就是在日志中记录运行比较慢的 SQL 语句,是指所有执行超过 long_query_time 参数设定的时间阈值的 SQL 语句查询

辰风沐阳 阅读 753 2022-05-14

mysql 数据库设计三大范式

mysql

设计表的依据,按照范式设计出来的表,不会出现数据的冗余。数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构清晰的;反之则是乱七八糟,不仅会给开发人员制造麻烦,还可能存储了大量冗余数据

辰风沐阳 阅读 677 2022-05-14

MyISAM 和 InnoDB 的区别

mysql 面试题

MySQL 的存储引擎其实就是如何存储数据、如何建立索引、如何查询和更新数据等技术的实现方法。事务和外键:MyISAM 强调的是性能,它的执行速度比 InnoDB 更快,但是不支持事务和外键功能;InnoDB 支持事务和外键等高级数据库功能

辰风沐阳 阅读 718 2022-05-08

mysql 函数: find_in_set()、instr()

mysql 数据库

在文章表 article 中有个标签字段 tags,一个文章可以有多个标签, 标签 id: 1 html 2 css 3 javascript, tags 以 1,2,3 的格式存储标签,那么我们可以使用 find_in_set 查找出 tags 中有 1 的标签

辰风沐阳 阅读 861 2021-12-18

MySQL5.7 中使用 group by 报错 this is incompatible with sql_mode=only_full_group_by

mysql TP6.0

这个错误发生在mysql 5.7 版本及以上版本,5.7版本默认的sql_mode配置中包含 `ONLY_FULL_GROUP_BY`,这个配置严格执行了"SQL92标准"。解决方案: 去除 sql_mode 中的 only_full_group_by

辰风沐阳 阅读 1113 2021-08-28

修改数据 update 命令

mysql

如果我们需要修改或更新 MySQL 中的数据,我们可以使用 SQL UPDATE 命令来操作。没有修改条件时将修改表中所有的数据,需要注意;replace 函数:替换某个字段中的某个字符,比如 password = replace(password, 'bcd', '666')

辰风沐阳 阅读 1196 2020-10-10

删除数据 delete、truncate 命令

mysql

delete 删除数据的速度慢,truncate 删除数据的速度快。delete 支持事务,可以进行事务回滚;truncate 不支持事务,不能执行事务回滚。delete 支持带条件的删除,可以只删除某一条数据;truncate 则不行,只能用于删除表中的所有数据。delete 删除不会重置自动增长(auto_increment),truncate 则会重置自动增长的值,重新以 1 开始。delete 可以触发 `触发器`,truncate 则不行

辰风沐阳 阅读 1074 2020-10-10

MySQL 添加数据 insert 命令及优化

mysql

不指定字段名,所有字段必须给值;指定部分字段添加,没有被指定的字段 `要么会自动增长,要么允许为 null,要么有默认值`;添加一条数据时也可以用 `insert ... set`,该方式不能用于一次添加多条数据;添加多条数据:values(数据1),(数据2)

辰风沐阳 阅读 1167 2020-10-07

MySQL 修改密码

mysql

MySQL5.7 修改用户密码:方法一 ALTER USER root@'localhost' IDENTIFIED BY '123456'; 方法二 set password for root@localhost = '123456'; 方法三:mysqladmin -u用户名 -p[密码] password [新密码]

辰风沐阳 阅读 1184 2020-09-26

MySQL 数据库备份和还原数据库 mysqldump、source

mysql

备份指定的数据库,默认包含表数据:mysqldump -u用户名 -p[密码] 库名 > 文件路径。导出指定数据库中的所有表的结构,不要表中的数据:mysqldump -u用户名 -p[密码] -d 库名 > 文件路径

辰风沐阳 阅读 1254 2020-09-22