MYSQL數據類型詳解

????????MySQL支持多種數據類型,這些數據類型可以分為三大類:數值、日期和時間以及字符串(字符)類型。這些數據類型可以幫助我們根據需要選擇合適的類型來存儲數據。選擇合適的數據類型對于確保數據的完整性和性能至關重要。
????????以下是MySQL中的29種主要數據類型:

目錄

一、BIGINT

二、BINARY

三、BIT

四、BLOB

五、BOOLEAN

六、CHAR

七、DATE

八、DATETIME


一、BIGINT

BIGINT?是 MySQL 中一種常用的數據類型,它用于存儲大整數值。

語法:

BIGINT[(M)] [UNSIGNED] [ZEROFILL]

使用:

  • 當存儲的信息超過int上限的整數時使用。
  • 存儲非常大的數字,如金融領域,存儲傾向金額和統計總數量等信息。
  • 注:需要注意其“存儲范圍”和“顯示寬度”。

示例:

CREATE TABLE test(file_name VARCHAR(255) NOT NULL,size BIGINT UNSIGNED NOT NULL,amount BIGINT NOT NULL,PRIMARY KEY (file_name)
);INSERT INTO test (file_name, size) VALUES('file1.txt', 102401238401, 99990000000),('file2.txt', 3847283123, 99990005555),('file3.txt', 98213233844, 99990006666);

二、BINARY

BINARY?是 MySQL 中一種常用的數據類型,它用于存儲二進制數據。

語法:

BINARY(M)

使用:

  • 存儲二進制數據。如加密密鑰、圖像、視頻文件和音頻文件等。
  • 注:需要注意其存儲的字節數和二進制數據的來源。

示例:

CREATE TABLE users (user_id INT UNSIGNED NOT NULL AUTO_INCREMENT,username VARCHAR(255) NOT NULL,password BINARY(64) NOT NULL,image BINARY(1024) NOT NULL,PRIMARY KEY (user_id)
);INSERT INTO users (username, password, image) VALUES('zhangsan', UNHEX(SHA2('abcdefg', 256)), LOAD_FILE('/home/test/image1.jpg')),('lisi', UNHEX(SHA2('secret', 256)), LOAD_FILE('/home/test/image2.jpg'));

三、BIT

BIT?是 MySQL 中一種常用的數據類型,它用于存儲位數據。

語法:

BIT(M)

使用:

  • 存儲布爾值、標志位?和?位掩碼等。如表示用戶狀態、表示刪除狀態等。
  • 注:需要注意其存儲的位數和位數據的含義。

示例:

CREATE TABLE users (user_id INT UNSIGNED NOT NULL AUTO_INCREMENT,username VARCHAR(255) NOT NULL,status BIT(1) NOT NULL,PRIMARY KEY (user_id)
);INSERT INTO users (username, status) VALUES('zhangsan', b'1'),('lisi', b'0');

四、BLOB

BLOB?是 MySQL 中用于存儲大量二進制數據的數據類型。它可以存儲最大值為 65,535 字節的數據,也可以存儲超過 4GB 的數據。

語法:

column_name BLOB(size)

使用:

  • 存儲任何(大量)二進制數據,如圖像、音頻、視頻、文檔等。它們通常是較大的文件,因此需要特殊的數據類型來存儲它們。
  • 注:硬盤存儲空間和文件大小上限。

示例:

CREATE TABLE user (id INT PRIMARY KEY,avatar BLOB
);
INSERT INTO user (id, avatar) VALUES
(1, 0xA***********************************************);可以通過HEX()函數將二進制數轉換為二六進制字符串進行存儲。

五、BOOLEAN

MySQL?BOOLEAN?數據類型用于存儲布爾值,即?TRUE?或?FALSE。在 MySQL 中,BOOLEAN?實際上是?TINYINT(1)?的別名。

語法:

column_name BOOLEAN

使用:

  • 存儲邏輯值,例如是否被刪除、是否完成等。
  • 注:需要注意 MySQL 將?TRUE?轉換為 1,將?FALSE?轉換為 0。

示例:

CREATE TABLE employees (id INT PRIMARY KEY,name VARCHAR(50),is_employed BOOLEAN
);
INSERT INTO employees VALUES
(1, 'zhangsan', TRUE),
(2, 'lisi', FALSE);

六、CHAR

CHAR?是 MySQL 中的一種數據類型,用于存儲定長的字符串數據。

語法:

CHAR(M)

使用:

  • 存儲長度固定的字符串,例如郵政編碼、電話號碼等。
  • 注:查詢速度快,但可能會浪費存儲空間。
    • 與?VARCHAR?數據類型相比,CHAR?存儲的是定長字符串,因此在查詢時速度更快。但是,如果存儲的字符串長度不夠時,會自動在字符串后面補空格,因此會浪費一定的存儲空間。

示例:

CREATE TABLE employee (id INT PRIMARY KEY,name CHAR(20),phone CHAR(11)
);INSERT INTO employee (id, name, phone)
VALUES (1, 'zhangsan', '1995252****'),(1, 'lisi', '1995252****);

七、DATE

在 MySQL 中,?DATE?是一種日期數據類型,用于存儲年、月、日值。它的值范圍從 ‘1000-01-01’ 到 ‘9999-12-31’。使用?DATE?數據類型可以輕松地進行日期計算和格式化。

語法:

DATE

使用:

  • 用于存儲日期值,比如出生日期、交易日期等。

示例:

CREATE TABLE user(id INT PRIMARY KEY,name VARCHAR(50),birthdate DATE
);INSERT INTO user(id, name, birthdate)
VALUES(1, 'zhangsan', '1900-12-10'),(2, 'lisi', '2012-12-10');

八、DATETIME

MySQL 中的?DATETIME?數據類型是一種日期和時間格式,它可以存儲從 1000-01-01 00:00:00 到 9999-12-31 23:59:59 之間的日期和時間。它的存儲大小是 8 個字節。

語法:

DATETIME[(<fsp>)]

使用:

  • 存儲具有日期和時間信息的數據。它可以用于存儲時間戳、事件時間等信息。

示例:

CREATE TABLE user(id INT PRIMARY KEY AUTO_INCREMENT,name INT,create_time DATETIME
);INSERT INTO orders (name, create_time )
VALUES ('zhangsan', '2022-01-01 10:30:00');

????????

不卷了,待20231211?更新

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/213653.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/213653.shtml
英文地址,請注明出處:http://en.pswp.cn/news/213653.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

RHEL8_Linux用rpm管理軟件

本章主要介紹使用rpm對軟件包進行管理 使用rpm查詢軟件的信息使用rpm安裝及卸載軟件使用rpm對軟件進行更新使用rpm對軟件進行驗證 rpm 全稱是redhat package manager&#xff0c;后來改成rpm package manager&#xff0c;這是根據源碼包編譯出來的包。先從光盤中拷貝一個包&am…

基于Java Swing泡泡龍游戲(Java畢業設計)

大家好&#xff0c;我是DeBug&#xff0c;很高興你能來閱讀&#xff01;作為一名熱愛編程的程序員&#xff0c;我希望通過這些教學筆記與大家分享我的編程經驗和知識。在這里&#xff0c;我將會結合實際項目經驗&#xff0c;分享編程技巧、最佳實踐以及解決問題的方法。無論你是…

AP9111手電筒專用集成電路芯片 單節干電池 LED手電筒IC

概述 AP9111 是 LED 手電筒專用集成電路芯片 &#xff0c;是一款采用大規模集成電路技術&#xff0c;專門針對單節干電池的 LED 手電筒設計的一款專用集成電路。外加 1 個電感元件&#xff0c;即可構成 LED 手電筒驅動電路板。AP 9111 性能優越、可靠性高、使用簡單、生產一致…

六級高頻詞匯3

目錄 單詞 參考鏈接 單詞 400. nonsense n. 胡說&#xff0c;冒失的行動 401. nuclear a. 核子的&#xff0c;核能的 402. nucleus n. 核 403. retail n. /v. /ad. 零售 404. retain vt. 保留&#xff0c;保持 405. restrict vt. 限制&#xff0c;約束 406. sponsor n. …

聊個開心的敏捷話題——40小時工作制

近年來&#xff0c;加班現象在很多行業已經普遍制度化&#xff0c;甚至“996”已成為一些行業標簽。企業高強度的壓榨讓員工不堪重負&#xff0c;且時常由此引發的各種悲劇也并不鮮見。 所以&#xff0c;今天我們一起來聊一個開心輕松的話題——極限編程的40h工作制原則。 40…

Leetcode(一)兩數之和

兩數之和 暴力 雙層循環 兩兩相加 等于目標值 返回 即可 class Solution {public int[] twoSum(int[] nums, int target) {for(int i0;i<nums.length;i){for(int j0;j<nums.length;j){if(nums[i]nums[j]target && i!j){int[] a{i,j};return a;}}}return null;…

kafka主題分區副本集群的概念

Kafka是一個高性能、分布式的消息系統&#xff0c;用于處理大規模的實時數據流。為了更好地理解Kafka的原理和使用&#xff0c;以下是Kafka中幾個重要概念的解釋&#xff1a; 主題&#xff08;Topic&#xff09;: Kafka中的最基本概念&#xff0c;相當于一個數據流或者消息流的…

【環境搭建】ubuntu22安裝ros2

基于某種特殊需求&#xff0c;從Ubuntu16到22目前都嘗試過安裝ros、ros2 參考1&#xff1a;http://t.csdnimg.cn/DzvSe 參考2&#xff1a;http://t.csdnimg.cn/sOzr1 1.設置locale sudo apt update && sudo apt install locales sudo locale-gen en_US en_US.UTF-8 s…

SQL注入漏洞檢測

預計更新SQL注入概述 1.1 SQL注入攻擊概述 1.2 SQL注入漏洞分類 1.3 SQL注入攻擊的危害 SQLMap介紹 2.1 SQLMap簡介 2.2 SQLMap安裝與配置 2.3 SQLMap基本用法 SQLMap進階使用 3.1 SQLMap高級用法 3.2 SQLMap配置文件詳解 3.3 SQLMap插件的使用 SQL注入漏洞檢測 4.1 SQL注入…

Spring的IOC容器初始化流程

Spring的IOC容器初始化流程 IOC容器初始化在SpringApplication對象創建完畢執行run方法時執行refreshContext()時開始。 準備BeanFactory&#xff0c;設置其類加載器和environment等 執行BeanFactory后置處理器&#xff0c;掃描要放入容器的Bean信息&#xff0c;得到對應的Bea…

計算機網絡常見的縮寫

計算機網絡常見縮寫 通訊控制處理機&#xff08;Communication Control Processor&#xff09;CCP 前端處理機&#xff08;Front End Processor&#xff09;FEP 開放系統互連參考模型 OSI/RM 開放數據庫連接&#xff08;Open Database Connectivity&#xff09;ODBC 網絡操作系…

阿里云服務器租用價格分享,阿里云服務器熱門配置最新活動價格匯總

在我們購買阿里云服務器的時候&#xff0c;1核2G、2核2G、2核4G、2核8G、4核8G、8核16G、8核32G等配置屬于用戶購買最多的熱門配置&#xff0c;1核2G、2核2G、2核4G這些配置低一點的云服務器基本上能夠滿足絕大部分個人建站和普通企業用戶建站需求&#xff0c;而4核8G、8核16G、…

Maven項目引入本地jar

Maven項目引入本地jar 1.對應maven模塊項目中建lib目錄&#xff0c;將jar放入進去 2.在對應的模塊pom.xml中引入此依賴jar 3.在對應的maven-plugin插件打包的pom.xml中指定需要includeSystemScope為true的jar

AMEYA360:大唐恩智浦榮獲 2023芯向亦莊 “汽車芯片50強”

2023年11月28日&#xff0c;由北京市科學技術委員會和北京市經濟和信息化局指導、北京經濟技術開發區管理委員會主辦、蓋世汽車協辦的“芯向亦莊”汽車芯片大賽在北京亦莊成功閉幕。 在本次大賽中 大唐恩智浦的 電池管理芯片DNB1168 (應用于新能源汽車BMS系統) 憑卓越的性能及高…

SQL注入一般過程

實驗&#xff1a;Vulnerability: SQL Injection&#xff08;low&#xff09; SQL注入一般過程 1.判斷注入點 一般和數據庫進行交互的位置 2.判斷注入點類型 字符型判斷&#xff1a; 1 報錯 1 and 12 錯誤結果 1 and 11 正確結果 數字型判斷&#xff1a; 1 報錯 1 and 12…

【SpringBoot教程】SpringBoot 實現前后端分離的跨域訪問(CORS)

作者簡介&#xff1a;大家好&#xff0c;我是擼代碼的羊駝&#xff0c;前阿里巴巴架構師&#xff0c;現某互聯網公司CTO 聯系v&#xff1a;sulny_ann&#xff08;17362204968&#xff09;&#xff0c;加我進群&#xff0c;大家一起學習&#xff0c;一起進步&#xff0c;一起對抗…

【畢業季|進擊的技術er】作為一名職場人,精心總結的嵌入式學習路線圖

活動地址&#xff1a;畢業季進擊的技術er 文章目錄 0、作者介紹1、前言2、嵌入式基礎必備知識2.1、學習內容2.2、學習建議2.3、學習資料 3、嵌入式入門篇——51單片機3.1、學習內容3.2、學習建議3.3、學習資料 4、STM32進階篇4.1、學習內容4.2、學習建議4.3、學習資料 5、小而美…

印刷包裝企業做什么認證才有優勢

最近幾年&#xff0c;外貿出口過程中&#xff0c;越來越多的印刷和包裝企業被客戶要求進行各類認證和審核&#xff0c;比如&#xff0c;產品印刷包裝&#xff0f;吊牌等。他們已經意識到&#xff0c;印刷包裝供應商對于整個供應鏈管理的重要性&#xff0c;尤其是那些明確標示了…

由pandas.loc引發的未知錯誤AttributeError: ‘str‘ object has no attribute ‘isna‘

由于data.loc[value]和 data[data.keyvalue] 這兩者之間有一定的差異&#xff0c;第一種方式返回的可能是series&#xff0c;第二種方式返回的是dataframe&#xff0c;所以在做復雜條件篩選的的時候&#xff0c;可能會爆str相關的錯誤。 例如&#xff1a; account_instal[(ac…

嵌入式開發按怎樣的路線學習較好?

嵌入式開發按怎樣的路線學習較好&#xff1f; 在開始前我有一些資料&#xff0c;是我根據自己從業十年經驗&#xff0c;熬夜搞了幾個通宵&#xff0c;精心整理了一份「嵌入式從專業入門到高級教程工具包」&#xff0c;點個關注&#xff0c;全部無償共享給大家&#xff01;&…