随笔分类 - mysql
摘要:现有如下mysql表: mysql> select * from in_demo; + + + | id | num | + + + | 1 | 8 | | 2 | 7 | | 3 | 6 | + + + 3 rows in set 按如下sql查询结果如下: mysql> SELECT * FRO
阅读全文
摘要:有以下数据表: select * from group_by_and_max_demo; + + + + + | id | name | age | city | + + + + + | 1 | xiaozhang | 20 | beijing | | 2 | xiaoli | 22 | shang
阅读全文
摘要:一、查看慢查询日志是否开启: show VARIABLES LIKE '%slow_query%'; + + + | Variable_name | Value | + + + | slow_query_log | ON | | slow_query_log_file | D:/javasoft/m
阅读全文
摘要:书写顺序 SELECT DISTINCT FROM JOIN ON WHERE GROUP BY HAVING ORDER BY LIMIT 执行顺序 FROM ON JOIN WHERE GROUP BY HAVING SELECT DISTINCT ORDER BY LIMIT
阅读全文
摘要:建表如下: CREATE TABLE `aes_demo` ( `id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8_bin DEFAULT NULL, `password` varchar(255) CHARACTER
阅读全文
摘要:mysql int(3) ,括号中的3一直误以为是限制int类型数据的长度,实则并不是,括号中的值是限制显示宽度,下面举例说明。 建表语句如下,ZEROFILL 用于设置填充零: CREATE TABLE int_test ( id int(11) NOT NULL AUTO_INCREMENT,
阅读全文
摘要:MySQL中DATEDIFF函数不同日期相减的计算规则。 SELECT DATEDIFF('2021-2-25','2021-2-25') as d; 同一天相减得到的结果是0。 SELECT DATEDIFF('2021-2-26','2021-2-25') as d; 隔一天相减得到的结果是1。
阅读全文
摘要:现有如下数据表: mysql> SELECT * FROM test_demo; + + + | id | name | + + + | 1 | a | | 2 | b | + + + 2 rows in set 执行如下语句,开启事务,插入数据,回滚事务: BEGIN; INSERT INTO t
阅读全文
摘要:MySQL中 information_schema 为信息数据库,有其他数据库表的相关信息。 1 SELECT * FROM information_schema.INNODB_TRX; 查看当前运行的事务,可用于分析mysql执行卡顿时的原因。 2 查看所有数据库容量的大小 SELECT tabl
阅读全文
摘要:SELECT * FROM information_schema.INNODB_TRX; 用于查看mysql当前正在执行的事务情况。
阅读全文
摘要:一 普通单条插入: 像如下表中插入数据: id是自动增长的主键。 INSERT INTO student_score (student_name, score, SUBJECT) VALUES ('张三', 90, '语文'); 结果如下: mysql> SELECT * FROM student_
阅读全文
摘要:发现在很多能根据MySQL数据库表结构自动生成 bean,mapper,service,controller的开发框架中,如果字段的数据类型是int,一般都是对应于java类型中的Long类型,这是为何? 下图展示MySQL中int分别为有符号及无符号的情况下的取值范围;展示java中Integer
阅读全文
摘要:脏读 脏读是两个并发的事务1和事务2在执行时,事务1读取了事务2尚未提交的数据,而事务2由于出现异常回滚了,事务1拿着读到的事务2的数据进行后续操作时就出现数据错误了,脏读了。如下图: 不可重复读 事务1中读取了某个数据,同时事务2也在修改这个数据,在事务2修改完这个数据并提交事务后,事务1又一次读
阅读全文
摘要:一 null 不能进行比较操作 结论:对NULL 的处理,只能采用is null或is not null,而不能采用=、in、<、<>、!=、not in这些操作符号。 举例如下: + + + + + | id | sale_date | num | order_id | + + + + + | 1
阅读全文
摘要:先看例子,有如下数据,3个字段分别对应的数据类型为,time_datetime是datetime类型,time_date是date类型,time_timestamp是timestamp类型: mysql> SELECT * FROM time_type_demo; + + + + + | id |
阅读全文
摘要:有如下表: SELECT * FROM subtract_demo; + + + + | id | total | sale_num | + + + + | 1 | 10 | 1 | | 2 | 10 | NULL | + + + + 2 rows in set 使用如下查询语句,查total减去s
阅读全文
摘要:建表如下: + + + + | id | name | pinyin | + + + + | 1 | 李 | li | | 2 | 王 | wang | | 3 | 张 | zhang | | 4 | 刘 | liu | + + + + 表中字段的编码格式如下: mysql> show full c
阅读全文
摘要:新建表如下: + + + + + | id | sale_date | num | order_id | + + + + + | 1 | 2020-05-12 23:23:12 | 12 | 100 | | 2 | 2020-05-14 23:23:31 | 15 | 100 | | 3 | 202
阅读全文
摘要:结论:使用 DATE_FORMAT在mysql中是无法利用索引检索的。 测试:time字段设置了Normal索引。 mysql> SELECT * FROM time_demo; + + + + | id | quantity | time | + + + + | 1 | 2 | 2020-03-0
阅读全文