數據庫操作以及MySQL中的數據類型

數據庫操作

創建數據庫

create database [if not exists] 數據庫名 [default charset utf8 collate utf8_general_ci];

if not exists:表示如果數據庫不存在則創建,如果存在則不創建

default charset utf8:指定數據庫的字符集,如果不指定將使用默認字符集

collate utf8_general_ci:指定字符集的默認校對規則

使用數據庫

use 數據庫名;

刪除數據庫

drop database [if exists] 數據庫名;

查看數據庫

show databases [like '數據庫名'];

例如:show databases like '%_schema';

在這裏插入圖片描述

查看數據庫的定義聲明:

show create database 數據庫名;

修改數據庫

alter database [數據庫名] default charset <字符集名> collate <校對規則名>;

數據類型相關

MySQL的數據類型主要分爲:數值類型、字符串類型、日期時間類型和二進制類型。

數值類型

數值類型包括整數類型、浮點數類型、定點數類型。

整數類型

類型 字節數 有符號值範圍 無符號值範圍
TINYINT 1 -128~127 0~255
SMALLINT 2 -32768~32767 0~65535
MEDIUMINT 3 -8388608~8388607 0~16777215
INT 4 -2147483648~2147483647 0~4294967295
BIGINT 8 -263~263-1 0~264

有無符號通過約束條件UNSIGNED來進行約束

通過約束條件zerofill來用零佔位

浮點數類型

  • FLOAT:單精度浮點數
  • DOUBLE:雙精度浮點數

FLOAT(3, 2):表示總長度爲3,小數點後長度爲2

DOUBLE(5,3):表示總長度爲5,小數點後長度爲3

浮點數存在精度丟失問題,若涉及小數運算,儘量不要用浮點型

定點數類型

DECIMAL[(M[,D])]:常用於存儲精確的小數,M是總位數,D是小數點後的位數。M最大爲65,D最大爲30

定點數類型在存儲小數時也會存在精度丟失的問題。

字符串類型

  • CHAR[(M)]:一個固定長度的字符串,在存儲時始終用空格填充指定的長度,M的範圍爲0~255,如果M省略,則長度爲1,存儲時佔M個字節。
  • VARCHAR(M):可變長的字符串,M表示字符的最大列長度,M的範圍是0~65535,存儲時佔L+1個字節(L爲實際字符的長度)。
  • TINYTEXT[(M)]:不能有默認值,佔用L+1個字節,L<28
  • TEXT[(M)]:不能有默認值,佔L+2個字節,L<216
  • MEDIUMTEXT[(M)]:不能有默認值,佔L+3個字節,L<224
  • LONGTEXT[(M)]:不能有默認值,佔L+4個字節,L<232
  • ENUM('value1','value2','value3',...):ENUM是一個字符串對象,其值允許從值列表中選擇,列表中值最多包含65535個不同的元素。
  • SET('value1', 'value2',...)字符串對象,該對象可以有零個或多個值,最多可包含64個不同的元素。

日期時間類型

類型名稱 日期格式 日期範圍 存儲需求
YEAR YYYY 1901~2155 1字節
TIME HH:MM:SS -838:59:59~838:59:59 3字節
DATE YYYY-MM-DD 1000-01-01~9999-12-31 3字節
DATETIME YYYY-MM-DD HH-MM-SS 1000-01-01 00:00:00~9999-12-31 23:59:59 8字節
TIMESTAMP YYYY-MM-DD HH-MM-SS 1980-01-01 00:00:01 UTC ~ 2040-01-19 03:14:07 UTC 4字節

二進制類型

類型名稱 說明 存儲需求
BIT(M) 位字段類型 大約(M+7)/8字節
BINARY(M) 固定長度二進制字符串 M字節
VARBINARY(M) 可變長度二進制字符串 M+1字節
TINYBLOB(M) 非常小的BLOB L+1字節,L<8
BLOB(M) 小BLOB L+2字節,L<16
MEDIUMBLOB(M) 中等大小的BLOB L+3字節,L<24
LONGBLOB(M) 非常大的BLOB L+3字節,L<32

對於BIT類型需要使用函數讀取

bin()顯示爲二進制

hex()顯示爲十六進制

參考文章:MySQL教程

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章