数据库
文章平均质量分 63
数据库相关知识集合
tea-Sir
实践才是检验真理的唯一标准。
展开
-
一文彻底弄懂MySQL的字符集和排序规则
字符集就是多个字符的集合,比如诗集里面就包含了诗,文集里面就包含了不同的文章,而不同的字符集里面就包含了不同的字符,也就能够支持存储不同类型的数据。MySQL常用的字符集如下:GBK:支持中文,但是不是国际通用字符集UTF-8:支持中英文混合场景,是国际通用字符集latin1:MySQL默认字符集utf8mb4:完全兼容UTF-8,用四个字节存储更多的字符如果只做国内业务,为了性能考虑可以选择GBK;但哪个公司没有一个国际化的梦想,为了将来考虑,选择utf8mb4。原创 2024-03-19 22:22:54 · 773 阅读 · 0 评论 -
Mysql索引优化实战
mysql索引优化原创 2022-08-05 18:00:46 · 209 阅读 · 0 评论 -
一条SQL在MySQL中是如何执行的
1、MySQL可以分为Server层和存储引擎层两部分。Server层包括连接器、查询缓存、分析器、优化器、执行器等核心功能;存储引擎层负责数据的存储和读取。2、连接器负责管理连接和权限校验。3、查询缓存每次SQL查询时会先去缓存里面查询,缓存里面key为SQL,value为结果集;如果SQL能匹配上,可以直接返回结果,省去额外的复杂操作;如果无法匹配上,则会继续执行后面的操作,将结果存入缓存中;httpshttps。...原创 2022-07-30 16:36:28 · 231 阅读 · 0 评论 -
索引最佳实践
索引优化原创 2022-07-24 23:12:46 · 144 阅读 · 0 评论 -
Explain详解
Explain详解原创 2022-07-24 18:50:55 · 920 阅读 · 0 评论 -
深入理解Mysql索引底层数据结构与算法
深入理解Mysql索引底层数据结构与算法原创 2022-07-24 15:18:26 · 251 阅读 · 0 评论 -
数据库事务和隔离级别详解
事务、原子性、隔离性、一致性、持久性、隔离级别、mysql、Oracle。原创 2021-12-22 22:45:53 · 763 阅读 · 0 评论 -
DECIMAL(16,4)的长度含义
DECIMAL(16,4) 总共能存16位数字,末尾4位是小数(小数点不算在长度内)原创 2021-09-06 19:42:12 · 1541 阅读 · 0 评论 -
mysql怎么将String截取并转化为Date
业务场景:数据库存有一个"2021-08-23 14:43:36.722"类型的字符串,需要将该字符串转化为"2021-08-23"的Date类型。1、从左开始截取字符串left(str, length) 说明:left(被截取字段,截取长度) eg.“2021-08-23 14:43:36.722”>“2021-08-23”2、将String类型转化为Date使用的函数:STR_TO_DATE(str,format)说明 str:字符形式的日期 format:格式原创 2021-08-23 16:20:35 · 2445 阅读 · 0 评论 -
MySQL数据库调优
1.定义字段时,选择合适的类型和长度。比如:金额用decimal,日期用date,时间用time,定义枚举字典表等。2.每个表要定义主键,确定每行数据的唯一性。3.选择合适的数据库引擎,比如:myISAM,innoDB等。innoDB支持事务、外键、数据恢复等,适用于对数据一致性要求高,除增查外删、更新也比较频繁的情况。myISAM插入和读取数据效率高,对数据删、更新较少的情况可以选择。根据具体业务选择合适的引擎。4.连接两个表使用join时,尽量保持字段类型一致。5.不要使用select原创 2021-06-27 21:42:58 · 243 阅读 · 1 评论 -
mysql如何快速生成百万条测试数据
想要在mysql中快速生成百万条测试数据如果使用SQL批量插入显然工作量会很大,可以利用内存表插入数据快的特点,再调用存储过程往内存表插入数据,从内存表中查询数据插入到内存表的思路来解决问题。1.创建内存表CREATE TABLE `vote_record_memory` ( `id` INT (11) NOT NULL AUTO_INCREMENT, `user_id` VARCHAR (20) NOT NULL, `vote_id` INT (11) NOT NULL, `group_id`原创 2021-06-27 21:28:23 · 2758 阅读 · 5 评论 -
Navicat连接不上本地MySQL数据库
今天发现Navicat连接不上本地MySQL数据库,报错如下:解决方法:1、打开计算机管理,如下:2.找到MYSQL57,右键“启动”,问题解决。原创 2021-05-28 23:02:13 · 4460 阅读 · 1 评论 -
mysql中find_in_set()函数的使用以及和in的区别
1.MySQL手册中find_in_set函数的语法:FIND_IN_SET(str,strlist)str 要查询的字符串strlist 字段名 参数以”,”分隔 如 (1,2,6,8)查询字段(strlist)中包含(str)的结果,返回结果为null或记录假如字符串str在由N个子链组成的字符串列表strlist 中,则返回值的范围在 1 到 N 之间。 一个字符串列表就是一个由一些被 ‘,’ 符号分开的子链组成的字符串。如果第一个参数是一个常数字符串,而第二个是type SET列,则FIN原创 2020-12-08 15:58:08 · 753 阅读 · 0 评论 -
mybatis一对多resultMap的定义
1.一条记录的字段对应多个对象eg.数据库的菜单字段中有部分字段对应Menu类,有部分字段对应Meta类。 <resultMap id="BaseResultMap" type="com.teaboy.vhr.model.Menu"> <id column="id" property="id" jdbcType="INTEGER"/> <result column="url" property="url" jdbcType="VARCHAR原创 2020-06-12 17:31:25 · 1389 阅读 · 0 评论 -
mysql常见数据库操作
往表里插入数据:insert into t_book (author,name)values(2,3)查询以a开头的某个字段所有记录select * from t_book where name like ‘%a’根据条件更新某条记录update t_book set name=12 where id=1原创 2020-05-19 22:08:06 · 113 阅读 · 0 评论 -
oracle常用数据库操作
1.oracle数据库中怎么删除表删除表里面的数据:delete table 表名; Oracle会记录日志,可恢复 速度慢truncate table 表名; 不记录日志,速度快,不可恢复直接删除掉表drop table 表名;2.oracle数据库中怎么修改表中NUMBER精度ALTER table 表名 MODIFY 字段名 NUMBER(10,10);3.NUMB...原创 2020-03-17 11:44:41 · 173 阅读 · 0 评论 -
Oracle SQLDeveloper ORA-01017 invalid username/password;logon denied (密码丢失解决方案)
Oracle SQLDeveloper ORA-01017 invalid username/password;logon denied (密码丢失解决方案)oracle sys账号用sql developer工具无法登陆 用户名和密码不一致如果的确是丢失密码的话:在SQL*Plus中执行如下命令:SQL>conn/as sysdba (操作系统认证登录)SQL>alter ...原创 2019-04-21 09:58:56 · 827 阅读 · 0 评论 -
超过经理收入的员工
Employee 表包含所有员工,他们的经理也属于员工。每个员工都有一个 Id,此外还有一列对应员工的经理的 Id。±—±------±-------±----------+| Id | Name | Salary | ManagerId |±—±------±-------±----------+| 1 | Joe | 70000 | 3 || 2 | He...原创 2019-07-23 16:53:22 · 82 阅读 · 0 评论 -
第二高的薪水
SQL架构编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) 。±—±-------+| Id | Salary |±—±-------+| 1 | 100 || 2 | 200 || 3 | 300 |±—±-------+例如上述 Employee 表,SQL查询应该返回 200 作为第二高的薪水。如果不存在第二高的薪水,...原创 2019-07-23 16:29:52 · 193 阅读 · 0 评论 -
外连接组合两个表
表1: Person±------------±--------+| 列名 | 类型 |±------------±--------+| PersonId | int || FirstName | varchar || LastName | varchar |±------------±--------+PersonId 是上表主键...原创 2019-07-23 15:54:51 · 657 阅读 · 0 评论 -
数据库连接以及预编译sql语句的编写
String driver = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/test"; String username = "root"; String password = "123456"; Class.forName(driver);//加载驱动 Connectio...原创 2019-04-19 13:04:21 · 567 阅读 · 0 评论 -
怎么用MySQL创建一个表格
CREATE TABLE student(id INT(5) PRIMARY KEY auto_increment,username VARCHAR(40) NOT NULL,password VARCHAR(40) NOT NULL,name VARCHAR(20) NOT NULL,gender VARCHAR(10) NOT NULL,age INT(3) NOT NULL,...原创 2018-12-26 22:17:52 · 6293 阅读 · 0 评论