1. 程式人生 > 其它 >第14章學習筆記(20191213蘭毅達)

第14章學習筆記(20191213蘭毅達)

目錄

第14章學習筆記

1.1摘要

本章討論了MySQL關係資料庫系統;介紹了MySQL並指出了它的重要性;展示瞭如何在Linux機器上安裝和執行MySQL;演示瞭如何使用MySQL在命令模式和批處理模式下使用SQL指令碼建立和管理資料庫;說明了如何將MySQL與C程式設計相結合;演示瞭如何將MySQL與PHP整合,通過動態Web頁面建立和管理資料庫。

2.1MySQL

  MySQL是一個關係型資料庫管理系統,由瑞典MySQL AB 公司開發,目前屬於Oracle 旗下產品。MySQL 是最流行的關係型資料庫管理系統之一,在 WEB 應用方面,MySQL是最好的 RDBMS (Relational Database Management System,關係資料庫管理系統) 應用軟體。
  MySQL是將資料儲存在不同的表中,而不是將所有資料放在一個大倉庫內,這樣就增加了速度並提高了靈活性。
  MySQL所使用的 SQL 語言是用於訪問資料庫的最常用標準化語言。MySQL 軟體採用了雙授權政策,分為社群版和商業版,由於其體積小、速度快、總體擁有成本低,尤其是開放原始碼這一特點,一般中小型網站的開發都選擇 MySQL 作為網站資料庫。
由於其社群版的效能卓越,搭配 PHP 和 Apache可組成良好的開發環境

3.1MySQL與其他的大型資料庫比較

  例如Oracle 、DB2、SQL Server等相比,MySQL 自有它的不足之處,但是這絲毫也沒有減少它受歡迎的程度。對於一般的個人使用者和中小型企業來說,MySQL提供的功能已經綽綽有餘,而且由於 MySQL是開放原始碼軟體,因此可以大大降低總體擁有成本。
  Linux作為作業系統,Apache 或Nginx作為 Web 伺服器,MySQL 作為資料庫,PHP/Perl/Python作為伺服器端指令碼直譯器。由於這四個軟體都是免費或開源軟體軟體(FLOSS:Free/Libre and Open Source Software),因此使用這種方式除開人工成本就可以建立起一個穩定、免費的網站系統,也被稱為“LAMP“或“LNMP”組合。

4.1資料庫型別

  1.關係型資料庫

  2.非關係型資料庫

5.1SQL結構化查詢語言

  必須是通過伺服器,連線我們的資料庫,才能進行操作

  使用各種SQL語句、增、刪、改、查

5.1.1資料定義語言(DDL):

  用於定義和管理資料物件,包括資料庫,資料表等。例如:CREATE,DROP,ALTER等。

  資料庫 -> 資料表:對資料庫或資料表的建立、刪除、修改等操作

5.1.2資料操作語言(DML):

  用於操作資料庫物件中所包含的資料。例如:INSERT,UPDATE,DELETE語句。

  對資料的 增、刪、改 這些操作,就是資料操作語言

5.1.3資料查詢語言(DQL):

  用於查詢資料庫物件中所包含的資料,能夠進行單表查詢,

  連線查詢,巢狀查詢,以及集合查詢等各種複雜程度不同的資料庫查詢,並將資料

  返回客戶機中顯示。SELECT

5.1.4資料控制語言(DCL):

  是用來管理資料庫的語言,包括管理許可權及資料更改。

6.1使用MySQL

6.1.1> 環境變數

    我的電腦 -> 右擊屬性 -> 高階系統設定 -> 環境變數 ->系統變數 ->path

    在path變數後加上;變數值

    變數值就是MySQL下的bin目錄路徑

    注意:必須開啟wamp伺服器才可以進去

6.1.2>進入MySQL資料庫

    DOS系統下清屏的命令:cls

    mysql -h localhost -u root -p -b

      -h 伺服器(本地、指定伺服器IP的)[本地localhost可以省略]
      -u 使用者名稱(我們用的是root使用者:超級管理員)
      -p 使用者密碼(不需要再它後面寫密碼,密碼是回車之後寫的)
      -b 蜂鳴器(當命令敲錯了,報錯時提示的聲音)

6.1.3>進入MySQL資料庫以後的命令

    注意:
    1> 每一行命令結束了以後,請使用 ; 或 \g 來結束,否則命令可以一直寫下去
    2> 在MySQL的命令中,如果一行命令沒有敲完,就回車了,它會繼續執行下去,前提是必須是一條完整的命令
    3> 退出敲錯的命令、或不想繼續執行下去的命令時,用\c 或者 Ctrl+c
    4> 要想讓資料豎起來顯示,在命令後用\G
    5> \s 可以顯示當前伺服器的配置
    6> help 檢視所有可以使用的快捷命令
    7> 如果在命令列中遇到了單引號,則MySQL認為你要輸入一段字串,所以,它是必須使用結束的單引號,可以跳出字串輸入狀態;

6.1.4> 退出資料庫伺服器

    \q 、 exit、 quit  三者皆可

7.1操作資料庫的一些命令

7.1.1建立資料庫

      create database 資料庫名;

    注意:
      1.如果資料庫已存在,不能建立同名的資料庫
      2.建立命令和資料庫名都不區分大小寫

      if not exists 如果資料庫已存在,加上前面的關鍵字可以避免報錯

7.1.2刪除資料庫

      drop database 資料庫名;

7.1.3檢視已建立的資料庫

      show databases;

7.1.4使用一個數據庫

      use 資料庫名;

7.1.5檢視當前我們所使用的資料庫

      select database();

7.1.6檢視建庫語句

      show create database 資料庫名;

      說明:通過該命令,我們可以看到所建資料庫的建庫語句、編碼型別;

      注意:
          1.MySQL資料庫中命令不區分大小寫。

          2.每建立一個數據庫,就會在data目錄下建立一個以此資料庫名稱命名的資料夾。

          3.在Windows下,資料庫名稱也是不區分大小寫的,但在Linux下,資料庫名稱嚴格區分大小寫。

7.1.7對資料表的操作

      表中的欄位,其實可以理解為table表格中的表頭

          1>建立資料表(不加任何主鍵資訊,自增,資料限制條件的簡易資料表建立)>最初練習可用
            create table 表名(
            欄位名1 欄位型別,
            欄位名2 欄位型別,
            欄位名3 欄位型別
            );

            注意:
            1.建立一個數據表時,它的每個欄位之間用逗號","隔開;
            2.最後一個欄位不用逗號",";
            3.建立完表以後,最後的括號後面使用分號結束
            4.建表時,表名後面的括號中寫表的欄位名(欄位型別)

          2> 查看錶結構

            desc 表名;

          3> 檢視建表語句

            show create table 表名;

          4> 檢視當前資料庫存在的資料表

            show tables;

          5> 刪除資料表

            drop table 表名

7.1.8對資料的操作

          1> 新增資料
            ① insert into 表名 (欄位1,欄位2……) values (值1,值2……);

            ② insert into 表名 values (值1,值2……),(值1,值2……);

            ③ insert into 表名 (欄位1,欄位2……) values (值1,值2……),(值1,值2……);

            ④ insert into 表名 values (值1,值2...);

            ⑤ insert into 表名 set 欄位1=值1,欄位2=值2...;

              注意:
                1.值和欄位名要一一對應,否則會報錯
                2.你寫入的值一定要和資料型別相匹配

          2> 刪除資料

             delete from 表名 where 條件;

              注意:刪除資料的時候,一定要加上where條件,否則會刪除所有的資料

          3> 修改資料

             update 表名 set 要修改的欄位=修改後的值 where 條件

              注意:修改資料的時候,一定要加上where條件,否則會修改所有的資料

          4> 查詢資料

             select *(所有欄位) from 表;

             select 欄位1,欄位2.. from 表;

8.1實踐內容與截圖

Windows系統下:

Linux:
命令如下
[root@host]# mysql
以上命令執行後會輸出 mysql>提示符,這說明已經成功連線到Mysql伺服器上,可以在 mysql> 提示符執行SQL命令:

mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
2 rows in set (0.13 sec)
Mysql安裝後需要做的
Mysql安裝成功後,預設的root使用者密碼為空,你可以使用以下命令來建立root使用者的密碼:

[root@host]# mysqladmin -u root password "new_password";
現在可以通過以下命令來連線到Mysql伺服器:

[root@host]# mysql -u root -p
Enter password:********

9.1問題與解決

問題:Navicat如何連線mysql資料庫?
解決:用Navicat自帶的SSH進行連線
1.首先在Navicat中新建連線
2.在使用者名稱中填寫遠端資料庫的登入使用者名稱,密碼框中填寫MySQL登入密碼
3.測試連線