91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql 數據庫中的三種判斷是否包含總結

發布時間:2020-08-09 11:36:32 來源:網絡 閱讀:1480 作者:凱哥Java 欄目:MySQL數據庫

應用場景:
1:在使用mysql數據庫進行存儲數據的時候,有時候,一個字段,要存儲使用逗號分隔的多個數據,在查詢的時候,傳遞的是一個keyword,需要在逗號分隔的字段中進行查詢,這種情況怎么處理?
比如:
在爬蟲爬取的時候,指定關鍵字查詢,關鍵字可以是多個用逗號分隔。數據庫中對應的字段是:key_word,存儲的數據,比如:凱哥Java,kaigejava這樣的。那么現在我要查詢的關鍵字是:凱哥java這樣的。怎么查詢呢?
2:第二種情況,我們在更新的是,先判斷如果指定字段,是否包含指定字符串。如果不包含,在原有字段上添加指定的字段。
比如:
在爬取網站的時候,沒有添加http://www. 這個。判斷,如果沒有添加的,都更新添加http://www. 。這樣的如何更新呢?
前期準備:
創建數據庫:

CREATE TABLE config_sentiment (
config_sentiment_id varchar(64) NOT NULL COMMENT '輿情配置表-主鍵id',
config_sentiment_web_name varchar(60) NOT NULL COMMENT '抓取網站名稱',
config_sentiment_web_url varchar(500) NOT NULL COMMENT '抓取網站網址',
config_sentiment_item_name varchar(64) NOT NULL COMMENT '項目id',
config_sentiment_rate varchar(5) NOT NULL DEFAULT '1' COMMENT '抓取頻率 默認1(1小時)',
config_sentiment_keyword varchar(500) NOT NULL COMMENT '抓取關鍵字。多個用,分隔',
config_sentiment_newtime varchar(20) DEFAULT NULL COMMENT '最新抓取時間',
config_sentiment_number int(20) DEFAULT NULL COMMENT '最新抓取條數',
config_sentiment_adduser varchar(64) NOT NULL COMMENT '創建人',
config_sentiment_addtime varchar(20) NOT NULL COMMENT '創建時間',
config_sentiment_updateuser varchar(64) DEFAULT NULL COMMENT '更新人',
config_sentiment_updatetime varchar(20) DEFAULT NULL COMMENT '更新時間',
PRIMARY KEY (config_sentiment_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
插入數據:
insert into config_sentiment(config_sentiment_id,config_sentiment_web_name,config_sentiment_web_url,config_sentiment_item_name,config_sentiment_rate,config_sentiment_keyword,config_sentiment_newtime,config_sentiment_number,config_sentiment_adduser,config_sentiment_addtime,config_sentiment_updateuser,config_sentiment_updatetime) values ('1','凱哥Java','kaigejava.com','0','1','投資,理財','2018030909572100',10,'88888888','2018030909570021','88888888','2018030909570021'),('2','凱哥Java','kaigejava.com','0','1','百度,天貓','20',10,'88888888','20','88888888','20'),('3','36','kaigejava.com','0','1','理財產品,百度理財,百度理財產品','2018030909570021',10,'88888888','2018030909570021','88888888','2018030909570021');

查看數據:

我們可以看到,url中都沒有添加http://。keyword中有多個產品。
爭對場景一,解決方案有兩個:
1:使用最常用的,模糊查詢。sql語句:

like之后,我們發現有兩條數據。雖然模糊查詢的模糊可前,可后。但是這樣的模糊,查詢出數據太多了。很多都不是我想要的。
我就想要【理財】這個keyword的數據。這樣多數據中精確查詢怎么解決?請看下:
解決方案二:
利用MySQL 字符串函數 find_in_set();
具體sql語句:
SELECT t.config_sentiment_web_url url,t.config_sentiment_keyword keyword FROM config_sentiment t WHERE FIND_IN_SET('理財', t.config_sentiment_keyword);
查詢后結果:

這樣就解決問題了。
爭對問題2:更新語句:
UPDATE config_sentiment SET config_sentiment_web_url =CONCAT('http://www.',config_sentiment_web_url) WHERE LOCATE('http://',config_sentiment_web_url)=0;
執行結果:

再次查詢看看http://www.是否添加到數據庫了。

已經添加上了。問題已經解決。
需要注意的是:在mysql中字符串連接不是使用【+】而是使用【concat函數】
凱哥java(微信id:kaigejava)
本文凱哥個人網站:http://kaigejava.com/article/detail/122

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

施甸县| 鹤山市| 喀什市| 奉新县| 红桥区| 姜堰市| 甘德县| 临安市| 肥乡县| 荃湾区| 海丰县| 嘉义市| 客服| 延长县| 邹城市| 专栏| 车致| 咸丰县| 鹿泉市| 南江县| 秦皇岛市| 万年县| 康马县| 禄劝| 汤原县| 盈江县| 高雄市| 陈巴尔虎旗| 怀安县| 泗洪县| 大丰市| 西华县| 蕉岭县| 泰和县| 永丰县| 南京市| 鄂托克前旗| 肥城市| 金坛市| 互助| 墨竹工卡县|