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.group by分組之後,會將資料進行合併,從而象徵性的保留每組的第一條資料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個位元組來儲存欄位名。
幾種資料庫的一些知識點 待續
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 記憶體被釋放了,並不表示指標會消亡或者成...