文章目錄
保存數據的容器有很多:數組、集合、文件…等。其中
數組
和集合
都可以歸類到內存方面,最大的缺點是易失性,一斷電就沒了;文件
可以永久的存儲數據,但是當存儲大量文件時,不適合查詢。數據庫管理系統
的誕生就是爲了管理存儲到文件中的數據,數據庫管理系統最大的好處有兩點:
- 持久化數據到本地
- 統一管理,方便查詢
數據庫相關概念
DB
數據庫(Database,簡稱DB):數據庫DB是存儲數據的"容器",它按照一定的關係模型保存了一系列有組織的數據。
DB和DBMS的關係:DB是通過DBMS創建和操作的容器。
DBMS
數據庫管理系統(Database Management System,簡稱DBMS):一般稱爲數據庫軟件或數據庫產品,實際上日常說的學習數據庫或安裝數據庫,指的都是數據庫管理系統DBMS。 DBMS分爲關係型和非關係型兩類,詳見下表:
\ |
關係型數據庫 | 非關係型數據庫 |
---|---|---|
定義 | 採用了關係模型來組織數據的數據庫(最典型的關係模型是二維表) | 非關係型,分佈式的,不一定遵循ACID原則的數據庫 |
靈活性 | 固定的表結構,靈活度稍欠 | 支持key-value形式、文檔形式、圖片形式等,格式靈活 |
是否支持SQL語言 | 支持,學習成本低 | 不支持,學習成本高 |
讀寫性能 | 數據存儲在硬盤,海量數據的高效率讀寫性能較差 | 數據存儲於緩存中,不需要sql解析,效率及高 |
擴展性 | 受多表查詢機制的限制,擴展很難 | 基於鍵值對,數據之間沒有耦合性,容易水平擴展 |
持久存儲 | 適合 | 不適合 |
本專欄講解的是關係型數據庫中最熱門的MySQL,對非關係型數據庫不再做詳細補充。下面的知識可以作爲補充瞭解:
- 當今主流的關係型數據庫有:
MySQL
(瑞典MySQL AB公司,現已被Oracle收購,開源),Oracle
(Oracle公司,收費),DB2
(IBM公司,適合海量化數據),SqlServer
(微軟公司,侷限於windows)。
- 當今主流的非關係型數據庫有:
Redis
(支持高性能併發讀寫數據庫)、MongoDB
(支持海量數據訪問數據庫)、Elasticsearch
(面向搜索引擎數據庫)、Cassandra
(高可拓展性數據庫)。
SQL
結構化查詢語言(Structure Query Language,簡稱SQL):專門用來與數據庫通信的語言。
SQL具有一些優點:
- 幾乎所有的關係型數據庫都支持SQL。
- SQL簡單易學。
- 靈活使用可以進行非常複雜和高級的操作。
學習SQL語句,下面五大類是核心, 本專欄後續文章會詳細介紹各類語句:
分類 | 說明 | 文章鏈接 |
---|---|---|
DQL 數據查詢語句 |
用於數據庫記錄 的查詢 |
更新中… |
DML 數據操作語句 |
用於數據庫記錄 的添加、刪除、修改、並檢查數據完整性 |
更新中… |
DDL 數據定義語句 |
用於庫和表 的創建、修改、刪除 |
更新中… |
DCL 數據控制語句 |
用於定義用戶 的訪問權限和安全級別 |
更新中… |
TCL 事務控制語句 |
用於mysql中的事務處理 |
更新中… |
DB、DBMS、SQL三者的關係:程序員在DBMS上通過SQL創建和操作DB。
數據庫存儲數據的特點
存放順序
:存儲時,先將數據放到表中,再將表放到庫中。
表名唯一
:一個數據庫中可以有多張表,每個表都有唯一的的名字來標識自己。
同表同類
:表具有類似於Java中的類
的特性,這些特性定義了數據在表中如何存儲。
列是屬性
:表由列組成,也稱爲字段,所以表都是由一個或多個列組成的,每一列類似於Java中的屬性。
行是對象
:表中數據是按照行存儲的,每一行類似於Java中的對象 。
徹底刪除電腦上的MySQL殘留
卸載前在cmd窗口輸入net stop mysql服務名
關閉MySQL服務(也可以通過圖形化界面操作)。
第一步:使用控制面板或其他程序卸載掉MySQL。
第二步:找到MySQL的安裝路徑,刪除該文件夾。
第三步:在C盤默認隱藏的ProgramDate文件夾中找到MySQL文件夾並刪除。
第四步:清理註冊表(一般不需要,除非刪除之後再安裝仍然有問題)
快捷鍵win+r輸入regedit進入註冊表,找到下面三項並刪除(不一定有)
HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/Eventlog/Application/MySQL
HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/Services/Eventlog/Application/MySQL
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Application/MySQL
圖解MySQL安裝教程
大部分人安裝MySQL多次安裝不上的原因多是因爲之前刪除過MySQL,但是刪除的不乾淨,導致後續安裝時卡在最後一步。所以如果之前安裝過MySQL但是又刪除了,建議先看上面的卸載步驟。
MySQL與SQLyog安裝包鏈接:https://pan.baidu.com/s/1UqWDquUNTeoAxvyY3PMBIg
提取碼:bl36
如果忘記勾選Launch the MySQL Instance Configuration Wizard
,可以點擊安裝目錄內→bin目錄下的MySQLInstanceConfig.exe
文件,進入配置頁面。
my.ini配置文件介紹
安裝好後會有一個my.ini
文件,對該文件中一些配置命令做說明:
[mysql]代表客戶端配置;[mysqld]代表服務端配置。
配置命令 | 說明 |
---|---|
default-character-set =utf8 |
字符集 |
port =3306 |
端口號 |
basedir =“D:/MySQL/” |
安裝路徑 |
datadir =“D:/MySQL/data_cache/Data/” |
文件目錄 |
default-storage-engine =INNODB |
默認存儲引擎 |
sql-mode =“xxx” |
語法模式 |
max_connections =100 |
最大連接數 |
MySQL服務的啓動和停止
MySQL的服務端安裝好後,相當於維護了一個大倉庫,但其默認是禁用狀態,使用前要保證服務是啓用的狀態。
第一種方式是在計算機服務圖形化界面中手動啓動和停止。
第二種方式是命令行方式:停止net stop mysql服務名
、開啓:net start mysql服務名
MySQL常用命令介紹
常用命令 | 說明 |
---|---|
show databases; |
展示所有數據庫 |
use 庫名; |
進入某個數據庫 |
show tables; |
展示當前庫所有的表 |
show tables from 庫名; |
展示某個庫中的所有表 |
select database(); |
查看當前所在庫名 |
desc 表名; |
查看錶的結構 |
serlect version(); |
查看mysql服務端版本,mysql外的環境使用mysql --version |
圖解SQLyog安裝
證書祕鑰可以使用:8d8120df-a5c3-4989-8f47-5afc79c56e7c
,名稱隨便填。