【Mysql 学习】流程函数
--流程函数。if ,ifnull ,case 语句!
mysql create table sal (id int,sal decimal (9,2));
Query OK, 0 rows affected (0.06 sec)
mysql insert into sal values (1,1000),(2,2000),(3,3000),(4,4000),(5,null);
Query OK, 5 rows affected (0.01 sec)
Records: 5 Duplicates: 0 Warnings: 0
--if(EXP,T,F) EXP 为真则返回T,EXP为假,则返回F
mysql select * from sal;
+------+---------+
| id | sal |
+------+---------+
| 1 | 1000.00 |
| 2 | 2000.00 |
| 3 | 3000.00 |
| 4 | 4000.00 |
| 5 | NULL |
+------+---------+
5 rows in set (0.00 sec)
mysql select id, if(sal 3000,high,low) from sal;
+------+-----------------------------+
| id | if(sal 3000,high,low) |
+------+-----------------------------+
| 1 | low |
| 2 | low |
| 3 | low |
| 4 | high |
| 5 | low |--这里null 3000 为假!
+------+-----------------------------+
5 rows in set (0.01 sec)
--IFNULL(VAL,N)如果val 为null 则返回N
mysql select id, ifnull(sal,0) from sal;
+------+---------------+
| id | ifnull(sal,0) |
+------+---------------+
| 1 | 1000.00 |
| 2 | 2000.00 |
| 3 | 3000.00 |
| 4 | 4000.00 |
| 5 | 0.00 |
+------+---------------+
5 rows in set (0.01 sec)
--case 语句和oracle的一样了!
mysql select case when sal =3000 then low else high end from sal;
+------------------------------------------------+
| case when sal =3000 then low else high end |
+------------------------------------------------+
| low |
| low |
| low |
| high |
| high |
+------------------------------------------------+
5 rows in set (0.00 sec)
mysql select id, case sal when 2000 then low when 3000 then mid else high end from sal;
+------+--------------------------------------------------------------------+
| id | case sal when 2000 then low when 3000 then mid else high end |
+------+--------------------------------------------------------------------+
| 1 | high |
| 2 | low |
| 3 | mid |
| 4 | high |
| 5 | high |
+------+--------------------------------------------------------------------+
5 rows in set (0.01 sec)
这里只是简单介绍,跟多的需要在实践中学习!抛砖引玉了,呵呵
深入理解MySQL主从复制原理以及集群部署流程 主从复制是指将主数据库的 DDL 和 DML 操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。 MySQL支持一台主库同时向多台从库进行复制, 从库同时也可以作为其他从服务器的主库,实现链状复制。
相关文章
- mysql-介绍、MySQL部署、数据类型、存储引擎
- linux - mysql - 卸载:RPM包安装方式的MySQL卸载
- mysql:恢复mysql表结构
- MYSQL错误解决:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
- PYTHON--定期监测服务器端口,并将结果写入MYSQL
- Ruby on Rails 3 Can't connect to local MySQL server through socket '/tmp/mysql.sock' on linux
- R语言-连接MySQL数据库方法
- MySQL之父、MariaDB CTO Michael Widenius:创立MariaDB,是希望有一个永远保持开源的MySQL替代品
- Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’
- mysql常用命令:
- MySQL中的char和varchar&mysql中varchar能存多少汉字、数字,以及varchar(100)和varchar(10)的区别
- Mysql 如果有多个可选条件怎么加索引_MySQL|mysql-索引
- MySQL优化详解(五)——MySQL分库分表
- MySQL存储过程(三)——存储过程分支流控语句
- mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
- ERROR 3009 (HY000): Column count of mysql.user is wrong. Expected 45, found 43. Created with MySQL 5
- MySQL出现Ignoring query to other database的问题
- MySQL技术内幕读书笔记(一)——Mysql体系结构和存储引擎
- Linux MySQl 5.7.17 MySQL ERROR 1366(HY000):Incorrect string value 解决方法
- Pentaho Kettle 8.1 使用 Mysql 8.0 开启 Reposity 模式
- Mysql番外篇--server层如何与存储引擎层交互-01
- MySql高级----Linux下的mysql的安装与初始化配置