mysql那些事(3)小數如何存儲
創建mysql數據表的時候,經常會遇到存儲小數(浮點數)的情況,如:價格,重量,身高等。
目前大的公司流行三種存儲方案:
1、將數據擴大10的倍數達到使用整數類型存儲目的。
比如價格,我們經常以分為單位進行存儲,也就是將數據擴大100倍,這樣元改成分存儲。
重量可以用克為單位,如果克還是小數,就以毫克,微克等單位進行存儲。
2、使用decimal類型的方式存儲
比如價格,我們可以使用兩位小數的精度進行存儲。強烈不建議采用float或者double的類型存儲,會存在精度損失的問題,在以後做值比較的時候,容易出現不正確的結果。
3、小數和整數部分分開存儲。
比如價格3.14,我們存成兩個字段,一個字段存儲3,一個字段存儲14,一般情況下用的少。當存儲的數據範圍超出decimal的範圍時,可以將數據按照整數和小數拆分。
這裏推薦第一種方案。
mysql那些事(3)小數如何存儲
相關推薦
mysql那些事(3)小數如何存儲
目前 class div 情況下 浮點 oat 如果 存儲 兩位小數 創建mysql數據表的時候,經常會遇到存儲小數(浮點數)的情況,如:價格,重量,身高等。 目前大的公司流行三種存儲方案: 1、將數據擴大10的倍數達到使用整數類型存儲目的。 比如價格,我們經常以分為單位進
mysql那些事(1)手機號與座機號碼如何存儲
varchar 兩種 body 行存儲 號碼 方式 問題 bsp 電話 創建mysql數據表的時候,經常會遇到手機號碼和座機號碼數據的存儲問題。 先說手機號碼:很多人喜歡使用數字來進行存儲,手機號不涉及到運算,並且有時候要帶括號,加號之類的字符,有時候還要以0開頭。所以,手
mysql那些事(5)建表存儲引擎的選擇
表鎖 inno 發展 完全 操作 lba 第三方 nod false 在mysql見表的時候,會遇到選擇存儲引擎:MyISAM和InnoDB。究竟用哪種存儲引擎好呢? 1、MyISAM:表鎖;支持全文索引;讀並發性能較好。 2、InnoDB:行鎖;支持事務,支持外鍵;寫並發
Java學習總結(十七)——MySQL數據庫(3)存儲過程,觸發器,數據庫權限,數據庫設計三大範式
MySQL數據庫 存儲過程 觸發器 MySQL數據庫權限 數據庫設計三大範式 一.MySQL存儲過程1.概念:帶有邏輯的sql語句,之前的sql語句中沒有條件判斷,沒有循環,存儲過程中帶上流程控制語句。 2.特點:(1)執行效率非常快,存儲過程是在 數據庫的服務端執行的;(2)移植性很差,
mysql基礎(三)存儲引擎和鎖
mysql存儲引擎的概念: 關系型數據庫表是用於存儲和組織信息的數據結構,可以將表理解為由行和列組成的表格,各種各樣,不同的表結構意味著存儲不同類型的數據,在數據的處理上也會存在著差異,對於mysql來說,它提供了多種類型的存儲引擎,可以根據對數據處理的需求,選擇不同的存儲引擎,從而最大
MySQL DLL操作--------臨時表存儲實戰
mysql dba temporary 1. 背景 * 臨時表是基於會話的(session),只在當前連接可見 * 當這個連接(會話)關閉的時候,會自動drop。 * 兩個不同的連接(會話)裏使用相同的臨時表名,並且相互不會沖突,或者使用已經存在的表,但不是臨時表的表名。 * 當這個臨時
MySQL中四種常用存儲引擎的介紹
產生 存在 一個 訪問 內存 結構 高效 ins 刪除 MySQL常用的四種引擎的介紹 (1):MyISAM存儲引擎: 不支持事務、也不支持外鍵,優勢是訪問速度快,對事務完整性沒有 要求或者以select,insert為主的應用基本上可以用這個引擎來創建表 支持3種不同的存
Linux上檢查MySQL數據表的存儲引擎類型三板斧
linuxMySQl主要使用兩種存儲引擎:MyISAM 和 Innodb。MyISAM是非事務的,因此擁有讀取更快,然而InnoDB完全支持細顆粒度的事務鎖定(比如:commit/rollback)。當你創建一張新的MySQL表時,你要選擇它的類型(也就是存儲引擎)。如果沒有選擇,你就會使用與預設置的默認引擎
MySQL視圖view/存儲過程和函數的使用
variables mysq tab sql語句 用戶 前綴 機制 聚合 2.0 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 } p.p2 { m
mysql數據庫之存儲引擎
它的 行數 文件 總結 size 分別是 引擎 但是 mysql數據庫 mysql數據庫之存儲引擎 存儲引擎是mysql數據庫特有的功能,其他數據庫並不具備這樣的功能。所謂存儲引擎,就是數據庫在底層的存儲數據的方式。在這裏,就之前接觸過的存儲引擎做一個簡單總結。 mysql
讓MySql支持Emoji表情存儲
配置 state 跟蹤 連接參數 tro 兩個 java後臺 原來 val java後臺報錯,如下。 aused by: java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x98\x84‘ for co
Mysql中函數和存儲過程的區別
enter sql 名稱 gpo urn 構造 結果 返回 class Mysql中函數和存儲過程的區別 存儲過程: 1、 可以寫sql語句 2、 inout,out構造返回值 3、 調用:call:存儲過程名稱 4、 可以返
(轉)mysql數據庫中存儲數字字段時,選擇int和varchar的區別
排序 mysql數據庫 SQ AR 設計 規則 使用 char 字段 從字段類型的執行效率上,int最高,varchar最低。狀態類型字段,使用char或者varchar是不可取的,int類型更容易建立索引和進行檢索,畢竟數字類型是數據庫檢索的基礎,char類型的畢竟需要經
MySQL學習筆記:刪除存儲過程和函數
class pan 防止 mysql學習 col div pre 註意 warnings 刪除存儲過程、存儲函數主要使用drop語句: drop procedure —— 刪除存儲過程 drop function —— 刪除存儲函數 語法: DROP {P
MySQL常見的三種存儲引擎(InnoDB、MyISAM、MEMORY)
sql 壓縮 安全性 inno 一個表 engines 內存 占用空間 mit 先去查一下“引擎”概念。 引擎(Engine)是電子平臺上開發程序或系統的核心組件。利用引擎,開發者可迅速建立、鋪設程序所需的功能,或利用其輔助程序的運轉。一般而言,引擎是一個程序或一套系
Mysql學習---使用Python執行存儲過程
cnblogs let als lock char 技術 width rgs 多個 使用Python執行存儲過程 使用Python執行存儲過程[2部分]: 1.執行存儲過程,獲取存儲過程的結果集 2.將返回值設置給了 @_存儲過程名_序號 =#!/usr/bin/en
MySQL 數據庫常用存儲引擎的特點
reat pro eat 自動 RoCE roc 面向 oracl proc 數據庫的存儲引擎是數據庫底層軟件組織,數據庫管理系統(DBMS)使用數據引擎進行創建、查詢、更新和刪除數據。不同的存儲引擎提供不同的存儲機制、索引技巧、鎖定水平等功能,使用不同的存儲引擎,還可以
mysql中的幾種存儲引擎
要求 mvc str 適合 存儲結構 style image img ext mysql常用的幾種存儲引擎 MyISAM: (1)做很多count 的計算; (2)插入不頻繁,查詢非常頻繁; (3)沒有事務。 InnoDB: InnoDB邏輯存儲結構:所有表的數據被邏輯的
除Innodb和MyISAM外MySQL所支持的存儲引擎
數據庫鏈 所有 取代 語句 nali RoCE sql數據庫 增刪改查操作 可見 MySQL常用存儲引擎之CSV CSV存儲引擎可以將CSV文件作為mysql表來處理,存儲格式就是普通的CSV文件。如果把數據存儲在myisam和Innodb中,存儲數據的文件是不能直接查看的
MySQL參數log_bin_trust_function_creators介紹-存儲過程和復制
courier bool with creat mini align apply glob wid MySQL的有個參數log_bin_trust_function_creators,官方文檔對這個參數的介紹、解釋如下所示: log_bin_trust_func