資料庫的一些知識點

2021-08-22 13:06:34 字數 1928 閱讀 1472

1。定義:資料庫資料進行比較的比較方式、

2.比較的方式

_bin:使用二進位制進行比較,區分大小寫

_ci:不區分大小寫(case insensitive)

_cs:大小寫敏感,區分大小寫(case sensitive)

3.預設的utf-8,gbk是不區分大小寫的

4.校對集操作

-- 檢視校對集

show

collation;

-- 校對集更改

alter datebase name charset utf8 collate utf8_bin;

create

table name(

欄位名 set('a','b','c')

)charset utf8;

1.定義:儲存和儲存資料的方式

2.方式(都是免費)

innodb建立乙個結構檔案,資料和索引都放在ibdate1;

myisam建立三個檔案,結構、資料和索引

3.區別:

myisam的插入和查詢資料的效率比innodb高

innodb的更新和刪除資料的效率比myisam高

innodb支援事務安全,myisam不支援

1.tinyint和int用的比較多

2.無符號字段後面加unsigned

alter

table name add 欄位名 int unsigned;

1.用處:保證前端資料的顯示不會改變原來的css結構。比如說月份,日期,時間。

2.0填充只能用於無符號型別

alter

table name add 欄位名 tinyint<2> zerofill;

小數

型{浮點

型(float

與double)定

點型decimal(在

範圍內保

存錢,浮

點型不精

確)小 數型

{浮點型(float 與 double)

定點型decimal(在範圍內儲存錢,浮點型不精確)

-- m為整數字最大65,d為小數字最大30

alter

table name add 欄位名 decimal(m,d);

char(255) varchar(65535) text set enum

1.選擇:

char與varchar:

所有的字串都要在255內

字串固定選用char(md5,身份證,手機號 )

字串不固定選用varchar(郵箱,姓名)

char的執行效率比varchar高,varchar比char節省空間

當字串超過255的時候就不用varchar而用text

δ注意

1.在mysql中,任意一條記錄(所有欄位的集合)的長度不能超過65535個位元組。

所以varchar能夠儲存的資料的真實長度會變化很大

gbk:varchar能夠儲存多少個字元(65535 – 2) / 2 = 32766.5

utf8:varchar能夠儲存多少個字元(65535 – 2) / 3 = 21844.3

2.在mysql中,如果所有的字段裡,沒有全部不允許為null,那麼需要乙個位元組來儲存null

3.text不佔儲存長度空間,但是text本身需要佔據10個位元組來儲存欄位名。

1.group by分組之後,會將資料進行合併,從而象徵性的保留每組的第一條資料

幾種資料庫的一些知識點 待續

select country from websites union all order by country 上面語句使用union all,返回的結果集是兩個子集的所有記錄,country有可能有重複值 select country from websites union order by co...

一些知識點

字串拼接 1.a join b a為元素之間的分隔符,b為待分割的序列 可用於輸出時的資料處理,元素間有空格,末尾沒有 2 s s s str1,str2,str3 前半部分為字串,後半部分為索引。用於引入,s是物件 3.format str1,str2,str3 與f 括號裡為已有變數 關於for...

一些知識點

1.vector是在堆上還是棧上?在堆上.2.我們發現指標有一些 似是而非 的特徵 1 指標消亡了,並不表示它所指的記憶體會被自動釋放。比如函式中的指標是區域性變數,如果它指向了堆上,而自己出了函式後消亡了,但它所指向的記憶體還是存在的,導致了記憶體洩漏.2 記憶體被釋放了,並不表示指標會消亡或者成...