第14章學習筆記(20191213蘭毅達)
- 第14章學習筆記
第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.測試連線