随笔分类 -  MySQL

摘要:有两个表Phone_book, Call: 在Call中找出phone_number不在Phone_book的记录,即结果: 有三种方法: 见https://stackoverflow.com/questions/367863/sql-find-records-from-one-table-whic 阅读全文
posted @ 2018-07-12 13:53 raindream 阅读(14761) 评论(0) 推荐(0)
摘要:between 是>= and <=,即包含两个边界 阅读全文
posted @ 2018-07-12 13:31 raindream 阅读(5844) 评论(0) 推荐(0)
摘要:#!/bin/bash MYSQL="mysql -h10.10.10.10 -P8036 -uusername -ppassword --default-character-set=utf8 -A -N" sql="select * from atable.user where user_id=123 and (name='name' or name='name')" result="$(... 阅读全文
posted @ 2018-04-26 19:42 raindream 阅读(820) 评论(0) 推荐(0)
摘要:转自:Mysql中索引的 创建,查看,删除,修改 创建索引 MySQL创建索引的语法如下: 1 2 3 CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name [USING index_type] ON table_name (index_col_name 阅读全文
posted @ 2018-04-26 13:24 raindream 阅读(1617) 评论(0) 推荐(0)
摘要:mysql版本:5.7 RR复合语句: insert/update/delete+select,+号左边是影响数据的排他锁,+号右边是查询(当前读,其实相当于lock in share mode)到数据的共享锁(即便左边没有影响到任何数据,也会对右边查询到的数据加共享锁),并且都加上gap lock 阅读全文
posted @ 2018-03-16 02:26 raindream 阅读(286) 评论(0) 推荐(0)
摘要:查看隔离级别: 阅读全文
posted @ 2018-03-16 02:18 raindream 阅读(976) 评论(0) 推荐(0)
摘要:mysql版本:5.7 目的:在RC下,name列上仅有key索引,并发插入name时不出现重复数据 RC不加gap lock,并且复合select语句是不加锁的快照读,导致两个事务同时进行都可插入,测试如下: client1: client2设置同client1,设置略,然后起事务插入: 可以看到 阅读全文
posted @ 2018-03-16 01:52 raindream 阅读(430) 评论(0) 推荐(0)
摘要:主要看并发事务中不存在则插入(只有key索引)的阻塞情况。 表定义: 事务隔离级别:RR mysql版本:5.7 client1: 然后启动client2: client2 执行“ insert into user (name,password) select 'd','d' from dual w 阅读全文
posted @ 2018-03-11 17:53 raindream 阅读(410) 评论(0) 推荐(0)
摘要:比如用户和角色的中间表: 想查找同时拥有角色id为1和2的用户id,sql如下: 阅读全文
posted @ 2018-03-09 13:47 raindream 阅读(410) 评论(0) 推荐(0)
摘要:假设有表test 现在要找出name列有重复的数据 如果还要求显示name外其他数据 或者要求显示重复次数 或者要求显示重复数据中id最小的那一个 阅读全文
posted @ 2017-03-08 22:31 raindream 阅读(260) 评论(0) 推荐(0)
摘要:mysql(测试版本为5.6) 的varchar必须加范围,否则报错: varchar最大65535字节 在新版本mysql(5.0之后),varchar(n)能存储n个字符,即能存n个英文字符或者n个汉字,但是不管存什么,最大只能存65535字节(实际上不到65535字节,比如varchar头部的 阅读全文
posted @ 2017-03-08 22:03 raindream 阅读(352) 评论(0) 推荐(0)
摘要:四种方式: 1. 命令行 2. mysql的函数 3. 查看状态 4. 使用help 阅读全文
posted @ 2017-03-08 21:37 raindream 阅读(708) 评论(0) 推荐(0)
摘要:查看时区: 查看当前时间也正常: 但是java写入是就少14小时。这是因为:在解析成预编译语句的时候,误将CST(China Standard Time utc+8)解析成CST(Central Standard Tim UTC-6),美国中部标准时间,所以少14个小时。 两种解决办法: 1. 命令 阅读全文
posted @ 2016-12-28 00:23 raindream 阅读(4341) 评论(1) 推荐(0)
摘要:显示当前时间: 以秒形式显示当前时间: 精确到毫秒: mysql在5.6.4版本之前会将秒之后的时间截取掉,也就是最高精度只到秒。5.6.4及之后的版本支持到微秒(2010-12-10 14:12:09.019473,小数点后6位)。不过创建表时需要指定精度,指定小数点后存储几位: 例如: 阅读全文
posted @ 2016-12-28 00:08 raindream 阅读(233) 评论(0) 推荐(0)
摘要:转自:mysql中timestamp的自动生成与更新 MYSQL中TIMESTAMP类型可以设定默认值,就像其他类型一样。1、自动UPDATE 和INSERT 到当前的时间:表: Table Create Table 数据:1 2007-10-08 11:53:352 2007-10-08 11:5 阅读全文
posted @ 2016-12-27 23:39 raindream 阅读(1557) 评论(0) 推荐(0)
摘要:转自:MySQL中的datetime与timestamp比较 相同 1. 显示 TIMESTAMP列的显示格式与DATETIME列相同。换句话说,显示宽度固定在19字符,并且格式为YYYY-MM-DD HH:MM:SS。 不同 1. 范围 datetime 以'YYYY-MM-DD HH:MM:SS 阅读全文
posted @ 2016-12-27 23:38 raindream 阅读(938) 评论(0) 推荐(0)
摘要:参考:Mysql Column constraint as “not empty” / “required” 阅读全文
posted @ 2016-12-14 23:10 raindream 阅读(217) 评论(0) 推荐(0)
摘要:查看索引: 查看表信息: 查看触发器: 阅读全文
posted @ 2016-07-27 11:27 raindream 阅读(1408) 评论(0) 推荐(0)
摘要:首先请查看不同引擎支持的索引类型:存储引擎简介 。 聚集索引和非聚集索引概念见:聚集索引与非聚集索引 和 聚集索引 。 覆盖索引见:覆盖索引 。 1. InnoDB的每一个表都会有一个聚集索引(第一索引,主键索引)。InnoDB按照主键进行聚集,如果没有定义主键,InnoDB会试着使用唯一的非空索引 阅读全文
posted @ 2016-07-26 12:30 raindream 阅读(17094) 评论(0) 推荐(0)
摘要:如下表: 摘自:MySQL-C语言中文网 阅读全文
posted @ 2016-07-26 11:57 raindream 阅读(653) 评论(0) 推荐(0)