1. 程式人生 > >Mysql學習之路——day1

Mysql學習之路——day1

資料庫伺服器

首先我們要知道,一個數據庫伺服器包含N多資料庫(database),一個數據庫包含N多表(table),一個表包含行和列。一般一個數據庫伺服器中的資料庫確定了,就很少

改動了。

在用 mysql -h localhost -u root -p; 再輸入密碼登入後,

用show database; 可以檢視伺服器中的資料庫(database);

使用use database_name; 來使用某個資料庫。

用show tables;就可以檢視這個資料庫裡面包含的表(table)了。

平時,我們的操作主要是基於table上面的操作,如增刪查改。

//建立表

create table table_name;

//檢視,也可以加上條件選擇檢視具體的資料,

select * from table_name; 


//顯示table的具體描述資訊(description) 

desc table_name;


//插入資料(其實就是table中的行)

insert into table_name (列1,


//修改資料

UPDATE 表名 SET 欄位名1='a',欄位名2='b' WHERE 欄位名3='c';


//刪除某行資料

mysql> DROP TABLE 表名;這個就是刪除整個table


所謂建表其實就是宣告列的過程,在資料庫語言中,資料是以檔案的形式放在硬碟中的(也有放在記憶體裡的)。

列:不同的列型別佔的空間不一樣,選列的原則:夠用,但又不造成浪費。

詳解列型別:

一、數值型

  1 整形

整形又細分為 TinyInt < SmallInt < MediumInt < Int < BigInt。 

現在舉例從數學上來討論TinyInt ,主要討論 佔用空間 以及儲存範圍。TinyInt 佔用 1個位元組,就是8 bit,也就是十進位制 0-255。如果用最高位表示符號位,表示範圍就是-128-127。

型別位元組數 無符號    有符號

TinyInt     10-255     -128-127

SmallInt     2 0-65535-32768 - 32767  

MediumInt     30-16777215(千萬)

Int     4    0-4294967295(四十億)

BigInt     8很大。。。

一般儲存資料時,預設的是有符號的。要想儲存的資料是無符號的,可以加 tinyint unsigned。

整形列的可選屬性  tinyint (M),  unsigned,   zerofill

M : 代表寬度,在zerofill時才有意義,所以如果沒有設定zerofill,不需要設定M屬性,設定了也沒用。

zerofill :零填充。(如果某列設定為零填充,則資料為無符號數)  就是我們平常見到的 0001,0002...9999,(這時的M指就是等於4)保持對其用的。


這時候新增的表裡預設的資料都是Null,如果不想設定NULL,可以新增語句 not null default 0;

alter table class add age4 tinyint not null default 0;