初學MySQL第九天

2021-10-06 02:10:53 字數 2921 閱讀 7342

數值型:整型

小數:定點數、浮點數

字元型:較短的文字:char、varchar,較長的文字:text、blob(較長的二進位制資料)

日期型:

一、整型

分類:tinyint(1)、smallint(2)、mediumint(3)、int/integer(4)、bigint(8)

特點:① 如果不設定無符號還是有符號,預設是有符號,如果想設定無符號,需要新增unsigned關鍵字

② 如果插入的數值超出了整型的範圍,會報out of range異常,並且插入臨界值

③ 如果不設定長度,會有預設的長度,長度代表了顯示的最大寬度,如果不夠會用0在左邊填充,但必須搭配zerofill使用!

1.如何設定無符號和有符號

drop table if exists tab_int;

create table tab_int(

t1 int(7) zerofill,

t2 int(7) zerofill

);desc tab_int;

insert into tab_int values(-123456);

insert into tab_int values(-123456,-123456);

insert into tab_int values(2147483648,4294967296);

insert into tab_int values(123,123);

select * from tab_int;

二、小數

分類:1.浮點型:float(m,d)、double(m,d)

2.定點型:dec(m,d)、decimal(m,d)

特點:①

m:整數部位+小數部位

d:小數部位

如果超過範圍,則插入臨界值

②m和d都可以省略

如果是decimal,則m預設為10,d預設為0

如果是float和double,則會根據插入的數值的精度來決定精度

③定點型的精確度較高,如果要求插入數值的精度較高如貨幣運算等則考慮使用

測試m和d

drop table tab_float;

create table tab_float(

f1 float,

f2 double,

f3 decimal

);select * from tab_float;

desc tab_float;

insert into tab_float values(123.4523,123.4523,123.4523);

insert into tab_float values(123.456,123.456,123.456);

insert into tab_float values(123.4,123.4,123.4);

insert into tab_float values(1523.4,1523.4,1523.4);

原則:

所選擇的型別越簡單越好,能儲存數值的型別越小越好

三、字元型

較短的文字:char、varchar

其他:binary和varbinary用於儲存較短的二進位制、enum用於儲存列舉、set用於儲存集合

較長的文字:text、blob(較大的二進位制)

特點:

寫法		        m的意思				         	特點			   空間的耗費   效率

char char(m) 最大的字元數,可以省略,預設為1 固定長度的字元 比較耗費 高

varchar varchar(m) 最大的字元數,不可以省略 可變長度的字元 比較節省 低

create table tab_char(

c1 enum('a','b','c')

);insert into tab_char values('a');

insert into tab_char values('b');

insert into tab_char values('c');

insert into tab_char values('m');

insert into tab_char values('a');

create table tab_set(

s1 set('a','b','c','d')

);insert into tab_set values('a');

insert into tab_set values('a,b');

insert into tab_set values('a,c,d');

四、日期型

分類

date只儲存日期

time 只儲存時間

year只儲存年

datetime儲存日期+時間

timestamp儲存日期+時間

特點

位元組	     範圍		  時區等的影響

datetime 8 1000——9999 不受

timestamp 4 1970-2038 受

create table tab_date(

t1 datetime,

t2 timestamp

);insert into tab_date values(now(),now());

show variables like 'time_zone';

set time_zone='+9:00';

集訓第九天

今天就看了乙個迪傑斯特拉演算法,他的方法就是從乙個頂點出發,找出這個到與它相關頂點的所有路徑,然後在找出其中最小的,作為基量,一次類推 如下 include define inf 0x7fffffff define maxn 50 int matrix maxn maxn void dijkstra...

開課第九天

畫布 1今天是開課第九天,上午講了關於方法的題,下午講了新知識,嗯,今天有點熱,下面就是本寶寶今天的收穫 1 過載 方法名相同,引數列表不同叫做過載,和返回值型別無關。過載方法名必須一致,引數列表不同,和返回值型別無關。引數列表不同 個數不同,順序不同,型別不同 方法過載的時候編譯器會自動找到最適合...

學習第九天

怎麼沒有題面?我怎麼知道?換個鏈結吧!向洛谷勢力低頭 我們畫一下這個小螞蟻走出來的圖形,我們就會發現,是乙個類似長城的形狀 這個題,求最大值,我們應該能很容易想到用動態規劃 那麼對於乙個路徑圍成的圖形,我們需要描述的是它的位置和形狀,所以這顯然是個高維的dp 位置很好描述,但是形狀太複雜了,我們怎麼...