mysql常用數據類型詳細說明及實例說明(學習筆記一)

mysql常用數據類型詳細說明及實例說明(學習筆記一)
 

1.Mysql 在windows下
Net start mysql[啟動]
Net stop mysql[停止]
Quit[退出mysql命令行]
\c[取消輸入的命令]
Select version(),current_date()
Mysql 版本號,現在的日期(年月日如2013-7-15)
Now()現在時間(年月日時分秒如 2013-07-15 08:29:56)
User() 用戶
2.當簡單的計算器
select sin( pi()/6),100/3;

3.不必全在一個行內給出一個命令,較長的命令可以輸入到多個行中。Mysql 通過尋找終止分號而不是輸入行的結束來決定語句在哪結束。

Mysql狀態

提示符

含義

Mysql>

準備好接受新命令

->

等待多行命令的下一行

‘>

等待下一行,等待以單引號(“’”)開始的字符串的結束

等待下一行,等待以雙引號(“’”)開始的字符串的結束

`

等待下一行,等待以反斜點(“`”)開始的字符串的結束

/*

等待下一行,等待以/*開始的註釋的結束


註意:當輸入’, “, `時若不輸入與之對應的結束符則無法輸入新的命令

4.Mysql常用列類型

①串數據數據類型

數據類型

  說明

char

1-255個字符的定長串。他的長度必須在創建時指定否則Mysql假定為char(1)

varchar

長度可變,整體體最大長度是65,532字節如果創建時指定為varchar(n),則可存儲0-n個字符的變長串(n<=65535)字符集而定

tinytext

與text相同,最大長度為255字節

mediumtext

與text相同,但最大16k

text

最大長度為64k的變長文本

longtext

與text相同,但最大長度為4GB

enum

接受最多64k個串組成的一個預設定集合的某個串

set

接受最多64k個串組成的一個預設定集合的0個或多個串

數值數據類型 

數據類型

  說明

tinyint

整數值,支持-128-127(如果unsigned,為0-255)的數 1字節

smallint

整數值,支持-32768-32767(unsigned,0-65535)  2字節

mediumint

  -8388608-8388607(undesigned 0-)  3字節 223

  -223-223-1

int

 231  4字節 

bigint

 8字節

float

單精度浮點值

double

雙精度浮點值

boolean

佈爾

decimal

精度可變的浮點值

peal

4字節的浮點值

bit

為字段,1-64位.(mysql5之前功能上等於tinyint)

 

日期和時間數據類型

數據類型

  說明

DATE

表示1000-01-01至9999-12-31的日期,格式(YYYY-MM-DD)

DATETIME

DATE和TIME的組合

TIMESTAMP

功能上同DATETIME(但范圍較小)

TIME

格式 HH:MM:SS

YEAR

用2位數字表示,范圍是70(1970)-69(2069),4位表示,1901-2155

 

二進制數據

數據類型

  說明

TINYBLOB

Blob最大長度為255字節

BLOB

 64kb

MEDIUMBLOB

  16MB

LONGBLOB

  4GB

5.相關數據類型說明補充
列聲明中可選屬性 unsigned ,zerofill
Tinyint時默認tinyint(4)
隻有當給zerofill時括號裡給定長度才有意義
比如設定瞭zerofill tinyint(5) 插入1時則插入的是00001 
小數型:
浮點型(不太標準),定點型(4或8個字節較復雜)
Float(M,D) M不算.的總位數,D小數點後的位數
比如float(6,4)范圍是
-9999.99-9999.99
688.896插入進去是688.90
1,3,7,9舍去
2,4,6,8,5進位
定點型:
Decimal(M,D)
插入時數據與存入的數據差異小
字符型:
Char(M) M均代表可容納的字符長度而非字節大小一個漢字z占3個字節而它仍是一個字符(據編碼而定),插入的數據小於規定長度時用空格補齊 取出時去掉尾部空格,如果插入的數據尾部就是帶有空格的,則一存一取後尾部空格會丟失,小於M時也占M個字符,利用率<=100%;

Varchar(M) 小於M個,最大有65535字節(ascii時),如果實存n個字符,n<=M,它必須還得用1-2個字節來記錄實際存多少,取時取多少,尾部有空格也不會丟失,利用率=n/(n+1~2字節)<100%,小於255記錄時用一個字節,大於時用2個字節
證明以上差異實例:
創建表t2
CREATE TABLE `t2` (
 `id` int(10) unsigned NOT NULL auto_increment,
 `name` char(7) NOT NULL,
 `pass` varchar(8) NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
插入尾部帶空格的數據
insert into t2(name,pass)
value('hk ','hk ');
取出數據
 select concat(name,'!'),concat(pass,'!') from t2;
會發現

Char與varchar區別
1.Char :1-255定長串 Varchar:0-65535
2.實占空間與利用效率不一樣
3.對尾部空格的處理
Char(可以不給長度默認1),varchar在表創建時都必須給定長度,tinytext類型的不能給定長度,text可以不給可以給定長度,text類型的數據不能設置默認值

修改列數據屬性
ALTER TABLE `t1` CHANGE `id` `id` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT
alter table 表名 change 字段名 字段列聲明(包括字段名)
其中unsigned 必須放在類型之後

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *