mysql之資料類型

來源:互聯網
上載者:User

標籤:ar   os   sp   strong   on   檔案   資料   bs   ad   

 所謂建表,就是聲明列的過程:

  資料是以檔案的形式放在硬碟中(也有放在記憶體裡的)

 列:不同的列類型占的空間不一樣

  選列的原則:夠用又不浪費;

     mysql的資料類型:

  整形:Tinyint(1位元組)  Smallint(2個位元組)  Mediumint(3個位元組)  int(4個位元組)  bigint(8個位元組);

  Tinyint在mysql預設是有符號的(-128----127);

Tinyint(M) unsigned zerofill
unsigned : 是無符號,影響儲存範圍;
M代表寬度,(必須配合zerofill時才有意義)
Zerofill 零填充,如果某列是zerofill,預設是unsigned(類似00005);

insert into classs (name, age4)values (‘zhaoliu‘, 9);
列可以聲明預設值,而且推薦聲明預設值
Not NULL default 0

alter table class add age5 tinyint not null default 0;

小數型/浮點型定點型:
  Float(M, D)
  decimal(M, D)
  //M:精度(總位元,不包含點) D:標度(小數位)

create table goods(
name varchar(10) not null default ‘‘,
price float(6, 2) not null default 0.00) //9999.99, -9999.99
//price float(6, 2) unsigned not null default 0.00) //0-9999.99,
charset utf8;

inert into goods
(name, price)
values
(‘跑步機‘, ‘688,896’)
//記錄在表中price的值為688.90

alter table goods add bigprice float(9.2) not null default 0.0;

alter table goods add deciprice decimal(9.2) not null default 0.0;

alter table goods (name, bigprice, deciprice)
values
(‘單車‘, 1234567.23, 1234567.23);

 

字元型
char 定長字串 char(M),M代表寬度,即可容納的字元數;
Varchar 變長字串 Varchar(M),M代表寬度,即可容納的字元數;

區別:
char定長: M個字元如果存的小於M個字元,實占M個字元;利用率是100%
varchar變長: M個字元如果存的小於M個字元,假設為N,實占N個字元;
實占的字元需要記錄消耗1--2個字元;實際佔有(N+1~2)個字元;

char 與varchar選擇原則:
1、空間利用效率;
2、速度;
四字成語表,char(4);
個人微博, varchar(140);

使用者名稱:char,犧牲空間,提供速度;
text 文本串,比較大段文本,速度稍慢;
注意:text不要加預設值,加了也不生效;


create table stu(
name char(8) not null default ‘‘,
waihao varchar(16) not null default ‘‘
)charset utf8; //name最多容納8個utf8字元;

insert into stu(name, waihao)
values
(‘zhangxiaosan‘, ‘saner‘); //拆入不進去,zhangxiaosan太長了;

insert into stu(name, waihao)
values
(‘zhangsan‘, ‘saner‘);

insert into stu(name, waihao)
values
(‘默罕默德買買提‘,‘非同步拉欣’);

select concat (name, ‘!‘), concat(waihao, ‘!‘) from stu;

alter table std add info text not null default ‘‘;
//執行錯誤;不能預設值;

mysql之資料類型

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.