前言
這是一篇 MySQL 通關(guān) 硬核經(jīng)驗學(xué)習(xí)路線,包括數(shù)據(jù)庫相關(guān)知識,SQL語句的使用,數(shù)據(jù)庫約束,設(shè)計等。專為小白整理,針對數(shù)據(jù)庫零基礎(chǔ)的朋友們,手把手帶你學(xué)習(xí)MySQL,讓你輕松學(xué)會!
文末包郵送《WPS Office高效辦公:數(shù)據(jù)處理與分析 》1本(點擊下方目錄直達(dá)),本文每+1000瀏覽額外加抽一人
1. 數(shù)據(jù)庫的相關(guān)概念
1.1 數(shù)據(jù)
數(shù)據(jù)
是指數(shù)據(jù)庫中存儲的基本對象,是描述事物的符號記錄。
1.2 數(shù)據(jù)庫
數(shù)據(jù)庫
是指存放數(shù)據(jù)的倉庫,長期存放在計算機內(nèi)的有組織可共享的數(shù)據(jù)集合。
數(shù)據(jù)庫技術(shù)解決了數(shù)據(jù)的持久化存儲問題,同時利用數(shù)據(jù)庫管理系統(tǒng)解決了對大量數(shù)據(jù)操作繁瑣的問題。
1.3 數(shù)據(jù)庫管理系統(tǒng)
數(shù)據(jù)庫管理系統(tǒng)
是指位于用戶和操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,科學(xué)的組織和存儲,高效的獲取和維護。
我們所說的 MySQL 數(shù)據(jù)庫就是指 MySQL 數(shù)據(jù)庫管理系統(tǒng),在大家日常的使用習(xí)慣中把他叫做 MySQL 數(shù)據(jù)庫。在我們的電腦安裝好數(shù)據(jù)庫管理系統(tǒng)軟件以后就可以創(chuàng)建數(shù)據(jù)庫來管理數(shù)據(jù),同時也可以對數(shù)據(jù)庫中的數(shù)據(jù)進行增刪改查的操作。
1.4 數(shù)據(jù)庫系統(tǒng)
數(shù)據(jù)庫,數(shù)據(jù)庫管理系統(tǒng),應(yīng)用程序和數(shù)據(jù)庫管理員共同組成了數(shù)據(jù)庫系統(tǒng)
。
1.5 SQL
SQL的英文是 Structured Query Language,簡稱 SQL,是一種操作關(guān)系型數(shù)據(jù)庫的結(jié)構(gòu)化查詢語言,我們在操作數(shù)據(jù)庫時經(jīng)常用到的操作就是查詢操作。
SQL定義了操作所有關(guān)系型數(shù)據(jù)庫的統(tǒng)一標(biāo)準(zhǔn)
,可以使用 SQL 操作所有的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在使用其他的數(shù)據(jù)庫管理系統(tǒng)時,也同樣可以使用 SQL 來操作。
2. MySQL數(shù)據(jù)庫
2.1 MySQL安裝
MySQL有很多的安裝方式,這里可以使用綠色版,避免了安裝版的一些繁瑣的操作,直接在官網(wǎng)下載與自己電腦相對應(yīng)的版本的壓縮文件,然后將壓縮文件解壓到一個非中文的目錄中。
這里選擇下載的產(chǎn)品版本是 5.7.24
,原因是各個庫支持的最完善且相對于最新版本更加的穩(wěn)定。
2.2 MySQL配置
2.2.1 添加環(huán)境變量
右鍵此電腦 / 屬性 / 高級系統(tǒng)設(shè)置 / 環(huán)境變量 ,在系統(tǒng)變量中新建變量,命名為 MYSQL_HOME
,變量值為剛才 MySQL 的存放路徑。
雙擊系統(tǒng)變量中的 Path,值為 %MySQL_HOME%\bin
。添加環(huán)境變量的方式與前面學(xué)習(xí)配置 Java 環(huán)境變量大致相同。
那么,我們?yōu)槭裁匆扰渲铆h(huán)境變量呢?
平時,我們在命令行窗口中輸入一個可執(zhí)行程序的命令時,Windows 會先在環(huán)境變量中的Path
所指的路徑中尋找,如果找到就直接執(zhí)行,沒找到就在當(dāng)前工作目錄中尋找,如果還沒找到,就會報錯。
我們添加環(huán)境變量的目的就是能夠在任意路徑下運行配置了環(huán)境變量的程序,而不用總是修改工作目錄,大大簡化了操作。
我們?nèi)绾悟炞C添加環(huán)境變量成功呢?
此時,我們只需要以管理員身份運行命令提示符工具,執(zhí)行 mysql,如果提示 Can't connect to MySQL server on 'localhost'
,則環(huán)境變量添加成功。
注:此時必須以管理員身份運行命令提示符工具,否則會報錯。
2.2.2 新建配置文件
在MySQl的根目錄中創(chuàng)建一個配置文件 my.ini
,其內(nèi)容為:
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
主要目的是配置數(shù)據(jù)庫的默認(rèn)編碼集為utf-8
和默認(rèn)存儲引擎為INNODB
。
2.2.3 初始化MySQL
在命令提示符窗口中運行mysqld --initialize-insecure
,如果沒有出現(xiàn)報錯,則證明data目錄初始化成功。
mysqld --initialize-insecure
此時當(dāng)我們再打開查看MySQL目錄,已經(jīng)有data
目錄生成。
2.2.4 注冊MySQL服務(wù)
在命令提示符窗口中運行 mysqld -install
,此時你的電腦就成功注冊了MySQL服務(wù),此時你的電腦就可以稱為MySQL服務(wù)器。
mysqld -install
2.2.5 啟動MySQL服務(wù)
在命令提示符窗口中運行net start mysql
,此時,我們已經(jīng)成功啟動MySQL服務(wù)。
net start mysql
運行net stop mysql
即可停止MySQL服務(wù)。
net stop mysql
可以通過運行mysqladmin -u root password 1234
修改默認(rèn)賬戶密碼,這里的1234
指默認(rèn)管理員(即root賬戶)的密碼。
mysqladmin -u root password 1234
2.3 MySQL登錄和退出
在命令行中運行mysql -uroot -p
,按照提示輸入密碼 ,即登錄成功。
mysql -uroot -p密碼
登錄命令中的參數(shù):
mysql -u用戶名 -p密碼 -h要連接的mysql服務(wù)器的ip地址(默認(rèn)127.0.0.1) -P端口號(默認(rèn)3306)
退出MySQL時:
exit
quit
2.4 MySQL卸載
我們只需要簡單的三步就可以完成MySQL的卸載:
第一步:運行net stop mysql
net stop mysql
第二步:運行mysqld -remove mysql
mysqld -remove mysql
第三步:刪除MySQL目錄及相關(guān)的環(huán)境變量。
2.5 MySQL數(shù)據(jù)模型
MySQl 是一個關(guān)系型數(shù)據(jù)庫
。關(guān)系型數(shù)據(jù)庫是建立在關(guān)系模型基礎(chǔ)上的數(shù)據(jù)庫,簡單來說,關(guān)系型數(shù)據(jù)庫是由多張能互相連接的二維表組成的數(shù)據(jù)庫。
與關(guān)系型數(shù)據(jù)庫對應(yīng)的是非關(guān)系型數(shù)據(jù)庫,關(guān)系型數(shù)據(jù)庫有很多的優(yōu)點,例如,都是使用表結(jié)構(gòu),格式一致,易于維護。使用通用的 SQL 語言操作,方便快捷,可用于復(fù)雜查詢等。
我們通過客戶端可以用數(shù)據(jù)庫管理系統(tǒng)創(chuàng)建數(shù)據(jù)庫,在數(shù)據(jù)庫中創(chuàng)建表,在表中添加數(shù)據(jù)。創(chuàng)建的每一個數(shù)據(jù)庫對應(yīng)到磁盤上都是一個文件夾,而一個數(shù)據(jù)庫下可以創(chuàng)建多張表,文件夾中的 .frm 就是表文件,.MYD是數(shù)據(jù)文件,通過這兩個文件就可以查詢到數(shù)據(jù)展示成二維表的效果。
3. SQL語句
3.1 SQL簡介
SQL被稱為結(jié)構(gòu)化查詢語言,可以用于對所有的關(guān)系型數(shù)據(jù)庫進行操作,即我們可以通過SQL語句對數(shù)據(jù)庫、表、數(shù)據(jù)進行增刪改查操作。
SQL定義了操作關(guān)系型數(shù)據(jù)庫的統(tǒng)一標(biāo)準(zhǔn),但是,對于同一個需求,每一種數(shù)據(jù)庫操作的方式可能會存在一些不一樣的地方。
3.2 通用語法
MySQL 數(shù)據(jù)庫的 SQL 語句不區(qū)分大小寫,關(guān)鍵字建議使用大寫。
SQL 語句可以單行或多行書寫,以分號結(jié)尾。
注釋:
-
單行注釋: – 注釋內(nèi)容 或 #注釋內(nèi)容(MySQL 特有)
-
多行注釋: /* 注釋 */
3.3 SQL分類
DDL: 數(shù)據(jù)定義語言,用來定義數(shù)據(jù)庫對象:數(shù)據(jù)庫,表,列等
DML: 數(shù)據(jù)操作語言,用來對數(shù)據(jù)庫中表的數(shù)據(jù)進行增刪改
DQL:數(shù)據(jù)查詢語言,用來查詢數(shù)據(jù)庫中表的記錄(數(shù)據(jù))
DCL:數(shù)據(jù)控制語言,用來定義數(shù)據(jù)庫的訪問權(quán)限和安全級別,及創(chuàng)建用戶
數(shù)據(jù)是數(shù)據(jù)庫中非常重要的部分,所以在日后的操作中我們最常進行的是對數(shù)據(jù)的一些操作,即對數(shù)據(jù)進行怎刪改查,所以最常用操作的是 DML
和 DQL
。
總的來說DML用于對數(shù)據(jù)增刪改,DQL用于對數(shù)據(jù)查詢操作,DDL用于操作數(shù)據(jù)庫,而DCL是用來控制權(quán)限。 SQL 的基本操作一般是指對數(shù)據(jù)庫,數(shù)據(jù)表,數(shù)據(jù)的增刪改查。
4. DDL- 操作數(shù)據(jù)庫
首先要學(xué)習(xí)的是使用DDL來對數(shù)據(jù)庫進行操作,主要是對數(shù)據(jù)庫的增刪改查操作。
4.1 查詢
查詢所有的數(shù)據(jù)庫:
show databases;
例如:
4.2 創(chuàng)建數(shù)據(jù)庫
創(chuàng)建新的數(shù)據(jù)庫:
create database 數(shù)據(jù)庫名稱;
使用上面的方式創(chuàng)建新的數(shù)據(jù)庫時,如果該數(shù)據(jù)庫已經(jīng)存在,則會出現(xiàn)錯誤,所以我們在創(chuàng)建新的數(shù)據(jù)庫時一般會判斷該數(shù)據(jù)庫是否存在,如果已存在,則不會創(chuàng)建。
創(chuàng)建新的數(shù)據(jù)庫(判斷數(shù)據(jù)庫是否已經(jīng)存在):
create database if not exists 數(shù)據(jù)庫名稱;
例如:
4.3 刪除數(shù)據(jù)庫
刪除數(shù)據(jù)庫:
drop database 數(shù)據(jù)庫名稱;
和前面創(chuàng)建新的數(shù)據(jù)庫相同,為了避免出現(xiàn)錯誤,我們一般會先判斷該數(shù)據(jù)庫是否存在,如果不存在,則不會刪除。
刪除數(shù)據(jù)庫(判斷數(shù)據(jù)庫是否已經(jīng)存在):
drop database if exists 數(shù)據(jù)庫名稱;
例如:
4.4 使用數(shù)據(jù)庫
現(xiàn)在我們已經(jīng)成功創(chuàng)建了新的數(shù)據(jù)庫,接下來,我們要在數(shù)據(jù)庫中創(chuàng)建數(shù)據(jù)表,首先我們要明白是對哪一個數(shù)據(jù)庫進行操作,此時我們要先學(xué)會使用數(shù)據(jù)庫,才能對數(shù)據(jù)庫中的表進行操作。
使用數(shù)據(jù)庫:
use 數(shù)據(jù)庫名稱;
查詢當(dāng)前正在使用的數(shù)據(jù)庫:
select database();
例如:
5. DDL- 操作數(shù)據(jù)表
同樣,對數(shù)據(jù)表的操作無非就是增刪改查,在學(xué)習(xí)相關(guān)操作之前,我們先要熟悉一下MySQL的數(shù)據(jù)類型。
5.1 數(shù)據(jù)類型
MySQL支持多種數(shù)據(jù)類型,但是大致可以分為3中,分別是數(shù)值型,日期型和字符串型。下面是比較常用的幾種數(shù)據(jù)類型:
數(shù)值:
數(shù)據(jù)類型 | 解釋 |
---|---|
tinyint | 小整數(shù)型,占1個字節(jié) |
int | 大整數(shù)型,占4個字節(jié) |
double | 浮點類型 |
日期:
數(shù)據(jù)類型 | 解釋 |
---|---|
date | 日期值,只包含年月日 |
datetime | 混合日期和時間值,包含年月日時分秒 |
字符串:
數(shù)據(jù)類型 | 解釋 |
---|---|
char | 定長字符串 |
varchar | 變長字符串 |
定長字符串和變長字符串的區(qū)別:
字符串是我們在數(shù)據(jù)庫中經(jīng)常使用的數(shù)據(jù)類型,使用變長字符串,如果字符的長度沒有達(dá)到指定的長度,那么實際的長度是多少就占用幾個字符,這樣的做法顯然是使用時間換空間,而使用定長字符串雖然有時會出現(xiàn)浪費空間的情況,但是一般儲存性能比較高。
5.2 查詢表
查詢當(dāng)前數(shù)據(jù)庫下所有的表:
show tables;
查詢表結(jié)構(gòu):
desc 表名稱;
例如:
5.3 創(chuàng)建表
創(chuàng)建一個新的表:
create table 表名稱(
字段名1 數(shù)據(jù)類型,
字段名2 數(shù)據(jù)類型,
...
字段名n 數(shù)據(jù)類型 #這里是不需要加上,的
);
例如:
5.4 刪除表
刪除表:
drop table 表名;
刪除表(判斷表是否存在):
drop table if exists 表名;
例如:
5.5 修改表
修改表名:
alter table 表名 rename to 新的表名;
增加一列:
alter table 表名 add 列名 數(shù)據(jù)類型;
修改數(shù)據(jù)類型:
alter table 表名 modify 列名 新數(shù)據(jù)類型;
修改列名和數(shù)據(jù)類型:
alter table 表名 change 列名 新列名 新數(shù)據(jù)類型;
刪除列:
alter table 表名 drop 列名;
例如:
【免費贈書】
【!參與方式!】
點贊+收藏+任意評論本文
截止日期:2023-04-11 早上9:00
注:抽獎方式為<腳本隨機抽取>,會在我的主頁動態(tài)如期公布中獎?wù)撸]到家。
【內(nèi)容簡介↓】
本書以WPS Office辦公軟件為操作平臺,系統(tǒng)、全面地講解了在日常工作中使用WPS表格分析數(shù)據(jù)的方法和技巧等知識,并分享了數(shù)據(jù)處理的思路和經(jīng)驗。
全書共10章,通過真實案例介紹了什么是數(shù)據(jù)分析,以及錄入數(shù)據(jù)、整理數(shù)據(jù)、公式計算、函數(shù)計算、排序和篩選、圖表分析、數(shù)據(jù)透視表/透視圖分析、數(shù)據(jù)工具分析,最后通過行業(yè)案例,將數(shù)據(jù)分析知識融會貫通,應(yīng)用于實際工作當(dāng)中,幫助讀者迅速掌握多項數(shù)據(jù)分析的實戰(zhàn)技能。
本書內(nèi)容循序漸進,章節(jié)安排合理,案例豐富翔實,既適合零基礎(chǔ)又想快速掌握WPS表格的讀者學(xué)習(xí),也可以作為期望提高WPS Office操作技能水平、積累和豐富實操經(jīng)驗的文秘與行政從業(yè)人員的參考書,還可以作為各大、中專職業(yè)院校及計算機培訓(xùn)班相關(guān)專業(yè)的教學(xué)參考用書。
京東自營購買鏈接:《WPS Office高效辦公:數(shù)據(jù)處理與分析 金山官方認(rèn)證技能》
北京大學(xué)出版社,4月“423世界讀書日”促銷活動(滿100減50)安排來啦??
| 當(dāng)當(dāng)活動日期:4.6-4.11,4.18-4.23 |
| 京東活動日期: 4.6 一天, 4.17-4.23 |
| 希望大家關(guān)注參與423讀書日北大社促銷活動 |文章來源:http://www.zghlxwxcb.cn/news/detail-440652.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-440652.html
到了這里,關(guān)于【數(shù)據(jù)庫通關(guān)之路】 MySQL 全路線學(xué)習(xí)知識點梳理(上)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!