MySQL基础

当数据库的字段名和关键字重名

使用返引号` `括起来,

在java中mybatis plus框架处理办法

在MyBatis-Plus的查询构造器中,也可以直接在调用字段时使用反引号:

queryWrapper.eq("`order`", "some_value");

在实体类上使用@TableField注解: 

对应数据库

@TableField("`order`")
private String order;

也可以关闭对应数据库 

@TableField(exist = false)
private String action;

drop table if exists  type_name

如果存在的话删除表type_name,在执行sql文件的时候,特殊注意,

MySQL外键

逻辑外键和物理外键

物理外键是指通过数据库语法实际设置为外键的情况。在数据库中定义两张表时,使用foreign key来关联它们,从而确保多表之间的数据依赖关系的正确性。

逻辑外键并不是数据库本身的外键约束,但在应用程序中的逻辑可以确保类似的约束效果。逻辑外键并不是数据库本身的外键约束,但在应用程序中的逻辑可以确保类似的约束效果。

只有表一和表二某俩个字段相同才会进行更新表一

UPDATE t_oa_notice_department_user AS t1  
JOIN shoucang AS t2 ON t1.notice_id = t2.notice_id AND t1.employee_no = t2.employee_no  
SET t1.is_collect = 1;


索引

CREATE INDEX index_name ON table_name (column_name);

MySQL 提供了 EXPLAIN 关键字,这是一个非常有用的工具,用于分析 SQL 查询的执行计划。通过 EXPLAIN,您可以深入了解查询是如何被 MySQL 优化器处理并执行的,从而帮助您进行性能调优。

在 EXPLAIN 的输出中,type 列显示了查询使用的访问类型,这些类型按通常的性能从低到高排序为:ALLindexrangerefeq_refconst 和 system

  • all表示全表扫描数据文件返回符合要求的记录。
  • index表示全表扫描索引文件返回符合要求的记录。
  • range表示检索指定范围的行,常见于使用><BETWEENINLIKE等运算符的查询中。
  • ref表示两表查询时,驱动表可能返回多行数据,也就是查询条件在主表中是加了一个普通索引。
  • eq_ref表示两表查询时,驱动表只返回一行数据,也就是查询条件在主表中是唯一的。
  • const表示索引一次就能得到结果,一般是使用唯一索引或者主键作为查询条件。
  • system表示表中仅有一行数据,很少见到。

除了 type 列,EXPLAIN 输出中的 extra 列也非常重要,它提供了额外的信息来描述 MySQL 如何解决查询。

  • 应尽量避免 using filesort,因为它表示 MySQL 需要对结果进行额外的排序操作,这通常是低效的。

  • 同样,using temporary 表示 MySQL 需要使用临时表来存储中间结果,这通常会增加查询的复杂性和开销。

  • 如果出现 using index,则表示查询只需要使用索引中的信息,无需回表查询数据,这是非常高效的。

除了关键字 EXPLAIN 查看还有点击,解释已选择

SQL用时间作为条件进行比较

SELECT * FROM USER WHERE BIRTHDAY >TO_DATE('2002-10-20', 'YYYY-MM-DD')

 

 CASE WHEN用法

SELECT name, age, CASE WHEN age < 18 THEN '未成年' WHEN age BETWEEN 18 AND 65 THEN '成年' ELSE '老年' END AS age_group FROM users; 

IF用法 

SELECT name, age, IF(age < 18, '未成年', '成年及以上') AS age_group FROM users;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值