mysql 8.0.15 安裝圖文教程及資料庫基礎
MySQL軟體安裝及資料庫基礎,供大家參考,具體內容如下
一、任務
任務一
MySQL 軟體安裝及資料庫基礎
任務時間
請於2月26日22:00前完成,在本文章評論打卡。逾期尚未打卡的會被清退。
學習內容
1.軟體安裝及伺服器設定
教程 MySQL 安裝 | 菜鳥教程
2.(選做,但是強烈建議) 使用圖形介面軟體 Navicat for SQL
星球提供Navicat for SQL
簡易步驟:
解壓縮檔案,複製key
開啟資料夾中的navicat.exe
使用者名稱隨意,輸入key,然後連線資料庫
輸入密碼,連線名改成自己喜歡的
剩下的自己探索,怎麼在navicat中建立資料庫、表等等
3.資料庫基礎知識
資料庫定義
關係型資料庫
二維表
行
列
主鍵
外來鍵
4.MySQL資料庫管理系統
資料庫
資料表
檢視
儲存過程
二、軟體安裝及伺服器設定
系統環境:win10 家庭版
2.1 MySQL安裝
2.1.1 在MySQL官網 下載 Windows 版本的 MySQL 安裝包
地址為:MySQL下載
點選下載Download後會彈出以下介面,點選 No thanks,just start my download
2.1.2 下載完後解壓,將 zip 包解壓到你想安裝的目錄,我的路徑如下所示:
2.1.3 配置環境變數:
進入 計算機—屬性—高階系統設定—環境變數,新增MySQL解壓的路徑。
2.1.4 接下來配置 MySQL 的配置檔案
開啟剛剛解壓的資料夾 D:\軟體\Mysql\mysql-8.0.15-winx64\mysql-8.0.15-winx64 ,建立一個配置檔案為 my.ini,編輯 my.ini 配置以下基本資訊:
[mysql] default-character-set=utf8 [mysqld] port = 3306 basedir=D:\軟體\Mysql\mysql-8.0.15-winx64\mysql-8.0.15-winx64 datadir=D:\軟體\Mysql\mysql-8.0.15-winx64\mysql-8.0.15-winx64\data character-set-server=utf8 default-storage-engine=INNODB
1.接下來我們來啟動下 MySQL 資料庫:
以管理員身份開啟 cmd 命令列工具,切換目錄:
D: cd D:\軟體\Mysql\mysql-8.0.15-winx64\mysql-8.0.15-winx64\bin
輸入初始化命令:
mysqld --initialize-insecure --user=mysql
在D:\軟體\Mysql\mysql-8.0.15-winx64\mysql-8.0.15-winx64\bin目錄下生成data目錄
啟動輸入以下命令即可:
net start mysql
這證明已經連線成功。
2.2 MySQL 重置密碼
2.2.1 登入MySQL
輸入:
mysql -u root -p
因為之前沒設定密碼,所以密碼為空,直接回車即可:
2.2.2 查詢使用者密碼
查詢使用者密碼命令:
mysql> select host,user,authentication_string from mysql.user;
host: 允許使用者登入的ip;
user:當前資料庫的使用者名稱;
authentication_string: 使用者密碼;
如果沒密碼, root 這一行應該是空的。
2.2.3 設定(或修改)root使用者密碼:
注意:在MySQL 5.7.9以後廢棄了password欄位和password()函式
一定不要採取如下形式設定密碼:
use mysql; update user set authentication_string="newpassword" where user="root";
這樣會給user表中root使用者的authentication_string欄位下設定了newpassword值;
正確修改root密碼的步驟為:
1.如果當前root使用者authentication_string欄位下有內容,先將其設定為空,沒有就跳到步驟 2。
use mysql; update user set authentication_string='' where user='root'
2.使用ALTER修改root使用者密碼,方法為:
use mysql; ALTER user 'root'@'localhost' IDENTIFIED BY '新密碼'; FLUSH PRIVILEGES;
到此為止自己建立的本地MySQL建立完畢!!!
重新連線即可!!!
三、使用圖形介面軟體 Navicat for SQL
Navicat for SQL安裝包已存百度網盤:navicat+for+mysql10.0.11簡體中文
1.解壓縮檔案,複製key
2.開啟資料夾中的navicat.exe
3.使用者名稱隨意,輸入key,然後連線資料庫
4.輸入密碼(之前如果MySQL重新設定過密碼,那這裡就填新設定的密碼就好),連線名改成自己喜歡的
出現的問題: 這裡連接出現失敗,如圖
解決方案:
這裡的問題其實MySQL在之前設定密碼時所用的加密方式ALTER user 'root'@'localhost' IDENTIFIED BY '新密碼';為強加密,就會出現連線失敗的情況;如果使用第二種加密方式ALTER user 'root'@'localhost' IDENTIFIED WITH mysql_native_password by '新密碼';,就可以直接連上了。
成功連線!!!
到此,所需軟體的安裝及環境配置工作全部完成,可以開心的遨遊MySQL的世界啦~~
四、資料庫基礎知識
4.1 資料庫(database)定義
以《SQL必知必會(第4版) 》這本書來說,從 SQL的角度來看,資料庫是一個以某種有組織的方式儲存的資料集合,是儲存有組織的資料的容器(通常是一個檔案或一組檔案)。
注意: 人們通常用資料庫這個術語來代表他們使用的資料庫軟體, 這是不正確的,也因此產生了許多混淆。確切地說,資料庫軟體應稱為資料庫管理系統(DBMS)。資料庫是通過 DBMS建立和操縱的容器,而具體它究竟是什麼,形式如何,各種資料庫都不一樣。
4.2 關係型資料庫
關係型資料庫最典型的資料結構是表,由二維表及其之間的聯絡所組成的一個數據組織。
優點:
1.易於維護:都是使用表結構,格式一致;
2.使用方便:SQL語言通用,可用於複雜查詢;
3.複雜操作:支援SQL,可用於一個表以及多個表之間非常複雜的查詢。
缺點:
4.讀寫效能比較差,尤其是海量資料的高效率讀寫;
5.固定的表結構,靈活度稍欠;
6.高併發讀寫需求,傳統關係型資料庫來說,硬碟I/O是一個很大的瓶頸。
4.3 二維表
表是一種結構化的檔案,可用來儲存某種特定型別的資料。表可以儲存顧客清單、 產品目錄,或者其他資訊清單。表是某種特定型別資料的結構化清單。
儲存在表中的資料是同一種類型的資料或清單。決不應該將顧客的清單與訂單的清單儲存在同一個資料庫表中,否則以後的檢索和訪問會很困難。 應該建立兩個表,每個清單一個表。
資料庫中的每個表都有一個名字來標識自己。 這個名字是唯一的,即資料庫中沒有其他表具有相同的名字。 雖然在相同資料庫中不能兩次使用相同的表名,但在不同的資料庫中完全可以使用相同的表名。
模式可以用來描述資料庫中特定的表,也可以用來描述整個資料庫(和其中表的關係)。模式是關於資料庫和表的佈局及特性的資訊。
4.4 行
表中的資料是按行儲存的,所儲存的每個記錄儲存在自己的行內。
你可能聽到使用者在提到行時稱其為資料庫記錄(record)。 這兩個術語多半是可以交替使用的,但從技術上說,行才是正確的術語。
4.5 列
表由列組成。列儲存表中某部分的資訊。列是表中的一個欄位。所有表都是由一個或多個列組成的。
資料庫中每個列都有相應的資料型別。資料型別(datatype)定義了列可以儲存哪些資料種類。資料型別限定了可儲存在列中的資料種類(例如,防止在數值欄位中錄入字元值)。
資料型別及其名稱是SQL不相容的一個主要原因。
4.6 主鍵
表中每一行都應該有一列(或幾列)可以唯一標識自己。 顧客表可以使用顧客編號,而訂單表可以使用訂單 ID。僱員表可以使用僱員 ID或僱員社會安全號。
主鍵(primary key) 是一列(或一組列),其值能夠唯一標識表中每一行。沒有主鍵,更新或刪除表中特定行就極為困難,因為你不能保證操作只涉及相關的行。
提示: 應該總是定義主鍵
雖然並不總是需要主鍵,但多數資料庫設計者都會保證他們建立的每個表具有一個主鍵,以便於以後的資料操作和管理。
表中的任何列都可以作為主鍵,只要它滿足以下條件:
- 任意兩行都不具有相同的主鍵值;
- 每一行都必須具有一個主鍵值(主鍵列不允許 NULL值);
- 主鍵列中的值不允許修改或更新;
- 主鍵值不能重用(如果某行從表中刪除,它的主鍵不能賦給以後的新行)。
主鍵通常定義在表的一列上,但並不是必需這麼做,也可以一起使用多個列作為主鍵。在使用多列作為主鍵時,上述條件必須應用到所有列,所有列值的組合必須是唯一的(但單個列的值可以不唯一)。
4.7 外來鍵
外來鍵是表中的一列,其值必須列在另一表的主鍵中。外來鍵是保證引用完整性的極其重要部分。
外來鍵有助防止意外刪除。在定義外來鍵後, DBMS不允許刪除在另一個表中具有關聯行的行。例如,不能刪除關聯訂單的顧客。 刪除該顧客的唯一方法是首先刪除相關的訂單(這表示還要刪除相關的訂單項)。由於需要一系列的刪除,因而利用外來鍵可以防止意外刪除資料。
五、MySQL資料庫管理系統
5.1 資料庫(Database,簡稱DB)
資料庫就是一個存放資料的倉庫,這個倉庫是按照一定的資料結構(資料結構是指資料的組織形式或資料之間的聯絡)來組織、儲存的,我們可以通過資料庫提供的多種方法來管理資料庫裡的資料。更簡單的形象理解,資料庫和我們生活中存放雜物的倉庫性質一樣,區別只是存放的東西不同。
5.2 資料表(table)
資料表是關係資料庫中一個非常重要的物件,是其它物件的基礎,也是一系列二維陣列的集合,用來儲存、操作資料的邏輯結構。
根據資訊的分類情況,一個數據庫中可能包含若干個資料表,每張表是由行和列組成,記錄一條資料,資料表就增加一行,每一列是由欄位名和欄位資料集合組成,列被稱之為欄位,每一列還有自己的多個屬性,例如是否允許為空、預設值、長度、型別、儲存編碼、註釋等。
5.3 資料庫系統有3個主要的組成部分
1.資料庫(Database System):用於儲存資料的地方。
2.資料庫管理系統(Database Management System,DBMS):使用者管理資料庫的軟體。
3.資料庫應用程式(Database Application):為了提高資料庫系統的處理能力所使用的管理資料庫的軟體補充。
5.4 檢視
檢視是一種虛擬的表,具有和物理表相同的功能。可以對檢視進行增,改,查,操作,檢視通常是有一個表或者多個表的行或列的子集。對檢視的修改不影響基本表。它使得我們獲取資料更容易,相比多表查詢。
如下兩種場景一般會使用到檢視:
不希望訪問者獲取整個表的資訊,只暴露部分欄位給訪問者,所以就建一個虛表,就是檢視。
查詢的資料來源於不同的表,而查詢者希望以統一的方式查詢,這樣也可以建立一個檢視,把多個表查詢結果聯合起來,查詢者只需要直接從檢視中獲取資料,不必考慮資料來源於不同表所帶來的差異。
注意: 這個檢視是在資料庫中建立的,而不是用程式碼建立的。
5.5 儲存過程(Stored Procedure)
MySQL 5.0 版本開始支援儲存過程。
儲存過程就是為以後使用而儲存的一條或多條 SQL語句。可將其視為批檔案,雖然它們的作用不僅限於批處理。儲存過程是一種在資料庫中儲存複雜程式,以便外部程式呼叫的一種資料庫物件。儲存過程思想上很簡單,就是資料庫 SQL 語言層面的程式碼封裝與重用。
優點:
- 儲存過程可封裝,並隱藏複雜的商業邏輯。
- 儲存過程可以回傳值,並可以接受引數。
- 儲存過程無法使用 SELECT 指令來執行,因為它是子程式,與查看錶,資料表或使用者定義函式不同。
- 儲存過程可以用在資料檢驗,強制實行商業邏輯等。
缺點:
- 儲存過程,往往定製化於特定的資料庫上,因為支援的程式語言不同。當切換到其他廠商的資料庫系統時,需要重寫原有的儲存過程。
- 儲存過程的效能調校與撰寫,受限於各種資料庫系統。
精彩專題分享:
mysql不同版本安裝教程
mysql5.7各版本安裝教程
mysql5.6各版本安裝教程
mysql8.0各版本安裝教程
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。