MySql基礎補漏筆記

2022-09-14 02:09:09 字數 1925 閱讀 3944

mysql教程|菜鳥教程

系統複習的時候有一些知識點還沒掌握透的或者思維方式還沒完全跟上的地方,寫了乙個筆記,講道理此筆記對除我之外的任何讀者不具有任何實用價值,只針對我在複習mysql基礎過程中的查漏補缺。

mysql不支援全連線,所以用左連線+union+右連線實現完全連線。

mysql中union操作符用於連線兩個以上的select語句的結果組合到乙個查詢結果中。

多個select語句union時會刪除重複的資料。

mysql中 null=null 返回false,所以用is null/is not null 來操作值為null的字段。

任何值=null 都返回false.

給出正則模式用於regexp操作符

regexp操作符的使用例項:查詢user表中字段name以wu開頭的所有記錄

select * from user where name regexp '^wu';

使用場景:處理操作量大、複雜度高的資料。操作量大是指關聯較多的資料。

在mysql中只有使用了innodb資料庫引擎的庫、表才支援事務。

使用作用:維護資料完整性

事務滿足4個特性(acid):

原子性、一致性、隔離性、永續性

一致性:在事務開始之前及事務的結束之後,資料的完整性沒有被破壞

隔離性:控制事務併發訪問的級別

輸入引數 in:

儲存過程可訪問輸入引數的初始值,可在儲存過程內部修改,但不能將修改結果返回。

輸出引數 out:

儲存過程不可訪問輸出引數的初始值,可在儲存過程內部修改,並且可以將修改結果返回。

輸入引數、輸出引數的區別可以理解為j**a中引數傳遞的值傳遞和引用傳遞的區別。

輸入輸出引數 inout:

儲存過程既能訪問 inout引數的初始值,也能在儲存過程內部修改值並且將修改結果返回。

使用索引可快速訪問表中特定的資訊,索引是對錶中一列或多列的值進行排序的一種結構,類似書籍的目錄。

建立索引會提高查詢效率,但會降低更新表的效率,因為更新資料不但要儲存資料,還需要維護表中的索引檔案,因此索引的使用場景是在資料量大且更新操作少的表中。

可設定除主鍵之外的其他自增字段。

以上是對知識點的查漏補缺,下面是關於處理資料過程中思維方式的應用。

防止重複資料出現:表設計時可通過對不允許重複的一列或幾列進行聯合主鍵限制,或通過unique設定單列的唯一值屬性來限制。

統計重複資料:統計person表中lastname、firstname都不重複並且記錄數大於1條的資料

select count(*) as rep ,lastname,firstname from person

group by lastname,firstname

h**ing on rep>1;

思維模式:

確定重複列 lastname firstname

在列選擇列表(select 後的字段)列出重複列及count(*)

在group by 中列出重複列

h**ing 子句設定重複數限制

過濾重複資料的兩種操作:

1.select distinct ...

2.select ... group by x,y

刪除重複資料的兩種操作:

1.通過臨時表

過濾重複資料插入臨時表

刪除原表

將臨時表重新命名為原表

2.通過新增索引或主鍵來刪除表中重複資料

alter ignore table person add primary key(lastname,firstname);--多列不重複

alter table person add unique(firstname);--單列不重複

js基礎補漏

1 for.in 和 for.of有何區別 for in迴圈由於歷史遺留問題,它遍歷的實際上是物件的屬性名稱。乙個array陣列實際上也是乙個物件,它的每個元素的索引被視為乙個屬性。當我們手動給array物件新增了額外的屬性後,for in迴圈將帶來意想不到的意外效果 var a a b c a.n...

基礎知識補漏 記憶體管理

記憶體管理 資料庫的活動主要就是 cursor 的活動 乙個關鍵的引數是 use realfree heap,當設定這個引數為 true 時,oracle 會為 cga uga 單 獨分配堆,而不從 pga 中分配。它的預設值為 false,而當設定了 pga aggregate target 後,...

MySQL基礎筆記

連線資料庫 一般都是乙個api函式 不同語言不同,但引數相似 connect server,user,passwd,newlink,clientflag 建立與刪除乙個資料庫 在php是使用mysql query sql 是sql的查詢命令,connection 可選為sql識別符號 選擇資料庫 m...