MYCLI 是一个 MySQL 命令行客户端工具 , 可以实现自动补全(auto-completion)和语法高亮,平时测试环境维护一些数据还是蛮方便的。
https://github.com/dbcli/mycli ; 对应 postgres 也有相应的 pgcli https://github.com/dbcli/pgcli 。

#记录 MYSQL 的慢查询
默认 /etc/my.cnf mysql
在[mysqld]下加入
log-error=/usr/local/mysql/log/error.log #错误日志
log=/usr/local/mysql/log/mysql.log #查询日志
log-slow-queries= /usr/local/mysql/log/slowquery.log #慢查询日志什么是慢查询?
执行特别慢的sql会查到这个日志文件里。至于什么叫比较慢,由你自己来定义。譬如你认为是1秒就算慢了,那么要加入
log-slow-queries = /usr/local/mysql/var/slowquery.log #这个是上面的
long_query_time = 1 #一秒,代表你认为1秒就算慢了,当然你可以改成比1小的数字log-queries-not-using-indexes #如果执行的SQL语句没有使用索引,则mysql数据库同样会将这条SQL语句记录到慢查询日志文件中
Java, JDBC and MySQL Types
Table 5.2 MySQL Types to Java Types for ResultSet.getObject()
| MySQL Type Name | Return value of GetColumnClassName | Returned as Java Class |
|---|---|---|
BIT(1) (new in MySQL-5.0) |
BIT |
java.lang.Boolean |
BIT( > 1) (new in MySQL-5.0) |
BIT |
byte[] |
TINYINT |
TINYINT |
java.lang.Boolean if the configuration property tinyInt1isBit is set totrue (the default) and the storage size is 1, or java.lang.Integer if not. |
BOOL, BOOLEAN |
TINYINT |
See TINYINT, above as these are aliases for TINYINT(1), currently. |
SMALLINT[(M)] [UNSIGNED] |
SMALLINT [UNSIGNED] |
java.lang.Integer (regardless of whether it is UNSIGNED or not) |
MEDIUMINT[(M)] [UNSIGNED] |
MEDIUMINT [UNSIGNED] |
java.lang.Integer (regardless of whether it is UNSIGNED or not) |
INT,INTEGER[(M)] [UNSIGNED] |
INTEGER [UNSIGNED] |
java.lang.Integer, if UNSIGNED java.lang.Long |
BIGINT[(M)] [UNSIGNED] |
BIGINT [UNSIGNED] |
java.lang.Long, if UNSIGNED java.math.BigInteger |
FLOAT[(M,D)] |
FLOAT |
java.lang.Float |
DOUBLE[(M,B)] |
DOUBLE |
java.lang.Double |
DECIMAL[(M[,D])] |
DECIMAL |
java.math.BigDecimal |
DATE |
DATE |
java.sql.Date |
DATETIME |
DATETIME |
java.sql.Timestamp |
TIMESTAMP[(M)] |
TIMESTAMP |
java.sql.Timestamp |
TIME |
TIME |
java.sql.Time |
YEAR[(2|4)] |
YEAR |
If yearIsDateType configuration property is set to false, then the returned object type is java.sql.Short. If set to true (the default), then the returned object is of type java.sql.Date with the date set to January 1st, at midnight. |
CHAR(M) |
CHAR |
java.lang.String (unless the character set for the column is BINARY, thenbyte[] is returned. |
VARCHAR(M) [BINARY] |
VARCHAR |
java.lang.String (unless the character set for the column is BINARY, thenbyte[] is returned. |
BINARY(M) |
BINARY |
byte[] |
VARBINARY(M) |
VARBINARY |
byte[] |
TINYBLOB |
TINYBLOB |
byte[] |
TINYTEXT |
VARCHAR |
java.lang.String |
BLOB |
BLOB |
byte[] |
TEXT |
VARCHAR |
java.lang.String |
MEDIUMBLOB |
MEDIUMBLOB |
byte[] |
MEDIUMTEXT |
VARCHAR |
java.lang.String |
LONGBLOB |
LONGBLOB |
byte[] |
LONGTEXT |
VARCHAR |
java.lang.String |
ENUM('value1','value2',...) |
CHAR |
java.lang.String |
SET('value1','value2',...) |
CHAR |
java.lang.String |
https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-type-conversions.html