php學習day11---資料庫(3)資料表的增刪改查

來源:互聯網
上載者:User

標籤:

  今天我們學習了資料表的相關操作,以下是筆記。

一、資料操作語言  1.增添資料

    在資料表中添加資料有多種的文法形式

      形式1:insert [into] table_name [(欄位1,欄位2,欄位3......)] values (值1,值2,值3......),(......),(......)......;

       形式2:replace [into] table_name [(欄位1,欄位2,欄位3......)] values (值1,值2,值3......),(......),(......)......;

       形式3:insert [into] table_name [(欄位1,欄位2,欄位3......)] select 欄位1,欄位2,欄位3......from other_table_name;

       形式4:insert [into] table_name set 欄位1 = 值,欄位2=值,......

    說明:

      在四中方法中,形式1是最常用的方法,其中它的值,可以是一個固定的值或者函數調用的結果,或者是變數,如果對應的欄位是字元或者時間類型,則直接使用單引號。形式1和形式2的用法大體是一致的,唯一的不同就是在插入的資料的主鍵或者唯一鍵有重複的時候,形式1會報錯,形式2會更改資料。形式3就是簡單的將其他表查詢到的資料添加到當前的表中,但必須要注意其欄位列表要一一對應。形式4的比較不常用。 

      

    方式2:

      

 

    load data(載入資料)

      文法形式:

          load data infile“完整的資料檔案路徑” into table table_name;

      

     2.刪除資料

    刪除資料的文法形式:

        delete from table_name [where] [order by] [limit];

     說明:

        刪除資料是以行為單位的;

        要帶where條件,否則會刪除所有的資料;

        order by 排序設定,通常與limit一同使用;

        limit來限定要刪除幾行資料;

    》》

  3.修改資料

    修改資料的文法:

        update table_name set 欄位1=值,欄位2=值......[where] [order by] [limit];

      說明:

        修改時也與where同時用,否則修改全部資料;

        值如果是字串或時間類型,加單引號;

      

 

  4.查詢資料

    因為查詢的內容比較多,所以查詢的相關知識我們單獨作為一章來記載。(下面一大章)

二、資料表查詢詳解  1.基本文法形式

    查詢語句的基本文法形式:

          select [all或distinct] 欄位或運算式列表  [from子句]  [where子句]  [group by子句]  [having子句]  [order by 子句]  [limit子句]

    下面咱們來詳細講解每個子句的含義及用法;

  2.all和distinct

    用於設定select出來的資料,是否消除重複行,可以不寫,,預設為all

        all:表示不消除,即表示所有都顯示出來,是預設值;

        distinct:消除;

      

 

  3.欄位和運算式列表

    欄位,就是自如來源於表的,在表剛建立的時候設定;

    運算式就是類似與內容比如:1,1+2+3,或者now()等內建函式;

    當然了我們每插尋出來的結果都可以用as進行別名設定;

      

 

  4.from子句

    from子句表示select 部分中取得資料的資料來源---其實就是去哪個表中拿資料,其後面通常是跟表名,也可以是其他一些資料來源(串連表);其中from前面跟的欄位必須是來源表中已有的欄位名;

  5.where子句

    說明:

      where子句就是對from子句中的資料來源的資料進行條件式篩選,篩選的機制就是逐行進行判斷,其作用基本跟if語句一樣。where依賴於from語句。

      where中通常使用各種運算子:

          算數運算子:+ - * / %;

          比較子:>  < =  >=  <=  <>(不等於)  ==  !=(不等於)  

          邏輯運算子:and  or  not

          特殊運算子:is   between   in   like

      is運算子:

        有四種使用的情況:

            XX  is  null:判斷某個欄位是“null”

          XX  is  not null:判斷某個欄位是不空;

          XX  is true:判斷某個欄位是否為真;

          XX  is   false:判斷某個欄位的值否為假 : 0,0.0,‘’,null

      

 

      between運算子:

        用於判斷某個欄位的資料值是否在某個給定的範圍,適用於數字類型。

        用法:  XX  between  值1  and  值2;

        其用法類似於  XX>=值1  and XX<=值2;

      

 

      in運算子:

        其表示欄位的值為所列出的這些值中的一個,就算滿足條件,這些值基本上都是無規律的。

        文法:XX  in  (值1,值2,值3......)

      

 

      like 運算子:對字串進行模糊查詢

        其作用就是實現對字串的某種特徵資訊的模糊尋找,依賴於下面兩個特殊符號:

        %  :代表任何個數的任何字元;

        _   :(下杠),代表一個任何字元;

        其使用法:XX  like  “要尋找的內容”

      

      

      

 

  6.group by子句

    形式:  

      group  by 欄位1 [desc|asc],欄位2[desc|asc]......

    說明:

      分組是對前述已經找出來的資料及已經經過where篩選過的資料進行某種標準進行分組;同時,該分組結果,可以同時指定“排序方式”,通常情況下分組只依據一個欄位,2個以上很少。

    那麼什麼是分組呢? 就是將多行資料,以某種標準來進行分類;

    特別注意的是:分組之後的結果只有一個一個的組了,其結果就是在select 語句中輸出的部分只應該出現組的資訊:

        select  組資訊1,組資訊2,...from  資料來源  group by欄位;

    在應用中,分組之後,通常有以下幾種可以用的組資訊(即可以出現在select中):

        1.分組依據的本身資訊,其實就是該分組依據的欄位名;

        2.每一組的數量資訊是用:count(*)獲得;

        3.最大值:max(欄位名)  最小值:min(欄位名)  平均值:avg(欄位名)  總和:sum(欄位名)

      

      

 

  7.having子句

    having的作用和where的作用是一樣的,但是只是對分組的資料進行篩選。

      

      

 

  8.order by子句

    它用於將前面取得的資料以設定的標準來進行排序以輸出結果。

    形式:  

      order by 欄位1 [asc|desc],欄位2[asc|desc]......

    說明:

      對前面的結果資料指定一個或多個欄位排序;

      排序可以規定是正序還是倒敘;

      多個欄位排序都是在前一個欄位 的基礎上。

      

      

 

  9.limit子句

    含義:

      它用於將前面取出的資料按指定的行取出來:從第幾行開始取出多少行;

    形式:

        limit  起始行號,行數;

    說明:

      起始行號都是從零開始;

      起始行號跟資料中的任何一個欄位沒有關係;

      要取出的行號也是數字,應該大於0;

      可以有簡略:limit  行數;表示從第零行開始;

      

      

 

 三、對整個select語句的總結  1.雖然在形式上,select的很多句子都是可以省略的但是她們出現的順序是不能打亂的,必須按照順序寫出;  2.where依賴於from子句;  3.having依賴於group by 子句;  4.select 中的 欄位也是依賴於from子句;  5.上述各子句的內部執行過程也是依賴於from子句的;

 

php學習day11---資料庫(3)資料表的增刪改查

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.