sql知識總結

2021-08-18 19:35:00 字數 2269 閱讀 1011

分頁查詢

在oracle中  分頁查詢通過隱含的rownum查詢

select *

from(

select rownum r,*

from(slect * from

from tb)

where rownum<=100 )      只能小於

)where r>=90        這裡注意外巢狀後r已經是表內列,通過巢狀確定要顯示的列

mysql中

通過limit x,y的方式確定第x行起(+1),後再顯示y行

任何情況下的查詢語句,limit都在最後,查詢的越多越慢

select distinct concat

from

where

group by

order by 

limit

表連線表連線是連線字段,並篩選掉一部分不符合條件的行,注意這裡欄位有重複部分沒有刪除,所以不能作為巢狀部分,所謂內連線就是所連線的表都去除一部分

注意這裡行只減不增

不管內外連線都是非標準的

內連線依然成為標準如下:

select e.id,d.name(查詢條件中注意有多行重複,用別稱區分)

from enter e,docker d  注意逗號,注意在最開始的from中簡寫表名稱

where 連線條件

e.id=d.id;

and 連第三張表的條件

注意還可以加普通篩選條件

使用表連線時注意查詢共性元素

外鏈結是不去除條件,也是非標準語句,由各廠商自定義

a *=b右

a =*b左

a(+)=b左  oracle

a=b(+)右

一般外鏈結語句,inner和outer都可以省略

a inner join b

a left outer join b

a right outer join b

a full join b  mysql不支援

都在from中過濾:

from a (left) join b on(條件)

(不需要加and)join c on(條件)。。。

直接後面加語句繼續連多張表

select *

from employees e left join departments d

on(e.department_id=d.department_id)

left join locations l

on(d.location_id=l.location_id);

left語句從左表開始不丟行。

事務begin commit  rollback

start transaction

一組sql必須全部執行,否則回滾,最基本的資料操作單位

acid

atomic

consistency

isolation

durancy

四層隔離

寫法:set tx_isolation=' '

read-uncommitted

髒讀,重寫,幻讀     一起讀寫,而且讀取未提交的日誌檔案

read-committed

重寫,幻讀           不讀取未提交部分,但是讀寫同時進行,每次查的結果不一樣

repeatal-read

幻讀(一般預設為)

查詢都是第一次查詢的結果,只在本地進行,(所以不知道最新資料),另外只有在commit或者***操作已經變動的資料,才會返回最新資料。。。

serializable   

最高安全但最低效率

索引 create index name

on table(id或者,name)

或者:兩個字段同時索引,注意只對字段前面所搜

drop index  name

innodb和myisam都是

b+tree結構

最多搜尋 n*log(n為底)x    x為總量,公式為運算次數。

檢視  

注意不存資料,但是表面可以當做表

主要是為了安全(隱藏表),便捷

建立create view 名稱

asselect。。。

和關聯記憶

create table tb

asselect。。。。。

檢視類似表desc,show table..\g,show view\g

刪除drop view 名稱。

explain

顯示可能用到的約束,用到的約束,字段資料寬度,搜尋行數

SQL知識總結

use tablename 要操作的資料庫名 select logicalfilename tablename log 日誌檔名 maxminutes 10,limit on time allowed to wrap log.newsize 1 你想設定的日誌檔案的大小 m setup initia...

sql 總結知識點

對於存放時間格式為2003090709 56 00 轉換為datetime型別方法 cast stuff a.cyrq,9,0,as datetime 結果為 2003 09 07 09 56 00.000 而將標準datetime型別轉換為字元型方法為 declare begin datetime...

SQL操作知識總結(一)

1 1,普通選擇語句 select name from products 在products表中檢索name的列。一般與where連用。如 select name from products where id 1 在products表中檢索列為id的的name,id 1的有幾條資料,就顯示幾條資料。...