一. MySQL安装配置
二. MySQL列类型
三. MySQL函数
1. 官方文档:MySQL 5.1参考手册 :: 12. 函数和操作符
2. 常用摘录:
1) 得到当前时间: now()
2) 需要达到类似 Oracle 中的 decode 效果时,可用 CASE WHEN ... THEN ... ELSE ... END, 例如:
SELECT CASE WHEN max(user_id) IS NULL THEN -1 ELSE max(user_id) END FROM tab_user;
3) MySQL中的MAX函数总结 (对非数字类型的字段使用max前需进行类型转换)
四. MySQL常用查询
1. 查询第几行到第几行记录
1) 查询第1行记录:
select * from table1 limit 1;
2) 查询第n行到第m行记录:
select * from table1 limit n-1,m-n;
(例:select * from table1 limit 5,10; // 返回第6-15行)
3) 查询前n行记录:
select * from table1 limit n;
4) 查询后n行记录:
select * from table1 order by id desc dlimit n;//倒序排序,取前n行 id为自增形式
5) 查询一条记录($id)的下一条记录:
select * from table1 where id>$id order by id asc dlimit 1;
6) 查询一条记录($id)的上一条记录:
select * from table1 where id<$id order by id desc dlimit 1;
2. 查询MySQL版本号:
$ mysql -V
mysql> status;
mysql> select version();
3. 字符集相关
1) 列出MySQL支持的所有字符集:
show character set;
2) 当前MySQL服务器字符集设置:
show variables like 'character_set_%';
3) 当前MySQL服务器字符集校验设置:
show variables like 'collation_%';
4) 显示某数据库字符集设置:
show create database 数据库名;
5) 显示某数据表字符集设置:
show create table 表名;
6) 修改数据库字符集:
alter database 数据库名 character set '字符集名';
7) 修改数据表字符集:
alter table 表名 character set '字符集名';
8) 建库时指定字符集:
create database 数据库名 character set gbk collate gbk_chinese_ci;
9) 建表时指定字符集:
create table 'mysqlcode' (...) type = INNODB character set gbk collate gbk_chinese_ci;
10) 配置默认字符集,在 my.cnf 中相应位置增加 default-character-set 设置,如:
[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8
11) jdbc url:
jdbc:mysql://localhost:3306/testCharacter ?autoReconnect=true&useUnicode=yes&characterEncoding=UTF8
4. 查看触发器
1) SELECT * FROM information_schema.TRIGGERS;
2) mysql> show TRIGGERS
五. MySQL命令
1. 执行sql文件
1) 尚未登录MySQL: $ mysql -u username -p passwd < xxx.sql
2) 已登录MySQL: mysql> source xxx.sql;
六. MySQL性能相关
1. 表记录数相关
2) 一个表有100万条记录,MYSQL行么
3) MySQL性能测试分析 mysql表最大记录数
2. sql分析
1) 用MySql的查询分析语法explain来优化查询和索引
2) mysql 执行计划(explain)的详解,分析sql使用索引的情况
七. 错误码