mysql中utf8_general_cs和utf8_general_ci和utf8_bin的一點區別
utf8_general_cs 區分大小寫,如果使用者名稱和郵箱用這個 就會照成不良後果
utf8_bin:字串每個字串用二進位制資料編譯儲存。 區分大小寫,而且可以存二進位制的內容
用了這麼長時間,發現自己竟然不知道utf_bin和utf_general_ci這兩者到底有什麼區別。。
ci是 case insensitive, 即 "大小寫不敏感", a 和 A 會在字元判斷中會被當做一樣的;
bin 是二進位制, a 和 A 會別區別對待.
例如你執行:
SELECT * FROM table WHERE txt = 'a'
那麼在utf8_bin中你就找不到 txt = 'A' 的那一行, 而 utf8_general_ci 則可以.
相關推薦
mysql中utf8_general_cs和utf8_general_ci和utf8_bin的一點區別
utf8_general_ci 不區分大小寫,這個你在註冊使用者名稱和郵箱的時候就要使用。 utf8_general_cs 區分大小寫,如果使用者名稱和郵箱用這個 就會照成不良後果 utf8_bin:字串每個字串用二進位制資料編譯儲存。 區分大小寫,而且可以存二進位制的內容
mysql中日期函數和日期的加減運算
一個數 hour %u rdate 時間值 範圍 ddd name 需要 mysql日期運算,日期函數 DAYOFWEEK(date) 返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六)。這些索引值對應於ODBC標準。 mysql> sel
MySQL中DATETIME、DATE和TIMESTAMP類型的區別
有一個 pda not mat date_add after () day format 一、DATETIME 顯示格式:YYYY-MM-DD HH:MM:SS時間範圍:[ ‘1000-01-01 00:00:00‘到‘9999-12-31 23:59:59‘] 二、DAT
mysql分頁 和 mysql中利用編號id和每頁條數來進行分頁
1.mysql分頁 【語句順序】 select 選擇的列 from 表  
MySQL中Date,DateTime,TimeStamp和Time的解釋和區別
以下場景應用及後臺取值 用到com.alibaba.fastjson.annotation(fastjson 阿里巴巴開源框架)以及springBoot註解 Date 名稱 解釋 顯示格式
在mysql中使用group by和order by取每個分組中日期最大一行資料
轉載自:https://blog.csdn.net/shiyong1949/article/details/78482737 自己實際使用的時候group by 單列欄位 兩種方式獲取資料一致,博主情況未知,有待驗證多group by 在mysql中使用group by進行分組後取某一列的最大
學會使用MySQL中自定義函式和儲存過程
一、快速瞭解什麼是儲存過程和函式? 儲存過程和函式是事先經過編譯並存儲在資料庫中的一段 SQL 語句的集合,呼叫儲存過程 和函式可以簡化應用開發人員的很多工作,減少資料在資料庫和應用伺服器之間的傳輸,對 於提高資料處理的效率是有好處的。 在對儲存過程或函式進行操作時,需要
eclipse和Mysql中的小坑和問題解決
1.Eclipse 中一直顯示building。。。。 網上的方法基本都是設定validation 不勾選js驗證。。。但是我得匯入下來的專案還是一直building 開啟專案的所在目錄,你會發現有個 看見 <buildCommand> &nbs
mysql中的prepare介紹和應用
連接 示例 context 簡單的 數據 delet 問題 skip 用法 簡單的用set或者declare語句定義變量,然後直接作為sql的表名是不行的,mysql會把變量名當作表名。在其他的sql數據庫中也是如此,mssql的解決方法是將整條sql語句作為變量,其中穿插
Mysql中時間戳格式和時間型別格式的裝換
首先我有這樣一個時間 將此時間轉換為時間戳格式: SELECT UNIX_TIMESTAMP(pst.ep_order_time) AS ep_order_time FROM prj_status_time pst WHERE pst.project_id='15414878732
MySQL中的儲存過程和函式使用詳解
一.對待儲存過程和函式的態度 在實際專案中應該儘量少用儲存過程和函式,理由如下: 1.移植性差,在MySQL中的儲存過程移植到sqlsever上就不一定可以用了。 2.除錯麻煩,在db中報一個錯誤和在應用層報一個錯誤不是一個概念,那將是毀滅性打擊,直接一個error:1045什麼的更本毫無頭緒。 3.擴充套件
SpringBoot+Jpa 在MySql中自動生成時間和返回json格式資料時間格式配置
先說資料時間格式的設定 有兩種 一種是:可以在apllication.property加入下面配置就可以 #時間戳統一轉換 spring.jackson.date-format=yyyy-MM-dd HH:mm:ss spring.jackson.time-zone=
MySQL中變數的定義和變數的賦值使用(轉)
說明:現在市面上定義變數的教程和書籍基本都放在儲存過程上說明,但是儲存過程上變數只能作用於begin...end塊中,而普通的變數定義和使用都說的比較少,針對此類問題只能在官方文件中才能找到講解。 前言 MySQL儲存過程中,定義變數有兩種方式: 1、使用set或select直接賦值,變數名以@開頭 例如:
mysql中的單行函式和多行函式(講義)
--查詢工作為SALESMAN,MANAGER並且工資大於2500的員工資訊 --and關鍵字的執行級別高於or --可以使用小括號提升條件的執行級別,使用了小括號的級別是最高的 select * from emp where (job='SALESMAN' or j
MySql中的儲存過程和觸發器筆記
#表結構 CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_name` varchar(100) DEFAULT NULL, `user_type` tinyint(4) DEFAULT NULL, `
mysql 中同時使用orderby和groupby的分析
最近做專案寫sql的時候同時使用到了order by 和 group by.然而查詢出來的結果不是自己想象中的那樣. 下面來分析一樣原因: mysql 寫sql的順序: selec
MySQL中DATE,DATETIME和TIMESTAMP型別支援範圍
近日在寫完專案,在insert資料做測試時,發現了一個小問題。 開發工具中報錯如下: ### Error updating database. Cause: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrec
Mysql中的索引關係和正規化
索引的定義是:系統根據某種演算法,將已有的資料(未來可能新增的資料)單獨建立一個檔案,這個檔案能夠實現快速的匹配資料,並且能夠快速的找到對應的表中的記錄。 索引的意義: 1. 提升查詢資料的效率 2. 約束資料的有效性(唯一性等) &nb
MySQL 中的資料型別和幾個問題
在 MySQL 中,可以通過儲存引擎來決定表的型別,即儲存引擎決定了表的儲存方式;同時 MySQL 中也提供了幾種資料型別,而資料型別決定了表儲存資料的型別。在這篇文章裡,先來簡單的介紹 MySQL 中的資料型別。 MySQL 支援多種資料型別,大致可以分為三
MySQL中的讀鎖和寫鎖
在資料庫的鎖機制中介紹過,資料的鎖主要用來保證資料的一致性的,資料庫的鎖從鎖定的粒度上可以分為表級鎖、行級鎖和頁級鎖。在我的部落格中重點介紹過MySQL資料庫的行級鎖。這篇文章主要來介紹一下MySQL資料庫中的表級鎖。 本文提到的讀鎖和寫鎖都是MySQL資料庫的My