mysql常見數據類型

来源:https://www.cnblogs.com/deyo/archive/2020/07/14/13297144.html
-Advertisement-
Play Games

1 #常見的數據類型 2 /* 3 數值型: 4 整型 5 小數: 6 定點數 7 浮點數 8 字元型: 9 較短的文本:char、varchar 10 較長的文本:text、blob(較長的二進位數據) 11 12 日期型: 13 14 15 16 */ 17 18 #一、整型 19 /* 20 ...


  1 #常見的數據類型
  2 /*
  3 數值型:
  4     整型
  5     小數:
  6         定點數
  7         浮點數
  8 字元型:
  9     較短的文本:char、varchar
 10     較長的文本:text、blob(較長的二進位數據)
 11 
 12 日期型:
 13     
 14 
 15 
 16 */
 17 
 18 #一、整型
 19 /*
 20 分類:
 21 tinyint、smallint、mediumint、int/integer、bigint
 22 1     2        3    4        8
 23 
 24 特點:
 25 ① 如果不設置無符號還是有符號,預設是有符號,如果想設置無符號,需要添加unsigned關鍵字
 26 ② 如果插入的數值超出了整型的範圍,會報out of range異常,並且插入臨界值
 27 ③ 如果不設置長度,會有預設的長度
 28 長度代表了顯示的最大寬度,如果不夠會用0在左邊填充,但必須搭配zerofill使用!
 29 
 30 */
 31 
 32 #1.如何設置無符號和有符號
 33 
 34 DROP TABLE IF EXISTS tab_int;
 35 CREATE TABLE tab_int(
 36     t1 INT(7) ZEROFILL,
 37     t2 INT(7) ZEROFILL 
 38 
 39 );
 40 
 41 DESC tab_int;
 42 
 43 
 44 INSERT INTO tab_int VALUES(-123456);
 45 INSERT INTO tab_int VALUES(-123456,-123456);
 46 INSERT INTO tab_int VALUES(2147483648,4294967296);
 47 
 48 INSERT INTO tab_int VALUES(123,123);
 49 
 50 
 51 SELECT * FROM tab_int;
 52 
 53 
 54 #二、小數
 55 /*
 56 分類:
 57 1.浮點型
 58 float(M,D)
 59 double(M,D)
 60 2.定點型
 61 dec(M,D)
 62 decimal(M,D)
 63 
 64 特點:
 65 
 66  67 M:整數部位+小數部位
 68 D:小數部位
 69 如果超過範圍,則插入臨界值
 70 
 71  72 M和D都可以省略
 73 如果是decimal,則M預設為10,D預設為0
 74 如果是float和double,則會根據插入的數值的精度來決定精度
 75 
 76 ③定點型的精確度較高,如果要求插入數值的精度較高如貨幣運算等則考慮使用
 77 
 78 
 79 */
 80 #測試M和D
 81 
 82 DROP TABLE tab_float;
 83 CREATE TABLE tab_float(
 84     f1 FLOAT,
 85     f2 DOUBLE,
 86     f3 DECIMAL
 87 );
 88 SELECT * FROM tab_float;
 89 DESC tab_float;
 90 
 91 INSERT INTO tab_float VALUES(123.4523,123.4523,123.4523);
 92 INSERT INTO tab_float VALUES(123.456,123.456,123.456);
 93 INSERT INTO tab_float VALUES(123.4,123.4,123.4);
 94 INSERT INTO tab_float VALUES(1523.4,1523.4,1523.4);
 95 
 96 
 97 
 98 #原則:
 99 /*
100 所選擇的類型越簡單越好,能保存數值的類型越小越好
101 
102 */
103 
104 #三、字元型
105 /*
106 較短的文本:
107 
108 char
109 varchar
110 
111 其他:
112 
113 binary和varbinary用於保存較短的二進位
114 enum用於保存枚舉
115 set用於保存集合
116 
117 
118 較長的文本:
119 text
120 blob(較大的二進位)
121 
122 特點:
123 
124 
125 
126     寫法        M的意思                    特點            空間的耗費    效率
127 char    char(M)        最大的字元數,可以省略,預設為1        固定長度的字元        比較耗費    高
128 
129 varchar varchar(M)    最大的字元數,不可以省略        可變長度的字元        比較節省    低
130 */
131 
132 
133 
134 CREATE TABLE tab_char(
135     c1 ENUM('a','b','c')
136 
137 
138 );
139 
140 
141 INSERT INTO tab_char VALUES('a');
142 INSERT INTO tab_char VALUES('b');
143 INSERT INTO tab_char VALUES('c');
144 INSERT INTO tab_char VALUES('m');
145 INSERT INTO tab_char VALUES('A');
146 
147 SELECT * FROM tab_set;
148 
149 
150 
151 CREATE TABLE tab_set(
152 
153     s1 SET('a','b','c','d')
154 
155 
156 
157 );
158 INSERT INTO tab_set VALUES('a');
159 INSERT INTO tab_set VALUES('A,B');
160 INSERT INTO tab_set VALUES('a,c,d');
161 
162 
163 #四、日期型
164 
165 /*
166 
167 分類:
168 date只保存日期
169 time 只保存時間
170 year只保存年
171 
172 datetime保存日期+時間
173 timestamp保存日期+時間
174 
175 
176 特點:
177 
178         位元組        範圍        時區等的影響
179 datetime                   8        1000——9999                      不受
180 timestamp    4                   1970-2038                        受
181 
182 */
183 
184 
185 CREATE TABLE tab_date(
186     t1 DATETIME,
187     t2 TIMESTAMP
188 
189 );
190 
191 
192 
193 INSERT INTO tab_date VALUES(NOW(),NOW());
194 
195 SELECT * FROM tab_date;
196 
197 
198 SHOW VARIABLES LIKE 'time_zone';
199 
200 SET time_zone='+9:00';

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...