您好,登錄后才能下訂單哦!
MySQL軟件安裝及數(shù)據(jù)庫(kù)基礎(chǔ),供大家參考,具體內(nèi)容如下
一、任務(wù)
任務(wù)一
MySQL 軟件安裝及數(shù)據(jù)庫(kù)基礎(chǔ)
任務(wù)時(shí)間
請(qǐng)于2月26日22:00前完成,在本文章評(píng)論打卡。逾期尚未打卡的會(huì)被清退。
學(xué)習(xí)內(nèi)容
1.軟件安裝及服務(wù)器設(shè)置
教程 MySQL 安裝 | 菜鳥(niǎo)教程
2.(選做,但是強(qiáng)烈建議) 使用圖形界面軟件 Navicat for SQL
星球提供Navicat for SQL
簡(jiǎn)易步驟:
解壓縮文件,復(fù)制key
打開(kāi)文件夾中的navicat.exe
用戶名隨意,輸入key,然后連接數(shù)據(jù)庫(kù)
輸入密碼,連接名改成自己喜歡的
剩下的自己探索,怎么在navicat中創(chuàng)建數(shù)據(jù)庫(kù)、表等等
3.數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)
數(shù)據(jù)庫(kù)定義
關(guān)系型數(shù)據(jù)庫(kù)
二維表
行
列
主鍵
外鍵
4.MySQL數(shù)據(jù)庫(kù)管理系統(tǒng)
數(shù)據(jù)庫(kù)
數(shù)據(jù)表
視圖
存儲(chǔ)過(guò)程
二、軟件安裝及服務(wù)器設(shè)置
系統(tǒng)環(huán)境:win10 家庭版
2.1 MySQL安裝
2.1.1 在MySQL官網(wǎng) 下載 Windows 版本的 MySQL 安裝包
地址為:MySQL下載
點(diǎn)擊下載Download后會(huì)彈出以下界面,點(diǎn)擊 No thanks, just start my download
2.1.2 下載完后解壓,將 zip 包解壓到你想安裝的目錄,我的路徑如下所示:
2.1.3 配置環(huán)境變量:
進(jìn)入 計(jì)算機(jī)—屬性—高級(jí)系統(tǒng)設(shè)置—環(huán)境變量,添加MySQL解壓的路徑。
2.1.4 接下來(lái)配置 MySQL 的配置文件
打開(kāi)剛剛解壓的文件夾 D:\軟件\Mysql\mysql-8.0.15-winx64\mysql-8.0.15-winx64 ,創(chuàng)建一個(gè)配置文件為 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.接下來(lái)我們來(lái)啟動(dòng)下 MySQL 數(shù)據(jù)庫(kù):
以管理員身份打開(kāi) 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目錄
啟動(dòng)輸入以下命令即可:
net start mysql
這證明已經(jīng)連接成功。
2.2 MySQL 重置密碼
2.2.1 登錄MySQL
輸入:
mysql -u root -p
因?yàn)橹皼](méi)設(shè)置密碼,所以密碼為空,直接回車即可:
2.2.2 查詢用戶密碼
查詢用戶密碼命令:
mysql> select host,user,authentication_string from mysql.user;
host: 允許用戶登錄的ip;
user:當(dāng)前數(shù)據(jù)庫(kù)的用戶名;
authentication_string: 用戶密碼;
如果沒(méi)密碼, root 這一行應(yīng)該是空的。
2.2.3 設(shè)置(或修改)root用戶密碼:
注意:在MySQL 5.7.9以后廢棄了password字段和password()函數(shù)
一定不要采取如下形式設(shè)置密碼:
use mysql; update user set authentication_string="newpassword" where user="root";
這樣會(huì)給user表中root用戶的authentication_string字段下設(shè)置了newpassword值;
正確修改root密碼的步驟為:
1.如果當(dāng)前root用戶authentication_string字段下有內(nèi)容,先將其設(shè)置為空,沒(méi)有就跳到步驟 2。
use mysql; update user set authentication_string='' where user='root'
2.使用ALTER修改root用戶密碼,方法為:
use mysql; ALTER user 'root'@'localhost' IDENTIFIED BY '新密碼'; FLUSH PRIVILEGES;
到此為止自己創(chuàng)建的本地MySQL創(chuàng)建完畢?。?!
重新連接即可!?。?/p>
三、使用圖形界面軟件 Navicat for SQL
Navicat for SQL安裝包已存百度網(wǎng)盤:navicat+for+mysql10.0.11簡(jiǎn)體中文
1.解壓縮文件,復(fù)制key
2.打開(kāi)文件夾中的navicat.exe
3.用戶名隨意,輸入key,然后連接數(shù)據(jù)庫(kù)
4.輸入密碼(之前如果MySQL重新設(shè)置過(guò)密碼,那這里就填新設(shè)置的密碼就好),連接名改成自己喜歡的
出現(xiàn)的問(wèn)題: 這里連接出現(xiàn)失敗,如圖
解決方案:
這里的問(wèn)題其實(shí)MySQL在之前設(shè)置密碼時(shí)所用的加密方式ALTER user 'root'@'localhost' IDENTIFIED BY '新密碼';為強(qiáng)加密,就會(huì)出現(xiàn)連接失敗的情況;如果使用第二種加密方式ALTER user 'root'@'localhost' IDENTIFIED WITH mysql_native_password by '新密碼';,就可以直接連上了。
成功連接!?。?/p>
到此,所需軟件的安裝及環(huán)境配置工作全部完成,可以開(kāi)心的遨游MySQL的世界啦~~
四、數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)
4.1 數(shù)據(jù)庫(kù)(database)定義
以《SQL必知必會(huì)(第4版) 》這本書(shū)來(lái)說(shuō),從 SQL的角度來(lái)看,數(shù)據(jù)庫(kù)是一個(gè)以某種有組織的方式存儲(chǔ)的數(shù)據(jù)集合,是保存有組織的數(shù)據(jù)的容器(通常是一個(gè)文件或一組文件)。
注意: 人們通常用數(shù)據(jù)庫(kù)這個(gè)術(shù)語(yǔ)來(lái)代表他們使用的數(shù)據(jù)庫(kù)軟件, 這是不正確的,也因此產(chǎn)生了許多混淆。確切地說(shuō),數(shù)據(jù)庫(kù)軟件應(yīng)稱為數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)。數(shù)據(jù)庫(kù)是通過(guò) DBMS創(chuàng)建和操縱的容器,而具體它究竟是什么,形式如何,各種數(shù)據(jù)庫(kù)都不一樣。
4.2 關(guān)系型數(shù)據(jù)庫(kù)
關(guān)系型數(shù)據(jù)庫(kù)最典型的數(shù)據(jù)結(jié)構(gòu)是表,由二維表及其之間的聯(lián)系所組成的一個(gè)數(shù)據(jù)組織。
優(yōu)點(diǎn):
1.易于維護(hù):都是使用表結(jié)構(gòu),格式一致;
2.使用方便:SQL語(yǔ)言通用,可用于復(fù)雜查詢;
3.復(fù)雜操作:支持SQL,可用于一個(gè)表以及多個(gè)表之間非常復(fù)雜的查詢。
缺點(diǎn):
4.讀寫性能比較差,尤其是海量數(shù)據(jù)的高效率讀寫;
5.固定的表結(jié)構(gòu),靈活度稍欠;
6.高并發(fā)讀寫需求,傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)來(lái)說(shuō),硬盤I/O是一個(gè)很大的瓶頸。
4.3 二維表
表是一種結(jié)構(gòu)化的文件,可用來(lái)存儲(chǔ)某種特定類型的數(shù)據(jù)。表可以保存顧客清單、 產(chǎn)品目錄,或者其他信息清單。表是某種特定類型數(shù)據(jù)的結(jié)構(gòu)化清單。
存儲(chǔ)在表中的數(shù)據(jù)是同一種類型的數(shù)據(jù)或清單。決不應(yīng)該將顧客的清單與訂單的清單存儲(chǔ)在同一個(gè)數(shù)據(jù)庫(kù)表中,否則以后的檢索和訪問(wèn)會(huì)很困難。 應(yīng)該創(chuàng)建兩個(gè)表,每個(gè)清單一個(gè)表。
數(shù)據(jù)庫(kù)中的每個(gè)表都有一個(gè)名字來(lái)標(biāo)識(shí)自己。 這個(gè)名字是唯一的,即數(shù)據(jù)庫(kù)中沒(méi)有其他表具有相同的名字。 雖然在相同數(shù)據(jù)庫(kù)中不能兩次使用相同的表名,但在不同的數(shù)據(jù)庫(kù)中完全可以使用相同的表名。
模式可以用來(lái)描述數(shù)據(jù)庫(kù)中特定的表,也可以用來(lái)描述整個(gè)數(shù)據(jù)庫(kù)(和其中表的關(guān)系)。模式是關(guān)于數(shù)據(jù)庫(kù)和表的布局及特性的信息。
4.4 行
表中的數(shù)據(jù)是按行存儲(chǔ)的,所保存的每個(gè)記錄存儲(chǔ)在自己的行內(nèi)。
你可能聽(tīng)到用戶在提到行時(shí)稱其為數(shù)據(jù)庫(kù)記錄(record)。 這兩個(gè)術(shù)語(yǔ)多半是可以交替使用的,但從技術(shù)上說(shuō),行才是正確的術(shù)語(yǔ)。
4.5 列
表由列組成。列存儲(chǔ)表中某部分的信息。列是表中的一個(gè)字段。所有表都是由一個(gè)或多個(gè)列組成的。
數(shù)據(jù)庫(kù)中每個(gè)列都有相應(yīng)的數(shù)據(jù)類型。數(shù)據(jù)類型(datatype)定義了列可以存儲(chǔ)哪些數(shù)據(jù)種類。數(shù)據(jù)類型限定了可存儲(chǔ)在列中的數(shù)據(jù)種類(例如,防止在數(shù)值字段中錄入字符值)。
數(shù)據(jù)類型及其名稱是SQL不兼容的一個(gè)主要原因。
4.6 主鍵
表中每一行都應(yīng)該有一列(或幾列)可以唯一標(biāo)識(shí)自己。 顧客表可以使用顧客編號(hào),而訂單表可以使用訂單 ID。雇員表可以使用雇員 ID或雇員社會(huì)安全號(hào)。
主鍵(primary key) 是一列(或一組列),其值能夠唯一標(biāo)識(shí)表中每一行。沒(méi)有主鍵,更新或刪除表中特定行就極為困難,因?yàn)槟悴荒鼙WC操作只涉及相關(guān)的行。
提示: 應(yīng)該總是定義主鍵
雖然并不總是需要主鍵,但多數(shù)數(shù)據(jù)庫(kù)設(shè)計(jì)者都會(huì)保證他們創(chuàng)建的每個(gè)表具有一個(gè)主鍵,以便于以后的數(shù)據(jù)操作和管理。
表中的任何列都可以作為主鍵,只要它滿足以下條件:
主鍵通常定義在表的一列上,但并不是必需這么做,也可以一起使用多個(gè)列作為主鍵。在使用多列作為主鍵時(shí),上述條件必須應(yīng)用到所有列,所有列值的組合必須是唯一的(但單個(gè)列的值可以不唯一)。
4.7 外鍵
外鍵是表中的一列,其值必須列在另一表的主鍵中。外鍵是保證引用完整性的極其重要部分。
外鍵有助防止意外刪除。在定義外鍵后, DBMS不允許刪除在另一個(gè)表中具有關(guān)聯(lián)行的行。例如,不能刪除關(guān)聯(lián)訂單的顧客。 刪除該顧客的唯一方法是首先刪除相關(guān)的訂單(這表示還要?jiǎng)h除相關(guān)的訂單項(xiàng))。由于需要一系列的刪除,因而利用外鍵可以防止意外刪除數(shù)據(jù)。
五、MySQL數(shù)據(jù)庫(kù)管理系統(tǒng)
5.1 數(shù)據(jù)庫(kù)(Database,簡(jiǎn)稱DB)
數(shù)據(jù)庫(kù)就是一個(gè)存放數(shù)據(jù)的倉(cāng)庫(kù),這個(gè)倉(cāng)庫(kù)是按照一定的數(shù)據(jù)結(jié)構(gòu)(數(shù)據(jù)結(jié)構(gòu)是指數(shù)據(jù)的組織形式或數(shù)據(jù)之間的聯(lián)系)來(lái)組織、存儲(chǔ)的,我們可以通過(guò)數(shù)據(jù)庫(kù)提供的多種方法來(lái)管理數(shù)據(jù)庫(kù)里的數(shù)據(jù)。更簡(jiǎn)單的形象理解,數(shù)據(jù)庫(kù)和我們生活中存放雜物的倉(cāng)庫(kù)性質(zhì)一樣,區(qū)別只是存放的東西不同。
5.2 數(shù)據(jù)表(table)
數(shù)據(jù)表是關(guān)系數(shù)據(jù)庫(kù)中一個(gè)非常重要的對(duì)象,是其它對(duì)象的基礎(chǔ),也是一系列二維數(shù)組的集合,用來(lái)存儲(chǔ)、操作數(shù)據(jù)的邏輯結(jié)構(gòu)。
根據(jù)信息的分類情況,一個(gè)數(shù)據(jù)庫(kù)中可能包含若干個(gè)數(shù)據(jù)表,每張表是由行和列組成,記錄一條數(shù)據(jù),數(shù)據(jù)表就增加一行,每一列是由字段名和字段數(shù)據(jù)集合組成,列被稱之為字段,每一列還有自己的多個(gè)屬性,例如是否允許為空、默認(rèn)值、長(zhǎng)度、類型、存儲(chǔ)編碼、注釋等。
5.3 數(shù)據(jù)庫(kù)系統(tǒng)有3個(gè)主要的組成部分
1.數(shù)據(jù)庫(kù)(Database System):用于存儲(chǔ)數(shù)據(jù)的地方。
2.數(shù)據(jù)庫(kù)管理系統(tǒng)(Database Management System,DBMS):用戶管理數(shù)據(jù)庫(kù)的軟件。
3.數(shù)據(jù)庫(kù)應(yīng)用程序(Database Application):為了提高數(shù)據(jù)庫(kù)系統(tǒng)的處理能力所使用的管理數(shù)據(jù)庫(kù)的軟件補(bǔ)充。
5.4 視圖
視圖是一種虛擬的表,具有和物理表相同的功能??梢詫?duì)視圖進(jìn)行增,改,查,操作,視圖通常是有一個(gè)表或者多個(gè)表的行或列的子集。對(duì)視圖的修改不影響基本表。它使得我們獲取數(shù)據(jù)更容易,相比多表查詢。
如下兩種場(chǎng)景一般會(huì)使用到視圖:
不希望訪問(wèn)者獲取整個(gè)表的信息,只暴露部分字段給訪問(wèn)者,所以就建一個(gè)虛表,就是視圖。
查詢的數(shù)據(jù)來(lái)源于不同的表,而查詢者希望以統(tǒng)一的方式查詢,這樣也可以建立一個(gè)視圖,把多個(gè)表查詢結(jié)果聯(lián)合起來(lái),查詢者只需要直接從視圖中獲取數(shù)據(jù),不必考慮數(shù)據(jù)來(lái)源于不同表所帶來(lái)的差異。
注意: 這個(gè)視圖是在數(shù)據(jù)庫(kù)中創(chuàng)建的,而不是用代碼創(chuàng)建的。
5.5 存儲(chǔ)過(guò)程(Stored Procedure)
MySQL 5.0 版本開(kāi)始支持存儲(chǔ)過(guò)程。
存儲(chǔ)過(guò)程就是為以后使用而保存的一條或多條 SQL語(yǔ)句??蓪⑵湟暈榕募m然它們的作用不僅限于批處理。存儲(chǔ)過(guò)程是一種在數(shù)據(jù)庫(kù)中存儲(chǔ)復(fù)雜程序,以便外部程序調(diào)用的一種數(shù)據(jù)庫(kù)對(duì)象。存儲(chǔ)過(guò)程思想上很簡(jiǎn)單,就是數(shù)據(jù)庫(kù) SQL 語(yǔ)言層面的代碼封裝與重用。
優(yōu)點(diǎn):
缺點(diǎn):
精彩專題分享:
mysql不同版本安裝教程
mysql5.7各版本安裝教程
mysql5.6各版本安裝教程
mysql8.0各版本安裝教程
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。