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;