MySQL
尼古拉斯__赵四
这个作者很懒,什么都没留下…
展开
-
Mybatis 动态sql ,参数没传入
修改数据的时候,有两个字段的数据一直没变,debug跟进,发现在进入sql前都是有值的。开始排查是不是这两个字段的名称打错了,检查发现没问题。最后想起来之前 Date类型的 updateTime 字段一开始加上<if test=" null != item.updateTime and '' != item.updateTime"> update_time=#{ite...原创 2020-02-27 13:21:52 · 1237 阅读 · 0 评论 -
MySql规范
一、基础规范(1)必须使用InnoDB存储引擎解读:支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高(2)必须使用utf8mb4字符集解读:utf8mb4是utf8的超集,emoji表情以及部分不常见汉字在utf8下会表现为乱码,故需要升级至utf8mb4。默认使用这个字符集的原因是:“标准,万国码,无需转码,无乱码风险”,并不“节省空间”。...转载 2020-01-08 19:31:18 · 93 阅读 · 0 评论 -
Mysql中的 not null
创建医生信息表 doctor_info1 、doctor_info2 ,区别是 doctor_info1 中doctor_name 加上not null 约束CREATE TABLE `doctor_info1` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `doctor_name` varchar(32) NOT NULL, `doct...原创 2020-01-07 19:51:16 · 2499 阅读 · 0 评论 -
Mysql 新增、修改、删除 语句
CREATE TABLE `doctor_schedules` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `doctor_name` varchar(32) NOT NULL COMMENT '医生名称', `doctor_code` varchar(32) NOT NULL COMMENT '医生编号', `dept_code` va...原创 2019-12-02 16:43:59 · 1768 阅读 · 0 评论 -
mysql插入唯一数据
插入数据前检测唯一性1. dualINSERT INTO table (primarykey, field1, field2, ...)SELECT key, value1, value2, ...FROM dualWHERE not exists (select * from table where primarykey = key);-- eg:INSERT INTO ...原创 2019-11-25 20:49:44 · 440 阅读 · 0 评论 -
information_schema(INNODB_TRX | INNODB_LOCKs | INNODB_LOCK_waits)
这三条语句 分别 查 事务 、锁、锁等待:SELECT * FROM information_schema.INNODB_TRX;-- 命令是用来查看当前运行的所有事务:SELECT * FROM information_schema.INNODB_LOCKs;-- 命令是用来查看当前出现的锁;SELECT * FROM information_schema.INNODB_L...原创 2019-11-21 11:42:42 · 2100 阅读 · 1 评论 -
mysql 5.7.X sql_mode - only_full_group_by
项目由开发环境 提测到 测试环境,报如下错误:[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ' which is not functionally depe...原创 2019-11-13 20:09:33 · 126 阅读 · 0 评论 -
mysql本机安装
下载mysql 解压版:解压之后的目录如下,先删除如图所示的"my-default.ini"文件;然后新建 "my.ini"文件到当前目录下,右键打开编辑(注意:图中所标记处需改为自己本机文件目录);# For advice on how to change settings please see# http://dev.mysql.com/doc/refm...原创 2019-09-25 08:37:05 · 309 阅读 · 0 评论 -
索引概述
什么是索引语法 show index from [tableName] 解析索引类型主键索引 PRIMARY KEY唯一索引 UNIQUE普通索引 INDEX组合索引 INDEX全文索引 FULLTEXT总结什么场景不适合创建索引什么样的字段适合创建索引索引优缺点什么情况下索引失效?什么是索引索引是存储引擎快速找到记录的一种数据结构...原创 2019-09-11 13:14:28 · 184 阅读 · 0 评论 -
某字段 不同类型值 排序
ORDER BY IF(t.`status` = '1', '3', '4'), t.cdt DESC如果 status字段 值为 1,则结果为“3”,否则结果为“4”。故status字段值为1的在前。原创 2019-05-27 11:18:21 · 259 阅读 · 0 评论 -
MySqL 事务与锁
1) 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。分为表共享读锁(共享锁)与表独占写锁(排他锁)。2) 行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。 行级锁分为共享锁 和 排他锁。3) 页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。 这里我们主要讨论InnoDB存储引擎...转载 2018-06-26 22:23:09 · 137 阅读 · 0 评论 -
SQL优化 - 执行计划
一、EXPLAIN1.作用: EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的。分析你的查询语句或是表结构的性能瓶颈。表的读取顺序 数据读取操作的操作类型 哪些索引可以使用 哪些索引被实际使用 表之间的引用 每张表有多少行被优化器查询2.使用方式EXPLAIN + (SELECT语句)SQL优化...原创 2018-05-30 23:23:57 · 305 阅读 · 0 评论 -
jdbc 批量操作数据库(插入、更新)
package jdbc.json;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import net.sf.json.JSONObjec原创 2016-07-04 15:39:40 · 7609 阅读 · 0 评论 -
MySQL连接(例子)
//MySQL------// 2.1)加载驱动类// Class.forName("com.mysql.jdbc.Driver");// 2.2)连接MySQL数据库的URL格式为:// jdbc:mysql://:///因为finally是一定要执行的,所以先到finally中关闭连接//务必关闭连接(因为,如果连接数过多,对性能的影响很吓人,),关原创 2016-01-31 15:55:15 · 412 阅读 · 0 评论 -
MySQL的模糊查询(like)
1. %:表示任意0个或多个字符。可匹配任意类型和长度的字符1)(1)select * from doctor_info where doctor_name like '%c%';会把 doctor_info 表的 doctor_name 字段中有 c 的记录全部找出来(2)select * from doctor_info where doctor_name like '云原创 2016-07-01 10:42:16 · 849 阅读 · 0 评论 -
MySQL中的limit(分页查询)
1select * from doctor_info limit 2,4;从0开始,调取第 3 条到第 6 条记录(共4条)2.select * from doctor_info limit;返回前5行3.select * from doctor_info limit 0,5;返回前5行关于优化 limit:当一个查询语句偏移量off原创 2016-07-01 09:28:04 · 467 阅读 · 0 评论