MySQL學習第三天

2021-09-26 23:55:27 字數 1349 閱讀 6807

create table if not exists user(

id tinyint,

)engine=innoob charset=utf8;

之後使用desc name

你會驚奇的發現tinyint後面多出了乙個4

那是因為tinyint可以表示128,符號也代表一位,它是資料寬度

即便你設定資料寬度為2,但是你輸入是4位,最終還是顯示4位

如果查出資料的範圍,會出現截斷現象

比如插入-129,但在表中顯示-128

新增約束條件

a tinyint zerofile等等

//浮點型float(6,2)

如果你插入1.512,那麼儲存就會為1.51

select @@sql_mode;:檢視是不是嚴格模式

create table if not exists test1(

a char(5),

b varchar(5)

)engine=innoob charset=utf8;

insert test1(a,b) values("aa","aa");

insert test1(a,b) values("bb","bb");

insert test1(a,b) values("aaaaaa","aaaaaa");

很明顯你的插入第三行會報錯

error 1406 (22001): data too long for column 'a' at row 1

那就證明你的mysql的模式是嚴格模式

沒有嚴格模式就可以插入

設定嚴格模式

sql_mode=no_engine_substitution,strict_trans_tables

檢查是不是嚴格模式:select @@sql_mode

設定了嚴格模式對於其他型別資料都有用

select concat("*",a,"*"),concat("*",b,"*") from test3;

將表中字段為a和b的前後加上*

相當於連線字串

char儲存的時候後面空格進行填充

varchar不進行填充

//enum儲存的是編號不是值

null

yes表示可以插入空值

*** enum("男","女")

insert enum(***) values("男")

insert enum(***) values("男1")錯誤,只能從你列舉的裡面選

insert enum(***) values("null")正確

insert enum(***) values(1)選編號為1的值,從1開始

MySQL學習第三天

如果有其它觀點可以提出來奧 什麼是連線查詢 多張表連起來查詢。如果把全部資料儲存在一張表內的話,會導致資料重複,導致資料的冗餘。在乙個資料集合中重複的資料叫做資料冗餘 連線查詢分類 根據語法劃分 sql92 sql99 sql99語法結構更清晰一些,表的連線條件和後來的where條件分離了。sql9...

學習mysql的第三天

今天是週六,複習了前兩天天學習mysql的東西,每天學習的東西都很少,這兩天加起來只學習了這幾個資料型別 int char varchar enum int中可以修飾的詞有 unsigned zerofill auto increment,not null.一 初步了解如何在sqlyog中建立表的操...

學習第三天

額,又是美好的一天!祝賀比利時奪得季軍!下面,還是先看資訊學 今天繼續看倍增。這道題是和倍增沾邊的題,額,其實就是兩邊floyd。但是思路還是可以借鑑的。這道的思路是,使用兩個陣列,乙個是f k u v 這個陣列表示節點u到節點v之間是否距離為2 k,如果是,則為1,否則為0.代表u和v之間是否1s...