欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL數據中很多換行符和回車符的解決方法

 更新時間:2020年10月25日 10:28:43   作者:_陳哈哈  
這篇文章主要給大家介紹了關于MySQL數據中很多換行符和回車符的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

發(fā)現(xiàn)問題

今天一大早客戶給我打電話:“小陳兒,昨晚我往數據庫導了幾十萬條數據,然后在web界面很多都搜不到,你們系統(tǒng)做的啥玩意兒?。窟@么多BUG!得啵得啵得…”(省略2000字)又習慣性的噴了一遍我們這個項目做的辣雞~~

得得得,客戶隨便噴,我就當吃了個早飯了🙂🙂🙂嗝兒~嗯,真飽;

我到公司后先測試一下客戶給我的錯誤示例(果然搜不到),然后排查一下昨天的數據是否有問題,發(fā)現(xiàn)昨天客戶用excel導入的數據中,存在很多\r\n這種換行符和回車符。

如:庫中數據為:“換行符\n換行符\n換行符”,然后在界面通過如下SQL查詢,那自然是搜不到咯!

SELECT * from `LOL` where name = '換行符換行符換行符';

換行符:CHAR(10) = "\n"

回車符: CHAR(13) = "\r"

在MySQL中,回車符、換行符都屬于char類型,放到varchar中時,在navcat等插件上是不顯示的,需要在mysql終端和navcat對比才能看出來(坑啊~)

navcat插件顯示如下:

在這里插入圖片描述

MySQL終端顯示如下:

(回車符\r還導致數據結果直接返回了,只顯示了一部分,MySQL你讓我說你啥好😰😰)

mysql> select * from `LOL`;
+----+-------------------------------+-----------+-------+
| id | hero_title     | hero_name | price |
+----+-------------------------------+-----------+-------+
| 1 | D刀鋒之影      | 泰隆  | 6300 |
| 2 | X迅捷斥候      | 提莫  | 6300 |
| 8 | 換行符
換行符
換行符   | 換行符 | 450 |
回車符   | 回車符 | 450 |
+----+-------------------------------+-----------+-------+
4 rows in set (0.00 sec)

1、如何去掉換行符、回車符

如果條件允許,建議直接通過語句清除掉換行符和回車符,如下:

去除"hero_title"列中所有換行符 (通過以下兩種方式都可以)

-- 去除"hero_title"列中所有換行符 (通過以下兩種方式都可以)
update `LOL` set hero_title = REPLACE(hero_title, '\n', '');
update `LOL` set hero_title = REPLACE(hero_title, char(10), '');

– 去除"hero_title"列中所有回車符(通過以下兩種方式都可以)

-- 去除"hero_title"列中所有回車符
update `LOL` set hero_title = REPLACE(hero_title, '\r', '');
update `LOL` set hero_title = REPLACE(hero_title, char(13), '');

2、SELECT如何忽略"換行符、回車符"進行查詢

如果條件不允許,比如客戶“很激動”并向你吼道:不能動庫里的數據!…我笑了~

那怎么辦呢?可以通過修改SQL來過濾掉換行符、回車符,但一定程度上會影響查詢效率,而且要改很多代碼,你懂得。

銘記魯迅先生說的:哪里有壓迫,哪里就得有反抗!

示例如下:

-- 忽略掉換行符查詢
SELECT * from `LOL` where REPLACE(hero_title, char(10), '') = '換行符換行符換行符';
-- 忽略掉回車符查詢
SELECT * from `LOL` where REPLACE(hero_title, char(13), '') = '回車符回車符回車符';
-- 忽略掉換行符 & 回車符查詢
SELECT * from `LOL` where REPLACE(REPLACE(hero_title, char(13), ''), char(10), '') = '回車符回車符回車符';

3、經驗總結

類似的符號一般要求入庫時就清理掉,如果必須保留也建議用其他自定義標識代替(如自創(chuàng)的唯一標識,我叫它大眼瞪小眼: o_O),后臺程序中做替換處理,免得影響到索引效率。

好了,希望這篇文章能幫到你,或許你可以mark一下,當同事遇到該問題時,甩她臉上~

到此這篇關于MySQL數據中很多換行符和回車符的解決方法的文章就介紹到這了,更多相關MySQL換行符和回車符內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • MySQL入門(二) 數據庫數據類型詳解

    MySQL入門(二) 數據庫數據類型詳解

    這個數據庫所遇到的數據類型今天統(tǒng)統(tǒng)在這里講清楚了,以后在看到什么數據類型,咱度應該認識,對我來說,最不熟悉的應該就是時間類型這塊了。但是通過今天的學習,已經解惑了。下面就跟著我的節(jié)奏去把這個拿下吧
    2018-07-07
  • MySQL最左匹配原則深入分析

    MySQL最左匹配原則深入分析

    首先回顧一下什么是最左匹配(也有稱之為最左前綴)?顧名思義:最左優(yōu)先,以最左邊的為起點任何連續(xù)的索引都能匹配上。同時遇到范圍查詢(>、<、between、like)就會停止匹配
    2022-11-11
  • MySQL定時執(zhí)行腳本(計劃任務)命令實例

    MySQL定時執(zhí)行腳本(計劃任務)命令實例

    在mysql中我們可以直接進行一些參數設置讓它成定時為我們執(zhí)行一些任務了,這個雖然可以使用windows或者linux中的計劃任務實現(xiàn),但是mysql本身也能完成
    2013-10-10
  • mysql中的自連接與join關聯(lián)

    mysql中的自連接與join關聯(lián)

    這篇文章主要介紹了mysql中的自連接與join關聯(lián),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • 解決MySQL server has gone away錯誤的方案

    解決MySQL server has gone away錯誤的方案

    在本篇文章里小編給大家分享的是一篇關于MySQL server has gone away錯誤的解決辦法,有需要的朋友們可以參考下。
    2020-02-02
  • Mysql如何導出篩選數據并導出帶表頭的csv文件

    Mysql如何導出篩選數據并導出帶表頭的csv文件

    這篇文章主要介紹了Mysql如何導出篩選數據并導出帶表頭的csv文件,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • MySQL實現(xiàn)批量插入以優(yōu)化性能的教程

    MySQL實現(xiàn)批量插入以優(yōu)化性能的教程

    這篇文章主要介紹了MySQL實現(xiàn)批量插入以優(yōu)化性能的教程,文中給出了運行時間來表示性能優(yōu)化后的對比,需要的朋友可以參考下
    2015-04-04
  • 記一次mysql5.7測試數據庫被刪表的問題

    記一次mysql5.7測試數據庫被刪表的問題

    這篇文章主要介紹了記一次mysql5.7測試數據庫被刪表的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Mysql中order by、group by、having的區(qū)別深入分析

    Mysql中order by、group by、having的區(qū)別深入分析

    本篇文章是對Mysql中order by、group by、having的區(qū)別進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • 允許遠程訪問MySQL的實現(xiàn)方式

    允許遠程訪問MySQL的實現(xiàn)方式

    這篇文章主要介紹了允許遠程訪問MySQL的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01

最新評論