MySQL系列教程小白數(shù)據(jù)庫基礎(chǔ)
這里介紹的MySQL相關(guān)知識,并不是針對那些想學(xué)習(xí)DBA的同學(xué),而是針對那些想轉(zhuǎn)行、從事數(shù)據(jù)分析行業(yè)的同學(xué)。
下面這些知識點(diǎn),是我學(xué)習(xí)MySQL數(shù)據(jù)庫時,覺得有必要掌握的一些知識點(diǎn)。
1、基礎(chǔ)概念與基礎(chǔ)命令
1)基礎(chǔ)概念
① 數(shù)據(jù)庫
按照一定數(shù)據(jù)結(jié)構(gòu),存儲和管理數(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是一個關(guān)系型的數(shù)據(jù)庫管理系統(tǒng)。最初是由mysql ab公司設(shè)計出來的產(chǎn)品,后來被Oracle數(shù)據(jù)庫收購了。MySQL數(shù)據(jù)庫內(nèi)部采用“分庫分表”的形式管理數(shù)據(jù)。一個MySQL數(shù)據(jù)庫管理系統(tǒng)可以管理多個數(shù)據(jù)庫;一個數(shù)據(jù)庫中又可以存放多張表。同時MySQL開源免費(fèi),支持千萬級別的數(shù)據(jù)查詢,支持GPL(開源許可證)。
⑥ 什么是SQL語言?
SQL語言,全稱是“structured query language”,叫結(jié)構(gòu)化查詢語言,是操作數(shù)據(jù)庫的標(biāo)準(zhǔn)化語言,能夠?qū)崿F(xiàn)對數(shù)據(jù)庫的訪問何操作。
⑦ 注意MySQL和SQL的區(qū)別!
這里有一種錯誤的說法:你會不會MySQL?其實這個說法是有問題的,MySQL指的其是數(shù)據(jù)庫管理系統(tǒng),問你會不會MySQL,其實是問你會不是對數(shù)據(jù)庫進(jìn)行增、刪、改、查,因此這個MySQL說的就是前面提到的“SQL語言”,只不過大家習(xí)慣性的用MySQL這種說法代替SQL。
⑧ SQL語言的分類
⑨ 什么是“表”?
表是某種特定類型數(shù)據(jù)的結(jié)構(gòu)化清單。
這里所說的“某種特定類型”指的是存儲在表中的數(shù)據(jù),是一種類型的數(shù)據(jù)。你不能將顧客信息的清單和訂單的清單都柔和在一起,存儲在同一張數(shù)據(jù)庫表中。這對于以后數(shù)據(jù)的檢索和訪問變得困難,我們應(yīng)該一個清單一張表。
每張數(shù)據(jù)庫都應(yīng)該有一個表名,用來唯一標(biāo)識自己。同一個數(shù)據(jù)庫中不能有表名相同的兩張表,但是不同的數(shù)據(jù)庫中卻可以使用相同的表名。
⑩ 什么是“列”?
表由列組成,每一列存儲著表中某部分的信息。每一列是是表中的一個字段。一張表是由一個或 多個列組成的。
需要特別注意的是:表中的每一列應(yīng)該是存儲著一條特定的信息。例如,省份、城市、郵政編碼應(yīng)該都是單獨(dú)的列。我們不能將這3個不同的信息,都組合在一個列中,否則會給查詢增加很大的麻煩。
⑪ 什么是“數(shù)據(jù)類型”?
表中的每一列都應(yīng)該具有相應(yīng)的數(shù)據(jù)類型,數(shù)據(jù)類型標(biāo)志著該列可以存儲哪些數(shù)據(jù)。
常用的數(shù)據(jù)類型有字符串類型、數(shù)值類型、日期類型。數(shù)據(jù)類型的詳細(xì)介紹,將會在后面的系列文章中給出。
數(shù)據(jù)類型有很重要的作用,它能夠幫助正確的排序數(shù)據(jù),并且在優(yōu)化磁盤使用方面騎著很重要的作用。
⑫ 什么是“行”?
表中的數(shù)據(jù)是按行存儲的,每一行代表一個記錄。如果將表想象成一個網(wǎng)格,那么網(wǎng)格中垂直的列為表列,水平行為表行。
2)基礎(chǔ)命令
① 連接數(shù)據(jù)庫
MySQL數(shù)據(jù)庫是“客戶機(jī)-服務(wù)器”類型的數(shù)據(jù)庫管理系統(tǒng)。形象地說,一個MySQL數(shù)據(jù)庫管理系統(tǒng)至少存在著兩部分,一是服務(wù)器端,這個我們看不到,卻每次使用數(shù)據(jù)庫的時候,總是從里面獲取到數(shù)據(jù)。二是客戶端,我經(jīng)常使用的客戶端有CMD窗口、Navicat,這些客戶端能夠讓我們輸入SQL語句,來進(jìn)行數(shù)據(jù)的訪問和獲取。因此我們在執(zhí)行命令之前,需要先登錄到這個數(shù)據(jù)庫管理系統(tǒng)。
"登錄MySQL數(shù)據(jù)庫,需要以下幾個信息" 主機(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ù)庫,是如下這個界面:
② 選擇數(shù)據(jù)庫
當(dāng)你剛剛連接上數(shù)據(jù)庫的時候,是沒有任何一個數(shù)據(jù)庫打開供你使用的。在你對任意數(shù)據(jù)庫執(zhí)行操作之前,你需要先選擇一個數(shù)據(jù)庫。
"基本語法":use 數(shù)據(jù)庫名; use huangwei; """ 注意:在CMD黑窗口中,每一句代碼后面必須帶上一個“;”分號。但是在好多軟件中 使用SQL語句,卻不需要帶上“;”分號,有時候帶上“;”分號還會出錯。 """
③ 了解數(shù)據(jù)庫和表
show databases
:返回可用數(shù)據(jù)庫的列表;
show tables
:返回數(shù)據(jù)庫表的列表;
show columns from 表名
:返回某個表的具體信息,等同于“desc+表名”;
2、SQL語句的書寫順序和執(zhí)行順序
你如果想要學(xué)好SQL語句,必須首先了解SQL語句的書寫順序和執(zhí)行順序。SQL語句的書寫順序和執(zhí)行順序不一致,是導(dǎo)致SQL寫錯、寫不出來的重要原因。鑒于此,在學(xué)習(xí)SQL語句的過程中,你要好好理解”書寫順序“和”執(zhí)行順序“兩個概念。
1)一個完整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中多個同時搭配。
2)一個完整的SQL語句執(zhí)行順序
對上圖的解釋如下:
3)關(guān)于select和having執(zhí)行順序誰前誰后的說明
注意:誰要是有說服我的說法,麻煩留言告知我一下,謝謝。
以上就是MySQL系列教程小白數(shù)據(jù)庫基礎(chǔ)的詳細(xì)內(nèi)容,更多關(guān)于MySQL數(shù)據(jù)庫基礎(chǔ)的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
MySql數(shù)據(jù)分區(qū)操作之新增分區(qū)操作
這篇文章主要介紹了MySql數(shù)據(jù)分區(qū)操作之新增分區(qū)操作,本文講解了測試創(chuàng)建分區(qū)表文件、插入測試數(shù)據(jù)、查詢P2中的數(shù)據(jù)等內(nèi)容,需要的朋友可以參考下2015-03-03MySQL count(1)、count(*)、count(字段)的區(qū)別
COUNT在數(shù)據(jù)庫行數(shù)統(tǒng)計中被廣泛使用,那么你知道MySQL count(1)、count(*)、count(字段)的區(qū)別嗎,本文就想的介紹一下,感興趣的可以了解一下2021-12-12SQL中CONVERT轉(zhuǎn)換函數(shù)的簡單使用方法
CONVERT()函數(shù)對于簡單類型轉(zhuǎn)換,CONVERT()函數(shù)和CAST()函數(shù)的功能相同,只是語法不同,下面這篇文章主要給大家介紹了關(guān)于SQL中CONVERT轉(zhuǎn)換函數(shù)的簡單使用方法,需要的朋友可以參考下2024-01-01MySQL對JSON數(shù)據(jù)進(jìn)行查詢實例代碼
這篇文章主要給大家介紹了關(guān)于MySQL對JSON數(shù)據(jù)進(jìn)行查詢的相關(guān)資料,MySQL支持使用JSON類型存儲數(shù)據(jù),并提供了多種查詢JSON數(shù)據(jù)的方法,需要的朋友可以參考下2023-07-07MYSQL中統(tǒng)計查詢結(jié)果總行數(shù)的便捷方法省去count(*)
查看手冊后發(fā)現(xiàn)SQL_CALC_FOUND_ROWS關(guān)鍵詞的作用是在查詢時統(tǒng)計滿足過濾條件后的結(jié)果的總數(shù)(不受 Limit 的限制)具體使用如下,感興趣的朋友可以學(xué)習(xí)下2013-07-07