mysql支援多種資料型別,主要有數值型別、日期/時間型別和字串型別
數值資料型別:包括證書型別tinyint/smallint/mediumint/int/bigint,浮點小數資料型別float和double,定點小數型別decimal.
日期/時間型別:包括year、time、date、datetime和timestamp
字串型別:包括char/varchar/binary/varbinary/blobtext/enum和set
提供的整數型別有:tinyint/smallint/mediumint/int/bigint。整數型別的屬性字段可以新增auto_increment自增約束條件。型別名稱
說明儲存需求
tinyint
很小的整數
乙個位元組
smallint
小的整數
2個位元組
mediumint
中等大小的整數
3個位元組
int普通大小的整數
4個位元組
bigint
大整數8個位元組
不同整數型別的取值範圍
資料型別
有符號無符號
執行成功後,使用desc檢視表的結構;
可以看到,系統將新增不同的預設顯示寬度。
mysql中使用浮點數和定點數來表示小數。浮點型別有四種:單精度浮點型別(float)和雙精度浮點型別(double).定點型別只有一種:decimal.浮點型別和定點型別都可以用(m,n)來表示,其中m為寬度,n為標度,是小數的位數。
型別名稱
說明儲存需求
float
單精度浮點數
4個位元組
double
雙精度浮點數
8個位元組
decimal(m,d),desc
壓縮的「嚴格」定點數
m+2個位元組
decimal型別不同於float和double,decimal實際以串存放的,decimal可能的最大取值範圍與double一樣,但其有效的取值範圍由m和d的值決定。
double型別的取值範圍如下:
1.建立一張表tb_e***:
向表中新增資料:
mysql中有多種表示日期的資料型別,主要有datetime、date、timestamp、time和year。例如,當只記錄年資訊的時候,用year型別,而沒有必要使用date.每乙個型別都有合法的取值範圍,當指定確定不合法的值系統將「零「值插入到資料庫中。
日期型別
儲存空間
日期格式
日期範圍
datetime
8 bytes
yyyy-mm-dd hh:mm:ss
1000-01-01 00:00:00 ~ 9999-12-31 23:59:59
timestamp
4 bytes
yyyy-mm-dd hh:mm:ss
1970-01-01 00:00:01 ~ 2038
date
3 bytes
yyyy-mm-dd
1000-01-01 ~ 9999-12-31
year
1 bytes
yyyy
1901 ~ 2155
year型別
mysql以yyyy格式檢索和顯示year值。範圍是1901到2155。
可以指定各種格式的year值:
四位字串,範圍為』1901』到』2155』。
四位數字,範圍為1901到2155。
兩位字串,範圍為』00』到』99』。'00』到』69』和』70』到』99』範圍的值被轉換為2000到2069和1970到1999範圍的year值。
兩位整數,範圍為1到99。1到69和70到99範圍的值被轉換為2001到2069和1970到1999範圍的year值。請注意兩位整數範圍與兩位字串範圍稍有不同,因為你不能直接將零指定為數字並將它解釋為2000。你必須將它指定為乙個字串』0』或』00』或它被解釋為0000。
函式返回的結果,其值適合year上下文,例如now()。
非法year值被轉換為0000。
格式說明:
'd hh:mm:ss.fraction』格式的字串。還可以使用下面任何一種「非嚴格」語法:『hh:mm:ss.fraction』、『hh:mm:ss』、『hh:mm』、『d hh:mm:ss』、『d hh:mm』、『d hh』或』ss』。這裡d表示日,可以取0到34之間的值。請注意mysql還不儲存分數。
『hhmmss』格式的沒有間割符的字串,假定是有意義的時間。例如,『101112』被理解為』10:11:12』,但』109712』是不合法的(它有乙個沒有意義的分鐘部分),將變為』00:00:00』。
hhmmss格式的數值,假定是有意義的時間。例如,101112被理解為』10:11:12』。下面格式也可以理解:ss、mmss、hhmmss、hhmmss.fraction。請注意mysql還不儲存分數。
函式返回的結果,其值適合time上下文,例如current_time。
超出time範圍但合法的值被裁為範圍最接近的端點。例如,』-850:00:00』和』850:00:00』被轉換為』-838:59:59』和』838:59:59』。
3 data型別
此型別的字段,儲存資料格式為:yyyy-mm-dd,它支援的範圍為』1000-01-01』到』9999-12-31』。
首先建立表:create tb_emp6;
mysql資料庫(一):詳細,對新手非常友好
Mysql資料庫詳細配置
注意是自己解壓mysql檔案的目錄下的bin檔案目錄下 mysqld 設定3306埠 port 3306 設定mysql的安裝目錄 basedir c mysql mysql 8.0.12 winx64 bin 設定mysql資料庫的資料的存放目錄 datadir c mysql mysql 8.0...
超詳細MySQL資料庫優化
資料庫優化一方面是找出系統的瓶頸,提高mysql資料庫的整體效能,而另一方面需要合理的結構設計和引數調整,以提高使用者的相應速度,同時還要盡可能的節約系統資源,以便讓系統提供更大的負荷.1.優化一覽圖 2.優化 筆者將優化分為了兩大類,軟優化和硬優化,軟優化一般是運算元據庫即可,而硬優化則是操作伺服...
mysql資料庫事務詳細剖析
在寫之前交代一下背景吧!做開發也好久了,沒怎麼整理過知識,現在剖析一下自己對資料庫事務的認識,以前用sqlserver,現在轉j a後又用mysql oracle。我這塊就主要解釋一下mysql資料庫事務。其實好多內容適用於各種標準資料庫!直接就進入正文了!不管是做啥都有理論知識,我在這塊也介紹一下...