mysql基礎 4 mysql支援的資料型別

2021-07-31 03:58:36 字數 2037 閱讀 4727

1.數值型別

(1)整數型別

tinyint,1個位元組,有符號 -128~127,無符號 0~255;

smallint,2個位元組,有符號 -32768~32767,無符號 0~65535;

mediumint,3個位元組,有符號 -8388608~8388607,無符號 0~16777215;

int、integer,4個位元組,有符號 -2147483648~2147483647,無符號 0~4294967295;

bigint,8個位元組,有符號 -9223372036854775808~9223372036854775807,無符號 0~18446744073709551615;

(2)浮點數型別

float,4個位元組,最小值+(-)1.175494351e-38,最大值+(-)3.402823466e+38;

double,8個位元組,最小值+(-)2.2250738585072014e-308,最大值+(-)1.7976931348623157e+308;

(3)定點數型別

dec(m,d)、decimal(m,d),m+2個位元組,最大取值範圍與double相同。

(4)位型別

bit(m),1~8位元組,最小值bit(1),最大值bit(64)。

2.日期和時間型別

date,4個位元組,最小值 1000-01-01,最大值 9999-12-31;

datetime,8個位元組,最小值 1000-01-01 00:00:00,最大值 9999-12-31 23:59:59;

timestamp,4個位元組,最小值 197001011080001,最大值 2023年的某個時刻;

time,3個位元組,最小值 -838:59:59,最大值 838:59:59;

year,1個位元組,最小值 1901,最大值 2155; 注:

a.若用來表示年月日,通常用date;

b.若用來表示年月日時分秒,通常用datetime;

c.若用來表示時分秒,通常用time;

d.若用來表示年份,通常用year,預設是4位格式;

3.字元型別

char(m),m位元組,m為0~255之間的整數;

varchar(m),m為0~65535之間的整數,值的長度+1個位元組,不允許非空字段最大長度只到65533,允許非空字段只到65532;

tinyblob,允許長度0~255位元組,值的長度+1個位元組;

blob,允許長度0~65535位元組,值的長度+2個位元組;

mediumblob,允許長度0~167772150位元組,值的長度+3個位元組;

longtext,允許長度0~4294967295位元組,值的長度+4個位元組;

varbinary(m),允許長度0~m個位元組的變長位元組字串,值得長度+1個位元組;

binary(m),允許長度0~m個位元組的定長位元組字串;

4.enum型別

在建立表時通過列舉方式顯示指定,對1~255個成員的列舉需要1個位元組儲存;對255~65535個成員,需要2個位元組儲存,最多允許有65535個成員。如建立性別表gendertbl,定義gender欄位為列舉型別,成員為「m」和「f」,

mysql>create table gendertbl(gender enum("m","f"));

mysql>insert into gendertbl values('m'),('1').('f'),(null);

5.set型別

是乙個字串物件,可以包含0~64個成員。set型別允許從值集合中選擇任意多個元素進行組合。

1~8個成員的集合,佔1個位元組;

9~16個成員的集合,佔2個位元組;

17~24個成員的集合,佔3個位元組;

25~32個成員的集合,佔4個位元組;

44~64個成員的集合,佔8個位元組;

mysql>create table set_test (col set ('a','b','c','d',));

mysql>insert into set_test values('a,b'),('a,d,a'),('a,c'),('b,c'),('c');

4 MySQL基礎之常用函式

測試字串函式 char length 得到字串的字元數 select char length abc length 返回字串的長度 select length abc concat s1,s2,s3 將字串合併成乙個字串 select concat a b c 如果字串中包含null,返回拼接結果就...

4 MySQL儲存引擎

檢視當前mysql提供的儲存引擎 檢視當前mysql預設的儲存引擎 1 innodb儲存引擎 innodb是mysql的預設事務型引擎,它被設計用來處理大量的短期 short lived 事務。除非有非常特別的原因需要使用其他的儲存引擎,否則應該優先考慮innodb引擎。2 myisam儲存引擎 m...

4 MySQL資料庫 簡單查詢

1.簡單查詢 1.1查詢單個字段語法 select 查詢列表 from 表名 例子 查詢單個欄位 查詢員工姓名 select ename from emp 1.2查詢多個字段 例子 查詢多個欄位 查詢員工姓名和工資 select ename,sal from emp 1.3查詢所有字段select ...