數(shù)據(jù)庫學(xué)習(xí)筆記_第1頁
數(shù)據(jù)庫學(xué)習(xí)筆記_第2頁
數(shù)據(jù)庫學(xué)習(xí)筆記_第3頁
數(shù)據(jù)庫學(xué)習(xí)筆記_第4頁
數(shù)據(jù)庫學(xué)習(xí)筆記_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、數(shù)據(jù)庫學(xué)習(xí)筆記Sql基本操作1、基本操作CRUD(增刪改查)2、將sql基本操作根據(jù)操作對象分類:庫操作,表操作(字段),數(shù)據(jù)操作。2.1庫操作:對數(shù)據(jù)庫的增刪改查;2.1.1新增數(shù)據(jù)庫:基本語法:Create datebase 數(shù)據(jù)庫名字 庫選項庫選項:用來約束數(shù)據(jù)庫,分為兩個選項l 字符集設(shè)定:charset(數(shù)據(jù)存儲的編碼格式):常用的有GBK與UTF8l 校對集設(shè)定:collate(數(shù)據(jù)比較的規(guī)則)當創(chuàng)建數(shù)據(jù)庫的sql語句執(zhí)行之后,發(fā)生了什么?1、 在數(shù)據(jù)庫系統(tǒng)中增加了對應(yīng)的數(shù)據(jù)庫信息;2、 會在保存數(shù)據(jù)的文件夾下:Date目錄,創(chuàng)建一個對應(yīng)數(shù)據(jù)庫名字的文件夾;3、 每個數(shù)據(jù)庫下都有一

2、個opt文件,保存了庫選項。2.1.2:查看數(shù)據(jù)庫:1、查看所有數(shù)據(jù)庫Show databases;2、查看指定部分的數(shù)據(jù)庫:模糊查詢Show databases like pattern;-pattern是匹配模式%:表示匹配多個字符;_:表示匹配單個字符;3、查看數(shù)據(jù)庫創(chuàng)建語句:Show create database 數(shù)據(jù)庫名字;eg: SHOW CREATE DATABASE imooc;數(shù)據(jù)庫在執(zhí)行sql語句之前會優(yōu)化sql,系統(tǒng)保存的結(jié)果是優(yōu)化后的結(jié)果。2.1.3更新數(shù)據(jù)庫:數(shù)據(jù)庫名字不可修改;數(shù)據(jù)庫的修改僅限庫選項:字符集和校對集(校對集依賴字符集)。Alter database

3、 數(shù)據(jù)庫名字 庫選項;Charset/character set 字符集;Collate 校對集;2.1.4刪除數(shù)據(jù)庫:Drop database 數(shù)據(jù)庫名字;當刪除數(shù)據(jù)庫語句執(zhí)行之后發(fā)生了什么?1、 在數(shù)據(jù)庫內(nèi)部看不到對應(yīng)的數(shù)據(jù)庫;2、 在對應(yīng)的數(shù)據(jù)庫存儲的文件夾內(nèi),數(shù)據(jù)庫名字對應(yīng)的文件夾也被刪除(級聯(lián)刪除:里面的數(shù)據(jù)表全部刪除),數(shù)據(jù)庫刪除不可逆。2.2表操作表與字段密不可分2.2.1新增數(shù)據(jù)表語法:Create table if not exists 表名(字段名字 數(shù)據(jù)類型(x),(如果數(shù)據(jù)類型是字符型,需要將字符長度加上)字段名字 數(shù)據(jù)類型,···

4、83;··· -最后一行不需要逗號)表選項;If not exists :如果表名不存在則創(chuàng)建,如果存在則不執(zhí)行創(chuàng)建代碼:檢查功能;表選項:控制表的表現(xiàn),字符集:charset/character set 具體字符集;-保證表中數(shù)據(jù)存儲的字符集;校對集:collate 具體校對集;存儲引擎:engine 具體存儲引擎(innodb和myisam);任何一個表的設(shè)計都必須指定數(shù)據(jù)庫方案1:顯示的指定表所屬的數(shù)據(jù)庫Create table if not exists 數(shù)據(jù)庫名.表名();-將當前數(shù)據(jù)表創(chuàng)建到指定的數(shù)據(jù)庫下。方案2:隱式的指定數(shù)據(jù)表所屬數(shù)據(jù)庫:先進入到某

5、個數(shù)據(jù)庫環(huán)境,然后這樣創(chuàng)建的數(shù)據(jù)表自動歸屬到該數(shù)據(jù)庫。進入數(shù)據(jù)庫環(huán)境:use 數(shù)據(jù)庫名字;2.2.2查看數(shù)據(jù)表1、查看所有表 show tables;2、查看部分表:模糊匹配:Show tables likepattern;%:表示匹配多個字符;_:表示匹配單個字符;3、 查看表的創(chuàng)建語句;Show create table 表名;4.查看表結(jié)構(gòu):查看表中的字段信息Desc/describe/show columns(列)from 表名;2.2.3修改數(shù)據(jù)表2.2.3.1修改表本身表本身可以修改:表名和表選項;1、修改表名:Rename table 老表名 to 新表名;2、修改表選項:A 2

6、.2.3.2修改字段(增、刪、改、查)1、新增字段:Alter table 表名 addcolumn 字段名 數(shù)據(jù)類型 列屬性 位置;位置:字段名可以存放表中任意位置First:第一個位置;After:在哪個字段之后:after 字段名;默認的是在最后一個字段之后。2、修改字段:Alter table 表名 modify 字段名 數(shù)據(jù)類型【屬性】【位置】;3、重命名字段Alter table 表名 change 舊字段 新字段名 數(shù)據(jù)類型【屬性】【位置】;4、 刪除字段:Alter table 表名 drop字段名;注意:如果表中已經(jīng)存在數(shù)據(jù),那么刪除字段會清空該字段的所有數(shù)據(jù)(不可逆)。2.

7、2.4刪除數(shù)據(jù)表Drop table 表名1,表名2,表名3···;可以一簇刪除多張表。2.3數(shù)據(jù)操作:2.3.1新增數(shù)據(jù):兩種方案:方案1、給全表字段插入數(shù)據(jù),不需要指定字段列表;要求數(shù)據(jù)的值出現(xiàn)的順序必須與表中設(shè)計的字段出現(xiàn)的順序一致,凡是非數(shù)值數(shù)據(jù)都需要使用引號(建議使用單引號)包裹。Insert into 表名 values(值列表)【,(值列表)】;-可以一次插入多條數(shù)據(jù)。方案2、給部分字段插入數(shù)據(jù),需要選定字段列表,字段列表出現(xiàn)的順序與字段的順序無關(guān),但是值列表的順序必須與選定的字段的順序一致Insert into 表名(字段列表)values (值列

8、表)【,(值列表)】;2.3.2查看數(shù)據(jù):1、查看所有數(shù)據(jù)Select * from 表名;2、查看指定字段,指定條件的數(shù)據(jù)Select 字段列表 from 表名 【where條件】;2.3.3更新數(shù)據(jù):Update 表名 set 字段 = 值【where條件】;-建議都有where:要不是更新全部2.3.4刪除數(shù)據(jù):Delete from 表名【where條件】;3、中文數(shù)據(jù)問題中文數(shù)據(jù)問題本質(zhì)是字符集問題。4、數(shù)據(jù)類型(列類型)Sql中將數(shù)據(jù)類型分為三大類:數(shù)值類型,字符串類型和時間類型4.1、整數(shù)型(tinyint,int)常用Tinyint和Int。SQL中的數(shù)據(jù)類型全部都是默認有符號

9、,分正負;有的時候需要使用無符號的數(shù)據(jù),需要給數(shù)據(jù)類型限定:int unsigned,-無符號從0開始。顯示寬度沒有特別的含義,只是默認告訴用戶可以顯示的形式而已,實際上用戶可以控制的,這種控制不會改變數(shù)據(jù)本身的大小。顯示寬度的意義:5、列屬性列屬性:真正約束字段的是數(shù)據(jù)類型,但是數(shù)據(jù)類型的約束很單一,需要有一些額外的約束,來更加保證數(shù)據(jù)的合法性。列屬性有很多:NULL/NOTNULL,default,Primary key,unique key,auto_increment,comment5.1、空屬性兩個值:NULL(默認的)和NOT NULL雖然默認為空,但實際開發(fā)中,盡可能保證所有數(shù)據(jù)

10、都不為空,因為空數(shù)據(jù)沒有意義,也無法參加運算。5.2、列描述列描述:comment,描述,沒有實際含義:是專門用來描述字段的,會根據(jù)表創(chuàng)建語句保存,用來給程序員(數(shù)據(jù)庫管理員)來進行了解的。5.3、默認值默認值:某一種數(shù)據(jù)會經(jīng)常性的出現(xiàn)某一個具體的值,可以在一開始便指定好,在需要真實數(shù)據(jù)的時候,用戶可以選擇性的使用默認值。6、 字段屬性6.1、主鍵:主鍵:primary key,主要的鍵,一張表只能有一個主鍵,用來唯一的約束該字段里的數(shù)據(jù),不能重復(fù)。6.1.1增加主鍵增加主鍵的三種方式:1、 創(chuàng)建表時直接在字段之后跟primary key關(guān)鍵字(主鍵本身不允許為空)優(yōu)點:直接;缺點:只能使用一

11、個字段作為主鍵。2、 創(chuàng)建表的時候,在所有字段之后使用primary key(主鍵字段列表)來創(chuàng)建主鍵(如果有多個字段為主鍵,可以是復(fù)合主鍵)3、 當表已經(jīng)創(chuàng)建好之后,再次額外追加主鍵,可以通過修改表字段屬性,也可以直接追加。Alter table 表名 add primary key(字段列表)前提:表中字段對應(yīng)的數(shù)據(jù)本身是獨立的(不重復(fù))。6.1.2主鍵約束主鍵對應(yīng)的字段中數(shù)據(jù)不允許重復(fù),一旦重復(fù),數(shù)據(jù)操作失敗。6.1.3更新主鍵&刪除主鍵沒有辦法更新主鍵,主鍵必須先刪除,才能增加。Alter table 表名 drop primary key; 6.1.4、主鍵分類6.2、自動增

12、長自增長:當對應(yīng)字段不給值或者給默認值或者給NULL時,自增長被系統(tǒng)觸發(fā),系統(tǒng)會從當前字段中已有的最大值進行+1操作,得到一個新的不同字段。自增長通常與主鍵配合使用;自增長的特點:auto_increment6.2.1新增自增長1、 任何一個字段做自增長,前提本身必須是一個索引(key一欄有值);2、 字段必須是數(shù)字,而且是整型;3、 一張表最多只能有一個自增長。6.2.2自增長使用當對應(yīng)字段不給值或者給默認值或者給NULL時,自增長被系統(tǒng)觸發(fā),系統(tǒng)會從當前字段中已有的最大值進行+1操作,得到一個新的不同字段。如果自增長對應(yīng)字段輸入了值,那么自增長將失效,但是下一次還是能自動的自增長(從最大值

13、+1)如何確定下一次自增長是什么?可以通過查看創(chuàng)建表語句6.2.3修改自增長自增長如果涉及到字段改變,必須先刪除自增長后增加(因為一張表只能有一個自增長)。修改當前自增長已經(jīng)存在的值,修改只能比當前已有的自增長的最大值大,不能小,(小不生效)。Alter table 表名 auto_increment =?;6.2.4刪除字增長自增長是一個屬性,可以通過modify來進行修改(保證字段里沒有auto_increment即可)Alter table 表名 modify 字段 類型。6.3、唯一鍵一張表往往有許多字段需要具有唯一性,數(shù)據(jù)不能重復(fù),但是一張表中只能有一個主鍵,唯一鍵(unique k

14、ey)就可以解決多個字段需要唯一性約束的問題。唯一鍵本質(zhì)與主鍵差不多,唯一鍵默認的允許自動為空,而且可以對個為空(空字段不參與唯一性比較)。6.3.1增加唯一鍵基本與主鍵差不多1、在創(chuàng)建表時,字段之后直接跟unique/unique key2、在所有字段之后增加unique key (字段列表);-復(fù)合唯一。4、 在創(chuàng)建表之后增加唯一鍵;6.3.2唯一鍵約束唯一鍵與主鍵本質(zhì)相同,唯一的區(qū)別就是唯一鍵默認允許為空,而且是多空;如果唯一鍵也不允許為空,與主鍵的約束作用是一致的。6.3.3更新唯一鍵&刪除唯一鍵更新唯一鍵:先刪除后新增(唯一鍵可以有多個,可以不刪除)1、刪除唯一鍵Alter

15、table 表名 drop index 索引名字;唯一鍵默認使用字段名作為索引名字。6.4、索引幾乎所有的索引都建立在字段之上索引:系統(tǒng)根據(jù)某種算法,將已有的數(shù)據(jù)(未來可能新增的數(shù)據(jù))單獨建立一個文件,文件能夠?qū)崿F(xiàn)快速的匹配數(shù)據(jù),并且能快速的找到對應(yīng)表中的記錄。索引的意義:1、 提升查詢數(shù)據(jù)的效率;2、 約束數(shù)據(jù)的有效性(唯一性等);增加索引的前提條件:索引本身會產(chǎn)生索引文件(有時候可能比數(shù)據(jù)文件還大),會非常耗費磁盤空間,Mysql中提供多種索引:1、 主鍵索引:primary key;2、 唯一索引:unique key;3、 全文索引:fulltext index;4、 普通索引:ind

16、ex全文索引:針對文章內(nèi)部的關(guān)鍵字進行索引,全文索引最大的一個問題在于如何確定關(guān)鍵字。英文很容易:英文單詞與單詞之間有空格;中文很難:沒有空格,而且中文可以各種隨意組合(分詞:sphinx)。7、 數(shù)據(jù)的高級操作數(shù)據(jù)操作:增刪改查7.1新增數(shù)據(jù)基本語法:Insert into 表名 【(字段列表) values (值列表)】;7.2查詢數(shù)據(jù)基本語法:Select 字段列表/* from 表名 【where 條件】完整語法:Select【select 選項】字段列表【字段別名】/* from 數(shù)據(jù)源 【where 條件子句】【group by 子句】【having 子句】【order by 子句

17、】【limit 子句】;1、 select 選項:select對查出來的結(jié)果的處理方式。All:默認的,保留所有結(jié)果;Discinct:去重,查出來的結(jié)果,將重復(fù)的給去除(所有字段都相同)。2、 字段別名:字段別名:當數(shù)據(jù)進行查詢出來的時候,有時候名字并不一定就滿足需求(多表查詢的時候,會有同名字段)需要對字段名進行重命名:別名。語法:字段名 【as】 別名;3、 數(shù)據(jù)源數(shù)據(jù)源:數(shù)據(jù)的來源,關(guān)系型數(shù)據(jù)庫的來源都是數(shù)據(jù)表,本質(zhì)上只要保證數(shù)據(jù)表類似二維表,最終都可以作為數(shù)據(jù)源。數(shù)據(jù)源分為多種:單表數(shù)據(jù)源,多表數(shù)據(jù)源,查詢語句;1、 單表數(shù)據(jù)源:select * from 表名;2、 多表數(shù)據(jù)名:s

18、elect * from 表名1,表名2,····;(笛卡爾積沒什么卵用)3、 子查詢:數(shù)據(jù)來源是一條查詢語句(查詢語句的結(jié)果是二維表)Select * from (select 語句) as 表名;4、where子句where子句:用來判斷數(shù)據(jù),篩選數(shù)據(jù)。Where子句返回結(jié)果,0或者1,0代表false,1代表true。判斷條件:條件查詢1:要求找出學(xué)生id為1或者3或者5的學(xué)生;條件查詢2: 查詢區(qū)間落在180,190身高之間的學(xué)生;Between本身是閉區(qū)間,between左邊的值必須小于或者等于右邊的值。4、 group by子句group b

19、y :分組的意思,根據(jù)某個字段進行分組(相同一組,不同的分到不同組)基本語法:Group by 字段名;分組的意義在于統(tǒng)計數(shù)據(jù)(按組統(tǒng)計,按分組字段進行數(shù)據(jù)統(tǒng)計)SQL提供一系列統(tǒng)計函數(shù):Count();統(tǒng)計分組后的記錄數(shù),每一組有多少記錄;Max();統(tǒng)計每組中最大值;Min();統(tǒng)計每組中最小值;Avg();統(tǒng)計平均值;Sum();統(tǒng)計和;Count()函數(shù),里面可以使用兩種參數(shù),*代表統(tǒng)計記錄,字段名代表統(tǒng)計對應(yīng)的字段(NULL 不統(tǒng)計);分組會自動排序,根據(jù)分組字段自動排序,默認升序。Group by 字段 【asc|desc(降序)】;-對分組結(jié)果合并之后的整個結(jié)果進行排序。多字段分

20、組:先根據(jù)一個字段進行分組,然后對分組后的結(jié)果再次按照其他字段進行分組。5、 having子句having子句:與where子句一樣,進行條件判斷的。Where是對磁盤數(shù)據(jù)進行判斷的,進入內(nèi)存之后,會進行分組操作,分組結(jié)果就需要having來處理。Having能做where能做的幾乎所有事情,但where卻不能做having能做的很多事情。5.1、分組統(tǒng)計的結(jié)果或者說統(tǒng)計函數(shù)都只有having能夠使用。5.2、having能夠使用字段別名但where不能,where是從磁盤取數(shù)據(jù),所以名字只可能是字段名,別名是在字段進入到內(nèi)存后才產(chǎn)生的。6、 Order by子句:Order by:排序,根據(jù)

21、某個字段進行升序后者降序排序,依賴校對集?;菊Z法:Order by 字段名 【asc|desc】;-asc是升序(默認的),desc是降序。排序可以進行多字段排序,先根據(jù)某個字段進行排序,然后排序好的內(nèi)部再按照某個數(shù)據(jù)進行再次排序。7、 limit子句limit子句是一種限制結(jié)果的語句:限制數(shù)量。Limit有兩種使用方式:7.1、只用來限制長度(數(shù)據(jù)量),limit數(shù)據(jù)量;7.2、限制起始位置,限制數(shù)量;limit起始位置,長度;8、 數(shù)據(jù)庫事務(wù)的基本特性數(shù)據(jù)庫事務(wù)概念什么是數(shù)據(jù)庫事務(wù)?事務(wù)(transaction)是由一系列操作序列構(gòu)成的程序執(zhí)行單元,這些操作要么都做,要么都不做,是一個不

22、可分割的工作單位。數(shù)據(jù)庫事務(wù)的四個基本性質(zhì)(ACID)1. 原子性(Atomicity)事務(wù)的原子性是指事務(wù)中包含的所有操作要么全做,要么全不做(all or none)。2. 一致性(Consistency)在事務(wù)開始以前,數(shù)據(jù)庫處于一致性的狀態(tài),事務(wù)結(jié)束后,數(shù)據(jù)庫也必須處于一致性狀態(tài)。拿銀行轉(zhuǎn)賬來說,一致性要求事務(wù)的執(zhí)行不應(yīng)改變A、B 兩個賬戶的金額總和。如果沒有這種一致性要求,轉(zhuǎn)賬過程中就會發(fā)生錢無中生有,或者不翼而飛的現(xiàn)象。事務(wù)應(yīng)該把數(shù)據(jù)庫從一個一致性狀態(tài)轉(zhuǎn)換到另外一個一致性狀態(tài)。3. 隔離性(Isolation)事務(wù)隔離性要求系統(tǒng)必須保證事務(wù)不受其他并發(fā)執(zhí)行的事務(wù)的影響,也即要達到這

23、樣一種效果:對于任何一對事務(wù)T1 和 T2,在事務(wù) T1 看來,T2 要么在 T1 開始之前已經(jīng)結(jié)束,要么在 T1 完成之后才開始執(zhí)行。這樣,每個事務(wù)都感覺不到系統(tǒng)中有其他事務(wù)在并發(fā)地執(zhí)行。4. 持久性(Durability)一個事務(wù)一旦成功完成,它對數(shù)據(jù)庫的改變必須是永久的,即便是在系統(tǒng)遇到故障的情況下也不會丟失。數(shù)據(jù)的重要性決定了事務(wù)持久性的重要性。9、 關(guān)系:將實體與實體的關(guān)系,反映到最終數(shù)據(jù)表的設(shè)計上來:將關(guān)系分為三種:一對一,一對多(多對一)和多對多。所有的關(guān)系指的都是表與表之間的關(guān)系。9.1一對一:一張表的一條記錄只能與另一張表的一條記錄一一對應(yīng),反之亦然。9.2一對多 9.3多對

24、多:連接查詢;join,使用方式:左表join右表左表:在join關(guān)鍵字左邊的表右表:在join關(guān)鍵字右邊的表10.1交叉連接(理解為取并集)交叉連接(全連接,理解為取并集):cross join,從一張表中循環(huán)取出每一條記錄,每條記錄都去另一張表進行匹配,匹配一定保留(沒有條件匹配),而連接本身字段就會增加(保留),最終形成的結(jié)果叫做笛卡爾積?;菊Z法:左表 cross join 右表;=from 左表,右表;注意1、是先進行連接,后進行查詢;2、笛卡爾積沒有意義,應(yīng)該盡量避免使用;3、交叉連接的意義,保證連接這種結(jié)構(gòu)的完整性。10.2內(nèi)連接(取交集)內(nèi)連接:【inner】join ,從左表

25、中取出每一條記錄,去右表中與所有的記錄進行匹配,匹配必須是左表中某個條件與右表中相同最終才會保留結(jié)果,否則不保留?;菊Z法:左表 【inner】join 右表 on 左表.字段 = 右表.字段;on表示連接條件,條件字段就是代表相同的業(yè)務(wù)含義。字段別名以及表別名的使用:在查詢數(shù)據(jù)的時候,不同表有同名字段,這個時候需要加上表名才能區(qū)分,而表名太長,通常可以使用別名。內(nèi)連接可以沒有連接條件:沒有on之后的內(nèi)容,這個時候系統(tǒng)會保留所有結(jié)果(笛卡爾積),相當于交叉連接。內(nèi)連接還可以使用where代替on關(guān)鍵字(where沒有on效率高)10.3外連接外連接:outer join,以某張表為主,取出里面

26、的所有記錄,然后每條與另外一張表進行連接,不管能不能匹配上條件,最終都會保留,能匹配,正確保留;不能匹配,其他表的字段都置為NULL。外連接分為2種:左連接(left join)與右連接(right join)基本語法:左表 left/right join 右表 on 左表.字段 = 右表.字段;雖然左連接和右連接有主表的差異,但是顯示的結(jié)果:左表的數(shù)據(jù)在左邊,右表的數(shù)據(jù)在右邊,左右表連接可以互轉(zhuǎn)。10.4自然連接自然連接;natural join ,就是自動匹配連接條件,系統(tǒng)以字段名字作為匹配模式(同名字段就可作為條件,多個同名字段都作為條件)自然連接分為:自然內(nèi)連接和自然外連接。自然內(nèi)連接

27、:左表natural join 右表;自然外連接:左表 natural left/right join 右表;11、外鍵外鍵:foreign key,外面的鍵(鍵不在自己表中);如果一張表中有一個字段(非主鍵)指向另外一張表的主鍵,那么將該字段稱之為外鍵。11.1增加外鍵外鍵可以在創(chuàng)建表的時候或者創(chuàng)建表之后增加(但是要考慮數(shù)據(jù)問題)1、創(chuàng)建表的時候增加外鍵:在所有的表字段之后,使用foreign key(外鍵字段)references 外部表(主鍵字段)2、 在新增表之后增加外鍵 修改表結(jié)構(gòu)Alter table 表名 add 【constraint 外鍵名字】foreign key(外鍵字段

28、)references 父表(主鍵字段)12、聯(lián)合查詢聯(lián)合查詢:將多次查詢(多條select語句),在記錄上進行拼接(字段不會增加)基本語法:多條select語句構(gòu)成:每一條select語句獲取的字段必須嚴格一致(但是字段類型無關(guān))Select 語句1Union【union選項】Select 語句2、Union選項與select選項一樣有2個;All:保留所有(不管重復(fù))Distinct:去重(整個重復(fù)):默認的。聯(lián)合查詢的意義:1、 查詢統(tǒng)一張表,但是需求不同,如查詢學(xué)生信息,男生身高升序,女生身高降序。2、 多表查詢,多張表的結(jié)構(gòu)是完全一樣的,保存的數(shù)據(jù)結(jié)構(gòu)也是一樣的。order by 的

29、使用在聯(lián)合查詢中,order by 不能直接使用,需要對查詢語句使用括號才行;若要order by 生效,必須搭配limit,limit使用限定的最大數(shù)即可。13、子查詢子查詢:sub query ,查詢是在某個查詢結(jié)果之上進行的(一條select語句中包含另外一條select語句)。子查詢的分類:按位置分類;按結(jié)果分類。按位置分類:子查詢(select語句)在外部查詢(select語句)中出現(xiàn)的位置。From子查詢:子查詢跟在from之后;Where子查詢:子查詢出現(xiàn)在where條件中;Exists子查詢:子查詢出現(xiàn)在exists里面。按結(jié)果分類:根據(jù)子查詢得到的數(shù)據(jù)進行分類(理論上講任何一

30、個子查詢得到的結(jié)果都可以理解為二維表)標量子查詢:子查詢得到的結(jié)果是一行一列;列子查詢:子查詢得到的結(jié)果是一列多行;行子查詢:子查詢得到的結(jié)果是多行一列(多行多列)上面幾個出現(xiàn)的位置都是在where之后表子查詢:子查詢得到的結(jié)果是多行多列(出現(xiàn)的位置是在from之后)。13.1標量子查詢14、視圖:視圖:view是一種有結(jié)構(gòu)(有行有列)但是沒結(jié)果(結(jié)構(gòu)中不存放真實數(shù)據(jù))的虛擬表,虛擬表的結(jié)構(gòu)來源不是自己定義,而是從對應(yīng)的基表中產(chǎn)生(視圖的數(shù)據(jù)來源)。14.1創(chuàng)建視圖基本語法:Create view 視圖名字 as select 語句;-select語句可以是普通查詢,可以是連接查詢,可以是聯(lián)合查詢,可以是子查詢。14.2查看視圖查看視圖:查看視圖的結(jié)構(gòu)視圖是一張?zhí)摂M表,表的所有查看

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論