創(chuàng)業(yè)做招聘網(wǎng)站靠譜嗎seo研究協(xié)會網(wǎng)app
簡介
????????MySQL 是一個非常流行的開源關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),廣泛用于 Web 應用、企業(yè)應用和數(shù)據(jù)倉庫。本博客將引導你從零開始,學習 MySQL 數(shù)據(jù)庫的基礎知識。
什么是 MySQL?
????????MySQL 是一個基于 SQL(Structured Query Language,結(jié)構(gòu)化查詢語言)的數(shù)據(jù)庫管理系統(tǒng),它允許用戶創(chuàng)建、修改、查詢和刪除存儲在數(shù)據(jù)庫中的數(shù)據(jù)。MySQL 是一個多用戶、多線程的數(shù)據(jù)庫系統(tǒng),支持多種操作系統(tǒng)。
為什么選擇 MySQL?
- 開源:MySQL 是免費的,并且擁有一個活躍的社區(qū),提供持續(xù)的更新和支持。
- 跨平臺:支持多種操作系統(tǒng),如 Windows、Linux 和 macOS。
- 高性能:優(yōu)化了讀寫性能,適合處理大量數(shù)據(jù)。
- 靈活性:支持多種數(shù)據(jù)類型,包括整數(shù)、浮點數(shù)、字符串和日期等。
- 安全性:提供多層次的安全特性,包括用戶權(quán)限管理、加密連接等。、
企業(yè)級 MySQL 版本對比
MySQL 提供了兩種主要的企業(yè)級版本:社區(qū)版和企業(yè)版。
社區(qū)版
- 免費:社區(qū)版完全免費,適合個人學習和小型項目。
- 功能:包含基本的數(shù)據(jù)庫功能,可能包含一些測試性質(zhì)的新功能,但穩(wěn)定性可能不如企業(yè)版。
企業(yè)版
- 收費:企業(yè)版是商業(yè)產(chǎn)品,需要購買許可證。
- 穩(wěn)定性:提供更高級的功能和更穩(wěn)定的性能,適合大型企業(yè)使用。
遠程登錄配置
Linux 系統(tǒng)
- 安裝 MySQL 后,默認情況下 MySQL 8 不會提示設置 root 密碼,可以使用系統(tǒng) root 用戶直接登錄。
- 要實現(xiàn)遠程登錄,需要確保數(shù)據(jù)庫用戶具有遠程權(quán)限,并且在配置文件?
/etc/mysql/mysql.conf.d/mysqld.conf
?中設置?bind-address
?為?0.0.0.0
?或者具體的外網(wǎng) IP 地址。 - 重啟 MySQL 服務以應用更改
在此之前我們詳細講了怎么遠程登錄
安裝 MySQL
我們之前已經(jīng)寫過了安裝MySQL 的具體步驟,這邊就不再詳細闡述了。(點擊對應系統(tǒng)可跳轉(zhuǎn))?
Windows
- 訪問 MySQL 官方網(wǎng)站下載 Windows 版本的安裝程序。
- 運行安裝程序并遵循安裝向?qū)А?/li>
- 在安裝過程中,設置 root 用戶的密碼。
Linux (Ubuntu 示例)
- 更新包索引。
- 安裝 MySQL Server。
- 安裝配置。
- 驗證安裝。
MySQL 基本指令
數(shù)據(jù)庫操作(實例均在cmd 命令窗口中執(zhí)行)
首先要進行操作前先登錄進入mysql
- 展示所有數(shù)據(jù)庫:
SHOW DATABASES;
- 創(chuàng)建數(shù)據(jù)庫,指定字符集:
CREATE DATABASE database_name CHARACTER SET utf8;
- 刪除數(shù)據(jù)庫:
DROP DATABASE database_name;
- 查看當前使用的數(shù)據(jù)庫:
SELECT DATABASE();
因為我們還未使用數(shù)據(jù)庫,所以顯示為NULL,使用"mysql"數(shù)據(jù)庫后: - 使用數(shù)據(jù)庫:
USE database_name;
?這邊切換數(shù)據(jù)庫到python2407
數(shù)據(jù)表操作
- 顯示所有表:
SHOW TABLES;
- 創(chuàng)建數(shù)據(jù)表:
CREATE TABLE table_name ( column1 datatype constraint1, column2 datatype constraint2, ... );
-
這里是每個部分的詳細說明:
table_name
:新創(chuàng)建的表的名稱。column1
,?column2
, ...,?columnN
:表中的列名稱。datatype
:每個列的數(shù)據(jù)類型,例如?INT
,?VARCHAR
,?DATE
,?FLOAT
?等。constraint1
,?constraint2
, ...,?constraintN
:每個列的約束條件,用于限制列中數(shù)據(jù)的規(guī)則,例如?NOT NULL
,?PRIMARY KEY
,?UNIQUE
,?DEFAULT
?等。
-
下面是一些常見的數(shù)據(jù)類型和約束條件的例子:
INT
:整型,用于存儲整數(shù)。VARCHAR(length)
:變長字符串,length
?表示字符串的最大長度。CHAR(length)
:固定長度字符串,length
?表示字符串的長度,不足部分會用空格填充。DATE
:日期類型,存儲格式為?YYYY-MM-DD
。FLOAT
?或?DOUBLE
:浮點數(shù)類型,用于存儲小數(shù)。BOOLEAN
:布爾類型,存儲?TRUE
?或?FALSE
。
-
約束條件示例:
NOT NULL
:該列的值不能為 NULL。PRIMARY KEY
:該列的值必須是唯一的,且不能為 NULL,一個表只能有一個主鍵。UNIQUE
:該列的值必須唯一,可以有多個 NULL 值。DEFAULT value
:如果插入記錄時沒有為該列指定值,則使用默認值?value
。AUTO_INCREMENT
:用于數(shù)值類型的列,每當新行插入時,該列的值會自動增加。通常用于主鍵。CHECK (condition)
:檢查約束,確保列的值滿足指定的條件(MySQL 8.0.16 及以上版本支持)。
- 查看表結(jié)構(gòu):
DESC table_name;
- 刪除數(shù)據(jù)表:
DROP TABLE table_name;
刪除表之后,此時我們再來查看數(shù)據(jù)庫的表,已經(jīng)沒有了? table_name 這張表。
CURD 操作
- 查(SELECT):查詢數(shù)據(jù),支持條件查詢、排序、分組等。
- 增(INSERT):添加數(shù)據(jù)。
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
- 改(UPDATE):更新數(shù)據(jù)。
UPDATE table_name SET column1 = value1 WHERE condition;
- 刪(DELETE):刪除數(shù)據(jù)。
DELETE FROM table_name WHERE condition;
?
用戶管理
- 創(chuàng)建用戶:
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
- 分配權(quán)限:
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'%'; FLUSH PRIVILEGES;
- 刪除用戶:
DROP USER 'username'@'%';
- 修改密碼:
ALTER USER 'username'@'%' IDENTIFIED BY 'new_password';
?
特殊數(shù)據(jù)類型
- 整型(int):存儲整數(shù)。
- 字符串(varchar, char):存儲可變長度或固定長度的字符串。
- 日期時間(datetime):存儲日期和時間。
- 枚舉(enum):從預定義的值列表中選擇。
結(jié)語
通過本博客的進階指南,你現(xiàn)在應該對 MySQL 的企業(yè)級版本、遠程登錄配置、基本指令、用戶管理和特殊數(shù)據(jù)類型有了更深入的了解。MySQL 是一個功能強大的數(shù)據(jù)庫系統(tǒng),適用于各種規(guī)模的應用。繼續(xù)探索和實踐,你將能夠更深入地掌握 MySQL 的使用。
如果你有任何問題或需要進一步的幫助,請在評論區(qū)留言,或者加入 MySQL 社區(qū)與其他用戶交流。祝你在 MySQL 的學習旅程中一切順利!