資料型別:對資料進行統一的分類,從系統的角度出發,為了能夠使用統一的方式進行管理,更好的利用有限的磁碟空間。
sql中將資料型別分成了三大類:
1、數值型別
2、字串型別
3、時間日期型別
1、數值型數值型資料:都是數值,系統將數值型分為整數型和小數型。
sql種的資料型別全部都是預設有符號:分正負。
tinyint:迷你整型,使用乙個位元組儲存,表示的狀態最多為256種(常用)
smallint:小整型,使用兩個位元組儲存,表示的狀態最多為65536種
mediumint:中整型,使用三個位元組儲存
int:標準整型,使用四個位元組儲存(常用)
bigint:大整型,使用八個位元組儲存
可使用unsigned控制是否有正負
可以使用zerofill來進行前導零填充
建立一張整型表
--建立一張整型表
create
table my_int (
int_1 tinyint,
int_2 smallint,
int_3 mediumint,
int_4 int,
int_5 bigint
) charset utf8;
插入資料:只能插入整型,只能插入範圍內的資料。
sql種的資料型別全部都是預設有符號:分正負。
有時候需要使用無符號資料:需要給資料型別限定:int unsigned; –無符號:從0開始。
eg:
--給表增加乙個無符號型別
顯示寬度:
檢視表結構的時候,發現每個欄位的資料型別之後都會自帶乙個括號,裡面有指定的數字。
沒有特別的含義,只是預設的告訴使用者可以顯示的形式而已。實際上使用者是可以控制的。
顯示寬度並不改變資料的實際大小。
顯示寬度的意義:在於當資料不夠顯示寬度的時候,會自動讓資料變成對應的顯示寬度。通常需要搭配乙個前導0來增加寬度。不改變值大小。前導0叫做zerofill;
小數型
小數型:帶有小數點或者範圍超出整型的資料型別。
sql中:將小數型細分為兩種:浮點型和定點型。
浮點型:小數點浮動,精度有限,而且會丟失精度(會四捨五入)。
定點型:小數點固定,精度固定,不回丟失精度(不會四捨五入)。
浮點型:
浮點型資料是一種精度型資料:因為超出指定範圍之後,會丟失精度(自動四捨五入)
float:單精度,占用4個位元組儲存資料。
double:雙精度,占用8個位元組儲存資料。
浮點的使用方式:
直接float表示沒有小數部分;float(m,d):m代表總長度,d代表小數部分長度。
如果資料要求精度,資料小的時候可以用浮點型,資料大的時候不要用浮點型。
--建立浮點數表:
插入資料:可以直接是小數,也可以是科學記數法。
浮點型資料的插入:整型部分是不能超出長度的, 但是小數部分可以超出長度(系統會自動四捨五入)
浮點數如果是因為系統進製導致整數部分超出指定的長度,那麼系統也允許成立。
定點型
定點型:絕對的保證整數部分不回被四捨五入(不會丟失精度),小數部分有可能(理論小數部分也不會丟失精度)
插入資料:定點數的整數部分一定不能超出長度(進製也不可以),小數部分的長度可以隨意超出(系統自動四捨五入)。
浮點數因為進製導致長度溢位沒有問題,但是定點數不行。
資料需要精確,一定要定點,如果資料需要粗略的、比較大的,用浮點數。
MySQL三大語言結構和資料型別
資料型別參考 一 ddl data definition language 資料庫定義語言 比如建立 修改或刪除資料庫物件,包括如下sql語句 created,alter,drop 1 create table 建立資料庫表 2 alter table 更改表結構 新增 刪除 修改列長度 3 dro...
三 資料庫操作和資料表操作
目錄 1.資料庫相關操作 2.資料表相關操作 3 表結構相關操作 1.1 建立資料庫 create db name 檢測資料庫名稱是否存在,不存在則建立 create database if not exists db name 在建立資料庫的同時指定編碼方式 create database if ...
MySQL儲存引擎和資料型別
花點時間適當地設計專案的表結構是成功的關鍵。對於這個我深有體會,上個專案,在設計資料庫時沒有經過討論,最後設計出來的資料庫雖然有關聯關係的表有外來鍵約束關係,但是兩個字段居然不一樣,在使用中各種困難,估計只要設計資料庫的人才能明白,所以設計好資料庫時很關鍵的。myisam 表無法處理事務,這意味著應...