<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      SQL學(xué)習(xí)筆記

      增刪改查關(guān)鍵字

      SELECT

      COUNT(*) 統(tǒng)計(jì)所有值

      COUNT(*) 統(tǒng)計(jì)所有值,一般用于統(tǒng)計(jì)符合條件有多少條數(shù)據(jù),相比于SELECT * FROM TABLE; 可以提高效率

      SELECT * FROM TABLE

      SELECT * FROM TABLE在這里插入圖片描述

      SELECT COUNT(*) FROM student;
      

      SELECT COUNT(*) FROM student;在這里插入圖片描述
      兩相比較看到效率大大提高了,如果僅僅是想要判斷符合條件的多少條數(shù)據(jù)完全可以使用COUNT關(guān)鍵字

      DISTINCT 返回唯一值

      寫(xiě)法:

      SELECT DISTINCT student.student_sex FROM student;
      

      結(jié)果:
      查找前:
      在這里插入圖片描述
      查找后:
      在這里插入圖片描述

      DELETE

      DELETE

      delect 是刪除表內(nèi)的數(shù)據(jù),可以根據(jù)條件刪除要?jiǎng)h除的數(shù)據(jù);
      寫(xiě)法:

      DELETE FROM student WHERE student_age = 26;
      

      結(jié)果:
      刪除前:
      在這里插入圖片描述
      刪除后:
      在這里插入圖片描述
      在這里插入圖片描述
      顯示數(shù)據(jù)已經(jīng)刪除了

      TRUNCATE

      TRUNCATE 會(huì)直接將表中的數(shù)據(jù)清除
      寫(xiě)法:

      TRUNCATE teacher;
      

      先查找表內(nèi)數(shù)據(jù)條數(shù)
      在這里插入圖片描述
      運(yùn)行后結(jié)果:
      在這里插入圖片描述
      在這里插入圖片描述

      DROP

      drop 語(yǔ)句會(huì)直接把表刪除,
      語(yǔ)句:

      DROP TABLE teacher;
      

      結(jié)果:
      在這里插入圖片描述
      在這里插入圖片描述
      顯示表不存在,說(shuō)明表已經(jīng)被刪除完成了

      DELETE、TRUNCATE 、DROP的區(qū)別

      從執(zhí)行速度上來(lái)說(shuō)

      DROP> TRUNCATE > DELETE

      原理

      DELETE:
      1、DELETE屬于數(shù)據(jù)庫(kù)DML操作語(yǔ)言,只刪除數(shù)據(jù)不刪除表的結(jié)構(gòu),會(huì)走事務(wù),執(zhí)行時(shí)會(huì)觸發(fā)trigger;

      2、在 InnoDB 中,DELETE其實(shí)并不會(huì)真的把數(shù)據(jù)刪除,mysql 實(shí)際上只是給刪除的數(shù)據(jù)打了個(gè)標(biāo)記為已刪除, 因此 delete 刪除表中的數(shù)據(jù)時(shí),表文件在磁盤(pán)上所占空間不會(huì)變小存儲(chǔ)空間不會(huì)被釋放,只是把刪除的數(shù)據(jù)行設(shè)置為不可見(jiàn)。雖然未釋放磁盤(pán)空間,但是下次插入數(shù)據(jù)的時(shí)候,仍然可以重用這部分空間(重用 → 覆蓋)。

      3、DELETE執(zhí)行時(shí),會(huì)先將所刪除數(shù)據(jù)緩存到rollback segement中,事務(wù)commit之后生效;

      4、delete from table_name刪除表的全部數(shù)據(jù), 對(duì)于MyISAM 會(huì)立刻釋放磁盤(pán)空間,InnoDB 不會(huì)釋放磁盤(pán)空間;

      5、對(duì)于delete from table_name where xxx 帶條件的刪除, 不管是InnoDB還是MyISAM都不會(huì)釋放磁盤(pán)空間;

      6、delete操作以后使用 optimize table table_name 會(huì)立刻釋放磁盤(pán)空間。不管是InnoDB還是MyISAM 。所以要想達(dá)到釋放磁盤(pán)空間的目的,delete以后執(zhí)行optimize table 操作。

      7、delete 操作是一行一行執(zhí)行刪除的,并且同時(shí)將該行的的刪除操作日志記錄在redo和undo表空間中以便進(jìn)行回滾(rollback)重做操作生成的大量日志也會(huì)占用磁盤(pán)空間

      TRUNCATE:
      1、truncate屬于數(shù)據(jù)庫(kù)DDL定義語(yǔ)言,不走事務(wù),原數(shù)據(jù)不放到 rollback segment 中,操作不觸發(fā) trigger(不能夠回滾撤回!!!)

      2、truncate table table_name 立刻釋放磁盤(pán)空間 ,不管是 InnoDB和MyISAM 。truncate table其實(shí)有點(diǎn)類似于drop table 然后creat,只不過(guò)這個(gè)create table 的過(guò)程做了優(yōu)化,比如表結(jié)構(gòu)文件之前已經(jīng)有了等等。所以速度上應(yīng)該是接近drop table的速度;

      3、truncate能夠快速清空一個(gè)表。并且重置auto_increment的值。

      DROP:
      1、drop屬于數(shù)據(jù)庫(kù)DDL定義語(yǔ)言,同truncate(不能夠回滾撤回!!!)

      2、drop table table_name 立刻釋放磁盤(pán)空間 ,不管是 InnoDBMyISAM; drop 語(yǔ)句將刪除表的結(jié)構(gòu)被依賴的約束(constrain)、觸發(fā)器(trigger)、索引(index); 依賴于該表的存儲(chǔ)過(guò)程/函數(shù)將保留,但是變?yōu)?invalid 狀態(tài)。

      UPDATE

      condition 條件

      WHERE

      CASE

      函數(shù)方法關(guān)鍵字

      TO_CHAR

      TO_CHAR 是一種轉(zhuǎn)換函數(shù),意在將不指定格式的的內(nèi)容轉(zhuǎn)換成簡(jiǎn)單的字符串形式,存在多種用法:

      簡(jiǎn)單用法:

      1. 不指定格式的 TO_CHAR函數(shù)將數(shù)值轉(zhuǎn)換成簡(jiǎn)單字符串形式。
      TO_CHAR(123)       結(jié)果       123
      TO_CHAR(-123)      結(jié)果      -123
      
      1. 用元素9的格式
      TO_CHAR(1234,'9999')            結(jié)果         1234
      TO_CHAR(567,'9999')             結(jié)果          567
      TO_CHAR(-567,'9999')            結(jié)果         -567
      TO_CHAR(1234567,'9999')         結(jié)果         ####
      TO_CHAR(45.789,'9999')          結(jié)果           46
      TO_CHAR(567,'9999.99')          結(jié)果       567.00
      TO_CHAR(-567,'9999.99')         結(jié)果      -567.00
      TO_CHAR(1234567,'9999.99')      結(jié)果      #######
      TO_CHAR(45.789,'9999.99')       結(jié)果        45.79
      TO_CHAR(567,'9,999,999')        結(jié)果          567
      TO_CHAR(-567,'9,999,999')       結(jié)果         -567
      TO_CHAR(1234567,'9,9999,999')   結(jié)果    1,234,567
      TO_CHAR(0.44,'9,999,999')       結(jié)果            0
      
      1. 用元素$的格式
      TO_CHAR(1234,'$9999')       結(jié)果        $1234
      TO_CHAR(-567,'$9999')       結(jié)果        -$567
      
      1. 用元素B的格式 如果被轉(zhuǎn)換數(shù)值整數(shù)部分是0就顯示為空格
      TO_CHAR(567,'B999.9')         結(jié)果             567.0
      TO_CHAR(-567,'B999.9')        結(jié)果            -567.0
      TO_CHAR(0.44,'B999.9')        結(jié)果                .4
      
      1. 用元素MI的格式 負(fù)數(shù)則轉(zhuǎn)換成末尾帶減號(hào)的數(shù)
      TO_CHAR(567,'999MI')         結(jié)果             567
      TO_CHAR(-567,'999MI')        結(jié)果             567
      1. 用元素S的格式 轉(zhuǎn)換成帶有正負(fù)號(hào)的數(shù)字字符
      TO_CHAR(567,'S999')         結(jié)果            +567
      TO_CHAR(-567,'S999')        結(jié)果            -567
      TO_CHAR(567,'999S')         結(jié)果             567+
      TO_CHAR(-567,'999S')        結(jié)果             567-
      
      1. 用元素PR的格式 用尖括號(hào)包圍負(fù)數(shù)
      TO_CHAR(567,'9999PR')         結(jié)果           567
      TO_CHAR(-567,'9999PR')        結(jié)果          <567>
      
      1. 用元素D的格式 在指定位置插入小數(shù)點(diǎn)
      TO_CHAR(567,'9999D99')          結(jié)果           567.00
      TO_CHAR(-567,'9999D99')         結(jié)果          -567.00
      TO_CHAR(567.866,'9999D99')      結(jié)果           567.87
      
      1. EEEE 科學(xué)計(jì)數(shù)法
      TO_CHAR(567,'9.9EEEE')          結(jié)果             5.7E+02
      TO_CHAR(45,'9.9EEEE')           結(jié)果             4.5E+01
      TO_CHAR(0.0666,'9.9EEEE')       結(jié)果             6.7E-02
      

      加深學(xué)習(xí):

      1. TO_CHAR(date[,format[,nlsparams]]):將日期date轉(zhuǎn)化為VARCHAR2字符串, format缺省日期格式為Oracle的缺省日期格式(NLS_DATE_FORMAT)。

      2. TO_CHAR(number[,format[,nlsparams]]):將數(shù)值number轉(zhuǎn)化為VARCHAR2字符串, format缺省,結(jié)果字符串包含有和number中有效位數(shù)相同位數(shù)的字符。
        ① 0與9:每一個(gè)0或9都表示一個(gè)有效位,轉(zhuǎn)換值得有效位與0或9的各位相同。負(fù)數(shù)有前導(dǎo)負(fù)號(hào),前導(dǎo)為0時(shí),使用0,保持不變,使用9則視為空格。如果精度減小,自動(dòng)四舍五入。

      TO_CHAR(0.37,'00.000')   ---值:" 00.370",一個(gè)空格
      TO_CHAR(0.37,'90.000')   ---值:"  0.370",兩個(gè)空格
      

      ② 千分位與小數(shù)位:
      逗號(hào)",“:在指定位置返回一個(gè)逗號(hào)(可以不在千分位位置)。不能與G,D等格式元素同時(shí)使用
      G:返回千分位分隔符,不一定是”,“,要看Oracle數(shù)據(jù)庫(kù)的默認(rèn)設(shè)置或nlsparams的值。
      句點(diǎn)”.“:在指定位置返回一個(gè)句點(diǎn)(可以不在小數(shù)位位置)。不能與G,D等格式元素同時(shí)使用
      D:返回小數(shù)位分隔符,不一定是”.",要看Oracle數(shù)據(jù)庫(kù)的默認(rèn)設(shè)置或nlsparams的值

      PARTITION BY

      partition by是分區(qū)函數(shù)像(sum()等是聚合函數(shù):聚合函數(shù)對(duì)一組值執(zhí)行計(jì)算并返回單一的值。)

      DECODE

      decode(條件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值)
      這個(gè)是decode的表達(dá)式,具體的含義解釋為:

      IF 條件=1 THEN
          RETURN(翻譯值1)
      ELSIF 條件=2 THEN
          RETURN(翻譯值2)
          ......
      ELSIF 條件=值n THEN
          RETURN(翻譯值n)
      ELSE
          RETURN(缺省值)
      END IF
      

      簡(jiǎn)單用法

      一、判斷前面的條件,如果值為1則是男生,值為2則是女生

      SELECT
      	t.id,
      	t.NAME,
      	t.age,
      	decode( t.sex, '1', '男生', '2', '女生', '其他' ) AS sex 
      FROM
      	STUDENT2 t
      

      二、decode比較大小

      sign(value)函數(shù)會(huì)根據(jù)value的值為0,正數(shù),負(fù)數(shù),分別返回0,1,-1

      年齡在20以上的顯示20以上,20以下的顯示20以下,20的顯示正好20

      select t.id,
             t.name,
             t.age,
             decode(sign(t.age - 20),
                    1,
                    '20以上',
                    -1,
                    '20以下',
                    0,
                    '正好20',
                    '未知') as sex
        from STUDENT2 t
      
      posted @ 2022-05-10 22:29  柯基大大  閱讀(9)  評(píng)論(0)    收藏  舉報(bào)  來(lái)源
      主站蜘蛛池模板: 久久亚洲精品日本波多野结衣| 国产三级精品三级在线区| 高清国产美女一级a毛片在线| 少妇人妻系列无码专区视频| 亚洲av激情五月性综合| 精品亚洲国产成人痴汉av| 性xxxxxx中国寡妇mm| 湟中县| 综合色一色综合久久网| 久热这里只有精品在线观看| 免费观看的AV毛片的网站不卡| 国产午夜精品理论大片| 亚洲av色香蕉一区二区| 亚洲一区二区精品偷拍| 三级国产在线观看| 国产成人午夜福利院| 你懂的亚洲一区二区三区| 国产91成人亚洲综合在线| 国产高清一区二区不卡| 国产精品无码a∨麻豆| 99国产精品永久免费视频| 深夜免费av在线观看| 欧美成人精品在线| gogogo高清在线观看视频中文| 日韩人妻无码一区二区三区| 中文字幕国产精品综合| 男男车车的车车网站w98免费| 日韩中文字幕v亚洲中文字幕| 国产乱妇乱子视频在播放| 国产精品视频亚洲二区| 艳妇臀荡乳欲伦交换在线播放| 国产破外女出血视频| 国产国语一级毛片| 国产普通话刺激视频在线播放| 激情影院内射美女| 人妻教师痴汉电车波多野结衣| 色综合网天天综合色中文| 欧洲精品色在线观看| 亚洲精品熟女国产| 老熟女多次高潮露脸视频| 精品一区二区三区日韩版|