MySql 基礎語句學習

2021-09-27 02:19:21 字數 1674 閱讀 7791

多表聯合查詢:

1.帶in的子查詢

2.內連線查詢

3.外連線查詢:左連線查詢和右連線查詢

建立資料庫supermarket,在其中建立 uesr、product、user_order 3個表,簡單模擬商場的使用者、商品、訂單。

使用者: id name age *** vip

商品: productid name price mount

訂單總資訊:orderid data address state userid

查詢訂單裡的使用者的資訊

select * from user where in (select distinct userid from user_order);

select * from user where not in (select distinct userid from user_order);

distinct的作用是去重,同一使用者會有多個訂單資訊。

多表查詢不建議用in查詢,因為:

子查詢在完成後,會產生一張臨時表,儲存後,再供外部查詢進行查詢,等到整個sql語句結束後,再進行釋放。

select * from user a,user_order b where a.id=b.userid and b.state=『已付款』;

或者:連線查詢(比如查詢,a、b的重複內容,c=a∩b)

select a.* from user a inner join user_order b on a.id=b.userid where b.state=『已付款』;

左連線(比如查詢a、b中,a除了重複的內容,c = a-a∩b)

select a.* from user a left join user_order b on a.id=b.userid where b.userid is null;

右連線(c = b - a∩b)

select a.* from user a right join user_order b on a.id=b.userid where b.userid is not null;

索引:把新增索引的字段全部放在一顆b+樹上,再次查詢的時候,可以快速查詢,其中有單列索引和多列索引(聯合索引)。

單列索引:索引排序的時候,只用乙個欄位的值進行排序。

多列索引:索引排序時,用多個欄位的值進行排序,先用第乙個字段值進行排序,第乙個字段相同,再用第二個字段進行排序,一次類推,順序不能亂!

表中unique唯一鍵字段都是自動新增索引項的,分別被稱為主鍵索引和唯一鍵索引。

建立索引:

create index name_index on user(name);

刪除:drop index name_index on user;

explain:是分析sql語句的執行計畫的

學會用explain檢視sql的執行計畫,觀察索引的使用情況。。。

設定乙個合理的慢查詢時間,可以有效的檢視sql執行的效率。

mysql的日誌有4種:

1:二進位制日誌 insert delete updata select

2: 查詢日誌 主要儲存所有的select語句

3:錯誤日誌 主要記錄mysql server執行、啟動、關閉、重啟階段的一些異常

4:慢查詢日誌 會把mysql server 執行中,所有執行時間超過指定long_query_time時間的select查詢語句記錄下來

MySQL 基礎語句學習

mysql語句 1 ddl語句 資料定義語言,定義不同的資料段 資料可 表 列 索引等資料庫物件的定義 ddl 是資料定義語言的縮寫,簡單來說,就是對資料庫內部的物件進行建立 刪除 修改的操作語言。它和 dml 語言的最大區別是 dml 只是對錶內部資料的操作,而不涉及到表的定義 結構的修改,更 不...

MYSQL學習筆記 SQL語句基礎

增 insert into grade values 3,english 80 insert into class select stuid,class from grade 值需匹配 刪 delete from grade where id 3 改 update grade set grade 6...

mysql5 0基礎語句 mysql基礎語句(一)

一 登入 退出 退出 quit 或 exit 二 備份 恢復資料庫 備份資料庫 在mysql服務外面執行 mysqldump h伺服器位址 u登入名 p 要備份的資料庫名 要儲存為的檔案 恢復資料庫 mysql h伺服器位址 u登入名 p埠號 p 資料庫名 注意 通常該資料庫名是需要先建立 存在 三...