php學習day9---資料庫的基本知識

來源:互聯網
上載者:User

標籤:

    今天主要學習了mysql的基本知識。

一、資料庫的介紹  1.資料庫的分類 

     要學習資料庫我們首先要明白什麼是資料庫,資料庫也就類似一個倉庫,可以儲存大量不同的資料,DBMS系統,全名database management system  是資料庫管理系統,是一個管理資料的軟體,安裝了資料庫軟體的的電腦就是資料庫伺服器,連接埠預設為3306,資料庫伺服器,提供資料的更新,管理,安全事務等方面的功能。

     資料庫根據結構的不同可以分為三種:層次資料庫、網狀資料庫、關聯式資料庫。當然,目前最流行的資料庫就是關聯式資料庫。

    幾個資料庫的相關概念:

    data:資料

    database:資料庫,用於儲存資料類似於一個大的檔案夾。

    dbms:資料庫管理系統 ,比如mysql,oracle等等 

    table:資料表,用來存放資料,擁有行和列。類似於檔案中的檔案。

    row:記錄,資料表中的一條記錄,也就是一行資料。

    field:欄位,是列  資料表中的一列資料。

  2.主流的資料庫

      目前在市面上最流行的幾大資料庫分別是:

        Access:是微軟的小型資料庫

        SQLsever:微軟的中型資料庫

        Oracle:美國甲骨文公司的產品,大型或者超大型。

        MySQL:瑞典ab公司的產品,後來被甲骨文收購,中小型網站應用程式,開源。

    SQL:這是關聯式資料庫的標準語言,STRUCT QUERY LANGUAGE(結構化查詢語言 (SQL))

    關聯式資料庫的特點是:表與表之間的資料可以建立一定 的“對應關係”。如:

          

  3.資料庫的基本操作流程

     首先,建立與資料庫之間的串連。

    其次,用戶端向伺服器發送sql命令,伺服器端執行命令,並返回執行結果

    最後,用戶端接受結果顯示並中斷連線。

 

二、資料庫的基本文法  1.啟動資料庫

    資料庫的啟動方法

    以命令列的方式:

                 啟動:net  start  mysql

          關閉:net  start  mysql

    如:

                   

      當然要注意:如果想在全域路徑上使用的話需要配置自己的環境變數。

    服務模式:控制台-》管理工具-》服務-》mysql-》停止/啟動

  2.退出/登入資料庫

    登入資料庫:

          mysql -h伺服器位址 -u登入名稱 -p登入密碼;

          mysql --host=伺服器位址 --user=使用者名稱 --port=連接埠 --password

    退出: quit; exit;

    注意:在登入資料庫之後一定要使用“set names gbk”來設定當前串連資料庫的環境編碼,即當前跟資料庫打交道的用戶端的本身的編碼。

                      

  3.資料庫的備份和恢複

    備份:就是將一個資料庫,完整的轉換為一個可以隨時攜帶和傳送的檔案

    備份的方法:

          mysqldump -h伺服器位址 -u登入名稱 -p  資料庫名>檔案名稱

      

 

     恢複備份:將一個備份之後的資料恢複到資料庫

        mysql  -h伺服器位址  -u登入名稱   -p   資料庫名 < 檔案名稱

      

 

    注意:這兩個命令,都是在沒有登入mysql的時候使用,其中mysqldump命令還需要在管理員身份開啟,通常恢複,就是指恢複原來資料庫中的所有表資料資訊及其它資訊,表明可以是新名字。

  4.基礎文法規定

    注釋:

      注釋有三種:

        單行注釋 :#  注釋內容

        單行注釋: -- 注釋內容(--後有一個空格)

        多行注釋:/*注釋內容*/

    語句行:

      預設情況下,以一個英文分號作為一條語句的結束,而且常規操作中,都是一次執行一條語句。

    大小寫:

      mysql語言背部本身不區分大小寫;

      mysql的某些命令執行會組建檔案夾,此時可能要區分大小寫;

    命名問題:

      可以自己命名的名字稱作標識符。

      命名建議與php命名相同,字母數字底線,並不以數字開頭。

      非常規字元或系統關鍵字雖然可以作為標識符使用,但最好要包在反引號(數字1左邊那個反撇 ` )中,並且不推薦。

三、資料庫定義語句  1.建立資料庫

      在串連資料庫伺服器之後,我們需要進行建立資料庫,當然資料庫的建立文法如下:

        create database  db_name [charset ut8];

        

 

  2.刪除資料庫

      我們既然可以建立資料庫,那麼我們也可以刪除資料庫,刪除資料庫的文法是:

        drop  database   【if exists】 db_name;

        

  3.修改資料庫

      通常我們修改資料庫,只修改兩項:

        修改編碼;

        修改排列順序;

      文法:

        alter  database  資料庫名   charset  新的編碼名   collate  新的定序名

      

 

  4.進入資料庫

     文法:

      use  資料庫名稱

         

四、php操作資料庫的基本函數

  在php中完成相關資料庫的操作,首先要執行以下代碼:

    $link = mysql_connect("資料庫伺服器地址","使用者名稱","密碼");

    mysql_query("set names utf8");//也可以使用mysql_set_charset("");

    mysql_query("use  資料庫名稱");//也可以使用mysql_seleck_db("");

  然後,才開始正式執行要完成的資料庫操作任務(語句):

    $result  =  mysql_query(“select /  delete  /update  / insert  /  desc  /  show  tables  /drop  .......”);

    補充:

      mysql_error();  擷取執行錯誤時的失敗資訊

      mysql_query();

     對於mysql_query()這個函數,可以執行幾乎任何sql語句,在執行語句時可以分為兩種情況。

     1.執行時返回全是布爾值的:(其返回結果都是布爾值)比如:

     insert,  update,  delete, create table,  create database ,drop ...執行成功返回true,執行失敗返回false;

     2.執行時返回有資料:(執行失敗返回false,成功返回結果集)比如:

      $result = mysql_query(“select ... “);

     while (  $rec  =  mysql_fetch_array( $result )  ){

      //mysql_fetch_array()會取出該結果集中的“一行資料”,並取得該行資料後賦值給$rec;

      //此$rec就是一個數組,其下標就是欄位名;

      //在此while迴圈中,mysql_fetch_array()會一次次(一行行)取出結果集中的所有資料;

      然後,在這裡就可以處理該數組$rec了:

     }      

    $n1 = mysql_num_rows(結果集); //獲得該結果集的資料行數;

    $n2 = mysql_num_fields(結果集); //獲得該結果集的資料列數;

    $name = mysql_field_name(結果集, $i ); //獲得結果集的第i個欄位的名字!i從0開始算起。

     明天繼續。

php學習day9---資料庫的基本知識

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.