對sql的學習

2021-08-22 10:03:01 字數 2582 閱讀 5229

目的:任務做完發現sql基礎不好,反省之後,重新學習一下:

參考:

查詢:多表查詢

連線查詢:連線查詢是將兩個或兩個以上的表按照某個條件連線起來,從中選取需要的資料;

1、內連線查詢:

內連線查詢是一種最常用的連線查詢。內連線查詢可以查詢兩個或者兩個以上的表;

2、外連線查詢

外連線可以查出某一張表的所有資訊;

select 屬性名列表 from  表名 1 left|right join 表名 2 on 表名 1.屬性名 1=表名 2.屬性名 2;

模糊查詢 like:

模糊查詢 like:

select 字段 1,字段 2,字段 3...from 表名 where 字段 [not] like 『字串』;

「%」代表任意字元;

「_」 代表單個字元;

空值查詢 not null:

select 字段 1,字段 2,字段 3...from 表名 where 字段 is [not] null;

select 字段 1,字段 2,字段 3...from 表名 where 字段 [not] like 『字串』;

select * from test_01 t where t.user_name like '%李%' 

排序 order by

select 字段 1,字段 2...from 表名 order by 屬性名 [asc|desc] //asc公升序(預設) desc降序

去重複查詢 distinct :

select distinct 欄位名 from 表名;

子查詢

1 、帶 in 關鍵字的子查詢

乙個查詢語句的條件可能落在另乙個 select 語句的查詢結果中。

2 、帶比較運算子的子查詢

子查詢可以使用比較運算子。

3 、帶 (not)exists 關鍵字的子查詢

假如子查詢查詢到記錄,則進行外層查詢,否則,不執行外層查詢;not exists表示內層沒有內容時才查詢外層

如:select * from t_book where exists(select * from t_booktype);//表示t_booktype中返回的有內容時才執行外層t_book的查詢

4 、帶 any 關鍵字的子查詢

any 關鍵字表示滿足其中任一條件;如:select * from t_book where price>= any (select price from t_pricelevel);//表示篩選**大於任意t_pricelevel表中選出的**的結果,即比最小的大的**就滿足條件

5 、帶 all 關鍵字的子查詢

all 關鍵字表示滿足所有條件;如:select * from t_book where price>= all (select price from t_pricelevel);//表示篩選**大於所有t_pricelevel表中選出的**的結果,即比最大的**大的才滿足條件

插入資料

格式:insert into 表名 values(值 1,值 2,值 3,...,值 n);

格式:insert into 表名(屬性 1,屬性 2,...,屬性 n) values(值 1,值 2,值 3,...,值 n);

insert into 表名 [(屬性列表)]  values(取值列表 1),(取值列表 2)  ..., (取值列表 n);

更新資料

update 表名  set 屬性名 1=取值 1,屬性名 2=取值 2, ..., 屬性名 n=取值 n  where 條件表示式;

對SQL授權的認識

一 授權與收回 授權語句格式 grant 許可權列表 on 物件名 to 使用者 角色列表 with grant option 其中,許可權列表可以是 all priviliges,select,delete,insert 屬性列 updatee 屬性列 references 屬性列 收回授權語句格...

SQL語句 簡述對SQL注入的認識

官方的說法為 所謂sql注入,就是通過把sql命令插入到web表單提交或輸入網域名稱或頁面請求的查詢字串,最終達到欺騙伺服器執行惡意的sql命令。即把惡意的 sql 語句插入到輸入引數中,然後通過在後台 sql 伺服器上解析 執行進行的攻擊,它目前黑客對資料庫進行攻擊的最常用手段之一。通俗點說,一般...

Mysql對SQL注釋的擴充套件

之前一直不明白mysql注釋中的嘆號是什麼東西,直到看了下邊的manual文件中的內容。mysql伺服器包含一些其他sql dbms中不具備的擴充套件。注意,如果使用了它們,將無法把 移植到其他sql伺服器。在某些情況下,你可以編寫包含mysql擴充套件的 但仍保持其可移植性,方法是用 注釋掉這些擴...