图片 7

MySQL中case when 语句条件查询的方法

sql查询结果格式化

本篇文章主要介绍python中如何操作mysql数据库,并进行封装,现在只是对mysql进行增、删、改、查等操作进行封装,后续会对创建表、修改表等功能进行封装,如果文章中出现错误,欢迎指出更正

case
计算条件列表并返回多个可能结果表达式之一。

 

1. 数据库安装

本人是在mac的系统下安装mysql, 如果是其他系统,请参照其他文章

  1. 下载安装文件
    下载地址:https://dev.mysql.com/downloads/mysql/
  2. 添加环境变量
    vim ~/.bash_profile
    # 在该文件中添加mysql/bin的目录:
    PATH=$PATH:/usr/local/mysql/bin

    图片 1

    image.png

case 具有两种格式:

有时候 我们需要对查询结果进行比较

2.安装MySQLdb包

pip install MySQL-python

在centos下安装会包错,需要执行 sudo yum install -y python-devel,
mysql-devel 命令

简单 case 函数将某个表达式与一组简单表达式进行比较以确定结果。

如果值是 A ,则 返回A

3.创建mysql管理类

  • db 连接的数据库
  • user mysql用户
  • passwd mysql用户密码
  • host 主机地址,loaclhost为本机地址
  • port mysql数据库端口
  • charset 字符编码

图片 2

mysql管理类

case 搜索函数计算一组布尔表达式以确定结果。
两种格式都支持可选的 else 参数。

 

4.连接、关闭数据库函数

  • MySQLdb.connect() 连接数据库,并把参数传入
  • cursor() 获得操作数据库的游标

图片 3

连接、关闭连接函数

语法
简单 case 函数:

如果值是B,则返回BB

5.添加数据

  • 添加数据的Sql语句: insert into table_name values(data)
  • condition 格式:{‘字段名’: 值}
  • cursor.excute(sql) 执行sql语句
  • cursor.commit() 提交,不提交数据库不会插入数据

图片 4

添加数据

case input_expression
    when when_expression then result_expression
        [ …n ]
    [
        else else_result_expression
    end

以下sql在mysql中测试通过

6.删除数据

  • 删除数据sql语句: delete from table_name where condition
  • condition 格式:{‘字段名’: 值}
  • cursor.excute(sql) 执行sql语句
  • cursor.commit() 提交

图片 5

删除数据

case 搜索函数:

 

7.更新数据

  • 更新数据sql语句: update table_name set key=value where condition
    condition、data 格式:{‘字段名’: 值}
  • cursor.excute(sql) 执行sql语句
  • cursor.commit() 提交

图片 6

更新数据

case
    when boolean_expression then result_expression
        [ …n ]
    [
        else else_result_expression
    end

Java代码  

8.查询数据

  • 查询数据sql语句: select * from table_name where condition
  • show_list 格式:[“字段名”] -> 显示所有字段: [‘*’]
  • condition 格式:{‘字段名’: 值}
  • cursor.fetchone() 获取第一条数据
  • cursor.fetchall() 获取所有数据(元祖类型)

图片 7

查询数据

完整代码地址

现在只是对Mysql数据库进行了很基本的封装,后续会对创建表,修改表等操作进行封装,并对代码进行优化,提示更友好。

例如,下面的语句显示中文年月
select getdate() as 日期,case month(getdate())
when 11 then ‘十一’
when 12 then ‘十二’
else substring(‘一二三四五六七八九十’, month(getdate()),1)
end+’月’ as 月份