暂无图片
暂无图片
7
暂无图片
暂无图片
暂无图片

SQL福袋送给2022的我们

原创 明明👀很爱你✨✨ 2022-01-12
993

正当人们喜迎2022新年的时刻,防不胜防的新冠病毒突然在西安出现,发展迅猛,整个西安按下了暂停键。封闭在家的日子,最近在学习Mysql,刚好墨天轮推出新年SQL“祝福”大赛,就拿Mysql的环境试试手,出来的效果感觉可以拿出来当一个吉祥物祝大家新年快乐,虎年行大运!


看到活动规则之后,对于绘制2022年新年福字的大致思路就是:

(1)找一个好看的图,转成灰度图或二位图

(2)转化之后的图遍历循环添加进数据库表当中

(3)对最后的结果直接使用select查询显示


按照这个思路,一步一步实现,中间也借鉴了网友的一些方法,虽然碰到了一些问题,后面也都顺利解决了。

下面先贴图(第一个为原图,后一个为SQL查询在xshell里的显示效果):

                                  

第一步:转为灰度图

from PIL import Image
img = Image.open('E:\\python学习\\py福字\\福.jpg')  
# 模式L”为灰色图像
Img = img.convert('L')
Img.save("E:\\python学习\\py福字\\福1.jpeg")


第二步:通过python编程将图片数据插入至数据库,在这之前在mysql库中创建了表Images

CREATE TABLE Images(Id INT PRIMARY KEY AUTO_INCREMENT, Data MEDIUMBLOB);
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import MySQLdb
import os
from PIL import Image
def init():  
    # 打开数据库连接
    db = MySQLdb.connect(host="127.0.0.1", port=3307, user="root", passwd="", db="mysql",charset='utf8' )  #连接到数据库

    # 使用cursor()方法获取操作游标 
    cursor = db.cursor()    
    # SQL 插入语句
    sql = "INSERT INTO Images(Data)  VALUES "          
    img=Image.open("/tmp/sympy/福1.jpeg")
    img=img.resize((130,219))   
    w,h=img.size
    for c in range(h): 
        f="('";
        for j in range(w):
            if(img.getpixel((j,c))>100):
                f+=('  ')
            else:
                f+=('**')
            if j==w-1:
                f+="')"  
        sql +=f+',';      
    try:
         # 执行sql语句
        sql=sql.rstrip(',')       
        cursor.execute(sql)
        # 提交到数据库执行
        db.commit()
    except:
        # 发生错误时回滚
        db.rollback()
    db.close()   
  
if __name__=="__main__":   
    init()


第三步:在mysql数据库中查询并呈现福字,因为在xshell里运行,所以将会话属性更改了一下,背景是红色,文字设成了黄色,典型的具有中国特色的西红柿鸡蛋色,哈哈,以下为SQL绘制的福袋,希望大家喜欢,有点大,请ctrl+向下滚轮。

use mysql;
select data from Images;

在SQL中的显示

mysql> select data from Images;
+------------------------------------------------------------------------------------------------------------------------------------+
| data                                                                                                                               |
+------------------------------------------------------------------------------------------------------------------------------------+
|                                                                                                                                    |
|                                                                       **                                                           |
|                                         **      ****        ********            ****  ****                                         |
|                                         **      **    **                  ******        ****      ****                             |
|                           **    ****  **  ****      ************  **********************  ******      **                           |
|                         **        ****    ******  **************************************        ******                             |
|                         **  ******    **  ******  **************************    ********  ****        **                           |
|                         ****                **        **********************          **          ******                           |
|                           ****************      ****  **********************    ******        **********                           |
|                           **********  **    ********  ************************  ********    ************                           |
|                             ********  ************  **                            **********  ********                             |
|                             ********  ************  **************************    **********  ********                             |
|                               ******  **********    ********************  ******  **********  ******                               |
|                               ******  **********  **********************  ******  ********    ******                               |
|                                 ******  ******************  ************  ****    ********  ******                                 |
|                                 ******  ******************************    ****  **********  ****                                   |
|                                   ************************************  ****************  ******                                   |
|                                     **************      ************  ******    ********  ******                                   |
|                                       **********  ******  **************    ****    **********                                     |
|                                             **  **********  **********    ********    **    **                                     |
|                                             **  ****    ****  **    **  ****    ****  **                                           |
|                                           **  ************    **    **    **********  **    ****                                   |
|                                     ********  ********      ****    ****        ****  **********                                   |
|                                   **********            ****  **************          ************                                 |
|                               ****************************    ********  ************  **************                               |
|                             ****************************      ********      ****************************                           |
|                           ****************************      **********        ************  ****  ********                         |
|                         ****************************        **********        **************    ************                       |
|                       ******************************      **************        ************    **************                     |
|                     ******************************        ****************      **********        **************                   |
|                   **********************************    ******************    **********************************                   |
|                   ************************************  **********************************************************                 |
|                 ******************  ********************************************************************************               |
|                 ************      **************************            ********************************************               |
|               **************      ********************                        ****************************************             |
|             ****************      ****************      **              ****      ************************************             |
|             **********************************                                **    ************************************           |
|             ********************************    **                                **    ********************************           |
|           ********************************    **                                    **    ********************************         |
|           ******************************    **                                      ****  ********************************         |
|           ******************************  **  **  **********    ************************    ******************************         |
|         ******************************  **    ****************  **********************  **    ******************  **********       |
|         ******************************                                                    **  ******************      ******       |
|         ****************************  **                                                  **    ****************      ******       |
|         ****************************  **              ****                                  **  ****************      ******       |
|         ****************************        ******************  ********************        **  ****************************       |
|       ****************************  **        ****************  **********  ********              **************************       |
|       ****************************  **              **          ******          ****          **  ****************************     |
|       ****************************  **        **    **    **    ******        ******          **  ****************************     |
|       ********  ****  ************  **        ****  **    **    ********************          **  ****************************     |
|       ********      **************  **        ****  **    **    ******************            **  ****************************     |
|       **********    **************  **        ****  ****  **                                  **  ****************************     |
|         ********      ************  **        ****  ****  **    ********************          **  ****************************     |
|         ******  ****  ************  **        ****  ****  **    ********************          **  **************************       |
|         **************************  **        ****  ********    ****    ******  ****          **  **************************       |
|         **************************  **        ****  **  ****    ****    ****      **          **  **************************       |
|         **************************  **        ****  ********    ****    ****    ****        **    **************************       |
|         ****************************          ****  ********    ********************        **  ****************************       |
|           **************************  **      ****  **********  ****    ****      **        **  ****************************       |
|           **************************          ****  ****  ****  ****    ****    ****      **    **************************         |
|             **************************  **    ****  ****  ****  ****    ****  ******    ****  **********      ************         |
|             **************************    **        **          ********************    **    **********      **********           |
|             ****************************    **                                        **    ************      **********           |
|               ****************************    **                                    **    ****************************             |
|                 ****************************    **                                **    ******************************             |
|                 **************      ********      **                            **    ******************************               |
|                   ************      ************      **                    **      ******************************                 |
|                     **********      ************          ****        ******    ********************************                   |
|                       ********  **  ******************                      **********************************                     |
|                         **************************************      ****************************************                       |
|                           ******************************************************************************                           |
|                             **************************************************************************                             |
|                                 ******************************************************************                                 |
|                                     ********************************************************                                       |
|                                         **********************************************                                             |
|                                               **************************            **                                             |
|                                                       **                            **                                             |
|                                                       **                            **                                             |
|                                                       **                            **                                             |
|                                                       **                            **                                             |
|                                                       **                            **                                             |
|                                                       **                            **                                             |
|                                                       **                            **                                             |
|                                                       **                            **                                             |
|                                                       **      **                    **                                             |
|                                           ********    **  **********                **                                             |
|                                         ************  **  **********                **                                             |
|                                       ********************************              **                                             |
|                                       ********************************              **                                             |
|                                       ********************************              **                                             |
|                                       ********************************              **                                             |
|                                       ********************************              **                                             |
|                                         ******************************              **                                             |
|                                         ****************************                **                                             |
|                                           ************************        ******    **    ********                                 |
|                                             **********************    ************  **  ************                               |
|                                               ******************      ******************************                               |
|                                                 **************      ********************************                               |
|                                                   **********        ********************************                               |
|                                                     ******            ******************************                               |
|                                                                       ******************************                               |
|                                                                       ****************************                                 |
|                                                                         **************************                                 |
|                                                                           **********************                                   |
|                                                                           **********************                                   |
|                                                                             ******************                                     |
|                                                                               **************                                       |
|                                                                                   ********                                         |
|                                                                                                                                    |
|                                                                                                                                    |
+------------------------------------------------------------------------------------------------------------------------------------+
110 rows in set (0.00 sec)

最后再次祝大家新年快乐!



最后修改时间:2022-01-12 09:36:10
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
1人已赞赏
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论