MySQL的几个用法
2015-11-07 17:54
671 查看
1. (非)空条件
2. 若不存在则插入,否则更新。查一下两者的不同
4. 查询前几条
5. 不等于<>或者!=
6. SQL执行慢,分析SQL查询情况, 在sql语句前加DESC,运行结果是sql语句将执行的运行策略
![](http://img.blog.csdn.net/20151107175616706?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
7. 添加索引
8. 修改索引
9. 模糊查询, LIKE预编译
注意LIKE后的?两边是没有单引号的:
注意:设值的时候只有百分号,没有单引号。
下面的SQL(问号两边有单引号)是不行的:
下面的设值方式(百分号旁有单引号)也是不行的:
10. 查看数据库连接数
11. 删除列,删除索引
12. 创建表时指定自增字段
13. 查某一列的值包含在指定字符串的记录。如要查code列的值包含在"123,789"中的记录。
SELECT * FROM ecity.enn_user WHERE orgeh IS null; SELECT * FROM ecity.enn_user WHERE orgeh IS NOT null;
2. 若不存在则插入,否则更新。查一下两者的不同
REPLACE INTO INSERT INTO .. VALUES() ON DUPLICATE KEY UPDATE column1=valueXX, column2=valueYY;
4. 查询前几条
SELECT * FROM ecity.enn_user WHERE orgeh IS NOT null limit 0,100;
5. 不等于<>或者!=
SELECT COUNT(1) FROM ecity.u_users WHERE systemId <> 1; SELECT COUNT(1) FROM ecity.u_users WHERE systemId != 1;
6. SQL执行慢,分析SQL查询情况, 在sql语句前加DESC,运行结果是sql语句将执行的运行策略
DESC SELECT COUNT(1) FROM ecity.u_users WHERE systemId <> 1 AND username IN (SELECT itcode FROM ecity.enn_user);
7. 添加索引
ALTER TABLE `ecity`.`duty_sign` ADD INDEX `userid_date` (`user_id` ASC, `sign_date` ASC)
8. 修改索引
ALTER TABLE `ecity`.`duty_sign` DROP INDEX `userid_date`, ADD INDEX `userid_date` (`user_id` ASC, `sign_date` ASC)
9. 模糊查询, LIKE预编译
注意LIKE后的?两边是没有单引号的:
SELECT sign_date,user_id,user_name,project_id,project_name,time,location FROM project_sign WHERE 1=1 AND user_name LIKE ? AND project_name LIKE ? LIMIT 0,0;
setString(1, "%" + userName + "%"); setString(2, "%" + projectName + "%");
注意:设值的时候只有百分号,没有单引号。
下面的SQL(问号两边有单引号)是不行的:
SELECT sign_date,user_id,user_name,project_id,project_name,time,location FROM project_sign WHERE 1=1 AND user_name LIKE '?' AND project_name LIKE '?' LIMIT 0,0;
下面的设值方式(百分号旁有单引号)也是不行的:
setString(1, "'%" + userName + "%'"); setString(2, "'%" + projectName + "%'");
10. 查看数据库连接数
show status like '%connection%';
show variables like '%max_connections%';
11. 删除列,删除索引
ALTER TABLE `ecity`.`enn_organisation` DROP COLUMN `up_orgeh_hash`, DROP INDEX `up_orgeh_hash_index` ;
12. 创建表时指定自增字段
CREATE TABLE `work_time_period` ( `name` varchar(50) default NULL, `start_date` date default NULL, `end_date` date default NULL, `on_time` time default NULL, `off_time` time default NULL, `gid` int(10) unsigned AUTO_INCREMENT NOT NULL, primary key (gid) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Worktime config. Like, Summer 8:00~17:00, Winter 9:00~18:00.';
13. 查某一列的值包含在指定字符串的记录。如要查code列的值包含在"123,789"中的记录。
SELECT * FROM test WHERE INSTR('123,789', code) > 0;
相关文章推荐
- MySQL视图
- mysql学习笔记(2)
- MySQL存储引擎的那些事儿
- mysql数据库忘记密码时如何修改(本地)
- mysql 最大连接数设置
- MySQL 6.子查询
- Mysql函数:Last_insert_id()语法讲解
- 54. mysqli 扩展库
- mysql支持emoji解决办法
- Mac下安装新版MySQL5.7
- mysql使用过程中碰到的问题
- MySQL忘记密码怎么办
- 修改mysql DataDir方式
- 基于MySQL5.7MHA的配置
- Windows下Mysql解压缩版配置安装与卸载
- jsp程序向调用mysql语句操作数据库传中文出现乱码
- mysql中的关键字
- 通过innobackupex实现对MySQL的完整热备份
- mysql处理中文乱码的问题
- mysql学习笔记(1)