MySQL系列教程小白數(shù)據(jù)庫基礎(chǔ)
這里介紹的MySQL相關(guān)知識(shí),并不是針對(duì)那些想學(xué)習(xí)DBA的同學(xué),而是針對(duì)那些想轉(zhuǎn)行、從事數(shù)據(jù)分析行業(yè)的同學(xué)。
下面這些知識(shí)點(diǎn),是我學(xué)習(xí)MySQL數(shù)據(jù)庫時(shí),覺得有必要掌握的一些知識(shí)點(diǎn)。
1、基礎(chǔ)概念與基礎(chǔ)命令
1)基礎(chǔ)概念
① 數(shù)據(jù)庫
按照一定數(shù)據(jù)結(jié)構(gòu),存儲(chǔ)和管理數(shù)據(jù)的倉庫。
② 數(shù)據(jù)庫的分類
數(shù)據(jù)庫的常見分類,是將數(shù)據(jù)庫分為關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫。
③ 什么是關(guān)系型數(shù)據(jù)庫?
將復(fù)雜的關(guān)系,以簡單的二元形式進(jìn)行表示,即用行和列的形式進(jìn)行表示(表格形式),其中每一行叫做記錄,列叫做字段。其中MySQL就是一種很常用的關(guān)系型數(shù)據(jù)庫。
二元形式:類似于excel表格數(shù)據(jù),就是一種二元形式。
④ 數(shù)據(jù)庫管理系統(tǒng):DBMS
數(shù)據(jù)庫管理系統(tǒng)是用于管理和操作數(shù)據(jù)庫的軟件。其中,關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS)有Oracle、MySQL、SQL Server、DB2、IBM等。非關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(Nosql)有redis、Hbase、mongodb、neo4j等
⑤ MySQL的介紹
MySQL是一個(gè)關(guān)系型的數(shù)據(jù)庫管理系統(tǒng)。最初是由mysql ab公司設(shè)計(jì)出來的產(chǎn)品,后來被Oracle數(shù)據(jù)庫收購了。MySQL數(shù)據(jù)庫內(nèi)部采用“分庫分表”的形式管理數(shù)據(jù)。一個(gè)MySQL數(shù)據(jù)庫管理系統(tǒng)可以管理多個(gè)數(shù)據(jù)庫;一個(gè)數(shù)據(jù)庫中又可以存放多張表。同時(shí)MySQL開源免費(fèi),支持千萬級(jí)別的數(shù)據(jù)查詢,支持GPL(開源許可證)。
⑥ 什么是SQL語言?
SQL語言,全稱是“structured query language”,叫結(jié)構(gòu)化查詢語言,是操作數(shù)據(jù)庫的標(biāo)準(zhǔn)化語言,能夠?qū)崿F(xiàn)對(duì)數(shù)據(jù)庫的訪問何操作。
⑦ 注意MySQL和SQL的區(qū)別!
這里有一種錯(cuò)誤的說法:你會(huì)不會(huì)MySQL?其實(shí)這個(gè)說法是有問題的,MySQL指的其是數(shù)據(jù)庫管理系統(tǒng),問你會(huì)不會(huì)MySQL,其實(shí)是問你會(huì)不是對(duì)數(shù)據(jù)庫進(jìn)行增、刪、改、查,因此這個(gè)MySQL說的就是前面提到的“SQL語言”,只不過大家習(xí)慣性的用MySQL這種說法代替SQL。
⑧ SQL語言的分類

⑨ 什么是“表”?
表是某種特定類型數(shù)據(jù)的結(jié)構(gòu)化清單。
這里所說的“某種特定類型”指的是存儲(chǔ)在表中的數(shù)據(jù),是一種類型的數(shù)據(jù)。你不能將顧客信息的清單和訂單的清單都柔和在一起,存儲(chǔ)在同一張數(shù)據(jù)庫表中。這對(duì)于以后數(shù)據(jù)的檢索和訪問變得困難,我們應(yīng)該一個(gè)清單一張表。
每張數(shù)據(jù)庫都應(yīng)該有一個(gè)表名,用來唯一標(biāo)識(shí)自己。同一個(gè)數(shù)據(jù)庫中不能有表名相同的兩張表,但是不同的數(shù)據(jù)庫中卻可以使用相同的表名。
⑩ 什么是“列”?
表由列組成,每一列存儲(chǔ)著表中某部分的信息。每一列是是表中的一個(gè)字段。一張表是由一個(gè)或 多個(gè)列組成的。
需要特別注意的是:表中的每一列應(yīng)該是存儲(chǔ)著一條特定的信息。例如,省份、城市、郵政編碼應(yīng)該都是單獨(dú)的列。我們不能將這3個(gè)不同的信息,都組合在一個(gè)列中,否則會(huì)給查詢?cè)黾雍艽蟮穆闊?/p>
⑪ 什么是“數(shù)據(jù)類型”?
表中的每一列都應(yīng)該具有相應(yīng)的數(shù)據(jù)類型,數(shù)據(jù)類型標(biāo)志著該列可以存儲(chǔ)哪些數(shù)據(jù)。
常用的數(shù)據(jù)類型有字符串類型、數(shù)值類型、日期類型。數(shù)據(jù)類型的詳細(xì)介紹,將會(huì)在后面的系列文章中給出。
數(shù)據(jù)類型有很重要的作用,它能夠幫助正確的排序數(shù)據(jù),并且在優(yōu)化磁盤使用方面騎著很重要的作用。
⑫ 什么是“行”?
表中的數(shù)據(jù)是按行存儲(chǔ)的,每一行代表一個(gè)記錄。如果將表想象成一個(gè)網(wǎng)格,那么網(wǎng)格中垂直的列為表列,水平行為表行。
2)基礎(chǔ)命令
① 連接數(shù)據(jù)庫
MySQL數(shù)據(jù)庫是“客戶機(jī)-服務(wù)器”類型的數(shù)據(jù)庫管理系統(tǒng)。形象地說,一個(gè)MySQL數(shù)據(jù)庫管理系統(tǒng)至少存在著兩部分,一是服務(wù)器端,這個(gè)我們看不到,卻每次使用數(shù)據(jù)庫的時(shí)候,總是從里面獲取到數(shù)據(jù)。二是客戶端,我經(jīng)常使用的客戶端有CMD窗口、Navicat,這些客戶端能夠讓我們輸入SQL語句,來進(jìn)行數(shù)據(jù)的訪問和獲取。因此我們?cè)趫?zhí)行命令之前,需要先登錄到這個(gè)數(shù)據(jù)庫管理系統(tǒng)。
"登錄MySQL數(shù)據(jù)庫,需要以下幾個(gè)信息" 主機(jī)名 端口 用戶名 用戶口令(密碼) mysql -h localhost -u root -P 3306 -p 123 -h 主機(jī)名:localhost表示服務(wù)器在本地 -u 用戶名:用戶名root -P 端口:默認(rèn)端口3306 -p 口令:口令123
在CMD黑窗口中,如果你登陸了MySQL數(shù)據(jù)庫,是如下這個(gè)界面:

② 選擇數(shù)據(jù)庫
當(dāng)你剛剛連接上數(shù)據(jù)庫的時(shí)候,是沒有任何一個(gè)數(shù)據(jù)庫打開供你使用的。在你對(duì)任意數(shù)據(jù)庫執(zhí)行操作之前,你需要先選擇一個(gè)數(shù)據(jù)庫。
"基本語法":use 數(shù)據(jù)庫名; use huangwei; """ 注意:在CMD黑窗口中,每一句代碼后面必須帶上一個(gè)“;”分號(hào)。但是在好多軟件中 使用SQL語句,卻不需要帶上“;”分號(hào),有時(shí)候帶上“;”分號(hào)還會(huì)出錯(cuò)。 """
③ 了解數(shù)據(jù)庫和表
show databases:返回可用數(shù)據(jù)庫的列表;

show tables:返回?cái)?shù)據(jù)庫表的列表;

show columns from 表名:返回某個(gè)表的具體信息,等同于“desc+表名”;

2、SQL語句的書寫順序和執(zhí)行順序
你如果想要學(xué)好SQL語句,必須首先了解SQL語句的書寫順序和執(zhí)行順序。SQL語句的書寫順序和執(zhí)行順序不一致,是導(dǎo)致SQL寫錯(cuò)、寫不出來的重要原因。鑒于此,在學(xué)習(xí)SQL語句的過程中,你要好好理解”書寫順序“和”執(zhí)行順序“兩個(gè)概念。
1)一個(gè)完整SQL查詢語句的書寫順序
-- "mysql語句編寫順序" 1 select distinct * 2 from 表(或結(jié)果集) 3 where … 4 group by …h(huán)aving… 5 order by … 6 limit start,length -- 注:1、2屬于最基本語句,必須含有。 -- 注:1、2可以與3、4、5、6中任一搭配,也可以與3、4、5、6中多個(gè)同時(shí)搭配。
2)一個(gè)完整的SQL語句執(zhí)行順序

對(duì)上圖的解釋如下:

3)關(guān)于select和having執(zhí)行順序誰前誰后的說明

注意:誰要是有說服我的說法,麻煩留言告知我一下,謝謝。
以上就是MySQL系列教程小白數(shù)據(jù)庫基礎(chǔ)的詳細(xì)內(nèi)容,更多關(guān)于MySQL數(shù)據(jù)庫基礎(chǔ)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
mysql容器之間的replication配置實(shí)例詳解
這篇文章主要給大家介紹了關(guān)于mysql容器之間replication配置的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
CentOS7下MySQL5.7安裝配置方法圖文教程(YUM)
這篇文章主要為大家詳細(xì)介紹了CentOS7下MySQL5.7安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01
mysql 8.0.18 壓縮包安裝及忘記密碼重置所遇到的坑
這篇文章主要介紹了mysql 8.0.18 壓縮包安裝及忘記密碼重置所遇到的坑,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12
MySQL按時(shí)間統(tǒng)計(jì)數(shù)據(jù)的方法總結(jié)
在本篇MYSQL的內(nèi)容里,我們給大家整理了關(guān)于按時(shí)間統(tǒng)計(jì)數(shù)據(jù)的方法內(nèi)容,有需要的朋友們學(xué)習(xí)下。2019-02-02
JDK1.7下測(cè)試ConnectorJ連接MySQL8.0的方法
MySQL?Connector/J是一個(gè)JDBC?4型驅(qū)動(dòng)程序。Type?4標(biāo)志意味著驅(qū)動(dòng)程序是MySQL協(xié)議的純Java實(shí)現(xiàn),不依賴于MySQL客戶端庫,這篇文章主要介紹了JDK1.7下測(cè)試ConnectorJ連接MySQL8.0,需要的朋友可以參考下2022-10-10

