這裡介紹的MySQL相關知識,并不是針對那些想學習DBA的同學,
而是針對那些想轉行、從事資料分析行業的同學
。下面這些知識點,是我學習MySQL資料庫時,覺得有必要掌握的一些知識點。
1、基礎概念與基礎指令
1)基礎概念
① 資料庫
按照一定資料結構,存儲和管理資料的倉庫。
② 資料庫的分類
資料庫的常見分類,是将資料庫分為
關系型資料庫
和
非關系型資料庫
。
③ 什麼是關系型資料庫?
将複雜的關系,以簡單的二進制形式進行表示,即用行和列的形式進行表示(表格形式),其中每一行叫做記錄,列叫做字段。其中MySQL就是一種很常用的關系型資料庫。
二進制形式
:類似于excel表格資料,就是一種二進制形式。
④ 資料庫管理系統:DBMS
資料庫管理系統是用于管理和操作資料庫的軟體
。其中,關系型資料庫管理系統(RDBMS)有Oracle、MySQL、SQL Server、DB2、IBM等。非關系型資料庫管理系統(Nosql)有redis、Hbase、mongodb、neo4j等
⑤ MySQL的介紹
MySQL是一個關系型的資料庫管理系統
。最初是由mysql ab公司設計出來的産品,後來被Oracle資料庫收購了。MySQL資料庫内部采用“分庫分表”的形式管理資料。一個MySQL資料庫管理系統可以管理多個資料庫;一個資料庫中又可以存放多張表。同時MySQL開源免費,支援千萬級别的資料查詢,支援GPL(開源許可證)。
⑥ 什麼是SQL語言?
SQL語言,全稱是“structured query language”,叫結構化查詢語言
,是操作資料庫的标準化語言,能夠實作對資料庫的通路何操作。
⑦ 注意MySQL和SQL的差別!
這裡有一種錯誤的說法:你會不會MySQL?
其實這個說法是有問題的,MySQL指的其是資料庫管理系統,問你會不會MySQL,其實是問你會不是對資料庫進行增、删、改、查,是以這個MySQL說的就是前面提到的“SQL語言”,隻不過大家習慣性的用MySQL這種說法代替SQL。
⑧ SQL語言的分類

⑨ 什麼是“表”?
表
是某種特定類型資料的結構化清單。
這裡所說的“某種特定類型”指的是存儲在表中的資料,是一種類型的資料。你不能将顧客資訊的清單和訂單的清單都柔和在一起,存儲在同一張資料庫表中。這對于以後資料的檢索和通路變得困難,我們應該一個清單一張表。
每張資料庫都應該有一個表名,用來唯一辨別自己
。同一個資料庫中不能有表名相同的兩張表,但是不同的資料庫中卻可以使用相同的表名。
⑩ 什麼是“列”?
表由列組成,每一列存儲着表中某部分的資訊。
每一列是是表中的一個字段。一張表是由一個或 多個列組成的
。
需要特别注意的是:表中的每一列應該是存儲着一條特定的資訊。例如,省份、城市、郵政編碼應該都是單獨的列。我們不能将這3個不同的資訊,都組合在一個列中,否則會給查詢增加很大的麻煩。
⑪ 什麼是“資料類型”?
表中的每一列都應該具有相應的資料類型,資料類型标志着該列可以存儲哪些資料
。
常用的資料類型有字元串類型、數值類型、日期類型。資料類型的詳細介紹,将會在後面的系列文章中給出。
資料類型有很重要的作用,它能夠幫助正确的排序資料,并且在優化磁盤使用方面騎着很重要的作用。
⑫ 什麼是“行”?
表中的資料是按行存儲的,每一行代表一個記錄。如果将表想象成一個網格,那麼網格中垂直的列為表列,水準行為表行。
2)基礎指令
① 連接配接資料庫
MySQL資料庫是“客戶機-伺服器”類型的資料庫管理系統
。形象地說,一個MySQL資料庫管理系統至少存在着兩部分,一是伺服器端,這個我們看不到,卻每次使用資料庫的時候,總是從裡面擷取到資料。二是用戶端,我經常使用的用戶端有CMD視窗、Navicat,這些用戶端能夠讓我們輸入SQL語句,來進行資料的通路和擷取。是以我們在執行指令之前,需要先登入到這個資料庫管理系統。
"登入MySQL資料庫,需要以下幾個資訊"
主機名 端口 使用者名 使用者密碼(密碼)
mysql -h localhost -u root -P 3306 -p 123
-h 主機名:localhost表示伺服器在本地
-u 使用者名:使用者名root
-P 端口:預設端口3306
-p 密碼:密碼123
在CMD黑視窗中,如果你登陸了MySQL資料庫,是如下這個界面:
② 選擇資料庫
當你剛剛連接配接上資料庫的時候,是沒有任何一個資料庫打開供你使用的。在你對任意資料庫執行操作之前,你需要先選擇一個資料庫。
"基本文法":use 資料庫名;
use huangwei;
"""
注意:在CMD黑視窗中,每一句代碼後面必須帶上一個“;”分号。但是在好多軟體中
使用SQL語句,卻不需要帶上“;”分号,有時候帶上“;”分号還會出錯。
"""
③ 了解資料庫和表
show databases
:傳回可用資料庫的清單;
show tables
:傳回資料庫表的清單;
show columns from 表名
:傳回某個表的具體資訊,等同于“desc+表名”;
2、SQL語句的書寫順序和執行順序
你如果想要學好SQL語句,必須首先了解SQL語句的書寫順序和執行順序。
SQL語句的書寫順序和執行順序不一緻,是導緻SQL寫錯、寫不出來的重要原因
。鑒于此,在學習SQL語句的過程中,你要好好了解”書寫順序“和”執行順序“兩個概念。
1)一個完整SQL查詢語句的書寫順序
-- "mysql語句編寫順序"
1 select distinct *
2 from 表(或結果集)
3 where …
4 group by …having…
5 order by …
6 limit start,length
-- 注:1、2屬于最基本語句,必須含有。
-- 注:1、2可以與3、4、5、6中任一搭配,也可以與3、4、5、6中多個同時搭配。
2)一個完整的SQL語句執行順序
對上圖的解釋如下:
3)關于select和having執行順序誰前誰後的說明
注意:誰要是有說服我的說法,麻煩留言告知我一下,謝謝。