MySQL 是一個支持結構化查詢語言 (SQL) 的開源關系數據庫管理系統。它有助于開發各種基于 Web 的應用程序和在線內容。MySQL 可以在 Linux/UNIX、macOS、Windows 等所有操作系統平臺上運行,并且是 LAMP 堆棧的重要組件。 MySQL 是最受歡迎的數據庫系統之一,許多云提供商將其作為其服務的一部分提供。它使用帶有查詢和數據的命令,通過與數據庫通信來執行任務和功能。本文介紹了最常用的 MySQL 語句,這些語句允許用戶有效地使用數據庫。
使用 MySQL 客戶端
MySQL 允許您使用命令行工具mysql之類的客戶端連接到服務器。使用-u和-p標志提供您的用戶名和密碼:
mysql -u [username] -p mysql -u [username] -p [database]? 完成后,退出 MySQL 命令行客戶端,如下所示:
exit?使用用戶帳戶
要創建一個新用戶帳戶,請打開新終端以 root 身份訪問 MySQL,并創建一個新用戶,如下所示:
$ sudo mysql -u root -p ... mysql> CREATE USER 'username' IDENTIFIED BY 'password';? 您還可以通過指定他們必須從以下位置訪問數據庫的主機來設置具有受限訪問權限的用戶帳戶:
CREATE USER 'user'@'localhost'; CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';? 要指定遠程連接,您可以將“localhost”替換為機器的 IP 地址,如下所示:
CREATE USER 'username'@'ip_address' IDENTIFIED BY 'password';? 最后,您可以使用以下語句刪除帳戶:
DROP USER 'user'@'ip_address' IDENTIFIED BY 'password';?用戶帳戶權限
在繼續之前,您需要在新用戶帳戶上設置適當的權限。這避免了數據庫內不必要的用戶訪問的風險。 您可以使用 GRANT、REVOKE 和 ALTER 等語句在 MySQL 中使用用戶權限。根據您希望用戶能夠執行的操作,您可以分配全部或部分權限。這些權限是 ALL PRIVILEGES、SELECT、UPDATE、INSERT、DELETE、CREATE、DROP 和 GRANT OPTION。 您可以將插入數據的管理權限分配給屬于任何數據庫的所有表:
GRANT INSERT ON *.* TO 'username'@'ip_address';? 但是,您也可以通過在句點之前指定數據庫來限制用戶訪問。您可以允許用戶在數據庫中的所有表中選擇、插入和刪除數據,?如下所示:
GRANT SELECT, INSERT, DELETE ON database.* TO 'user'@'ip_address' IDENTIFIED BY 'pa ssword';? 同樣,您可以通過在句點后指定表名來限制用戶對特定表的訪問。
GRANT SELECT, INSERT, DELETE ON database.table_name TO 'user'@'ip_address' IDENTIFIED BY 'password';? 您可以向特定數據庫中的每個表授予所有權限,?如下所示:
GRANT ALL PRIVILEGES ON database.* TO 'user'@'ip_address' IDENTIFIED BY 'password';? 要從單個數據庫撤消用戶的權限:
REVOKE ALL PRIVILEGES ON database.* FROM 'user'@'ip_address';? 您可以撤銷每個數據庫的所有用戶權限,如下所示:
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user'@'ip_address';? 最后,您可以像這樣設置密碼:
SET PASSWORD FOR 'user'@'ip_address' = PASSWORD('new_password');? 請注意使用散列明文密碼的 PASSWORD 函數。
使用數據庫
您可以創建一個名稱尚不存在的新數據庫:
CREATE DATABASE database_name;? 您可以將當前數據庫切換到要使用的另一個數據庫:
USE database_name;? 最后,您可以刪除整個數據庫及其表,如下所示:
DROP DATABASE database_name;?使用表
表是MySQL 數據庫的主要結構元素,將一組相關記錄分組為行。每行都有不同數據類型的列,可以是 CHAR、VARCHAR 和 TEXT 等。 創建表的一般語法如下:
CREATE TABLE table_name (column_1 data_type1, column_2 data_type2);? 您還可以通過選擇特定列從現有表創建新表,如下所示:
CREATE TABLE new_table_name AS SELECT column_1, column_2 FROM existing_table_name;? 您可以使用以下命令將數據添加到表中:
INSERT INTO table_name (column_1, column_2) VALUES (value_1, value_2);? 要刪除表,請使用 DROP TABLE 語句,如下所示:
DROP TABLE table_name;? 或者您保留表格但使用以下方法刪除其所有數據:
TRUNCATE TABLE table_name;?訪問數據庫
使用以下語句顯示 MySQL DMS 中的所有可用數據庫:
SHOW DATABASES;? 同樣,您可以列出當前數據庫中的所有表:
SHOW TABLES;? 要查看表中的所有列:
DESCRIBE table_name;? 要在表格中顯示列信息:
DESCRIBE table_name column_name;?查詢數據庫
MySQL 允許您使用SELECT語句從數據庫中查詢數據。您可以使用各種 MySQL 子句來擴展其基本功能。 以下語句返回由表中每一行的兩列組成的結果集:
SELECT column1, column2 FROM table_name;? 或按如下方式顯示所有列:
SELECT * FROM table_name;? 您還可以使用以下條件查詢數據庫/表并檢索信息:
SELECT column1, column2 FROM table_name WHERE condition;? SELECT 語句還允許您使用 GROUP BY 子句按一列或多列對結果集進行分組。然后,您可以使用聚合函數來計算匯總數據:
SELECT COUNT(CustomerID), Country FROM Customers GROUP BY Country;?更新表
您可以使用 UPDATE 或 ALTER 語句修改表內的數據。UPDATE 語句允許您更新現有的單個或多個記錄/行。 以下 MySQL 命令更改UserID為2的單個記錄的UserName和City:
UPDATE Users SET UserName = 'Alfred James', City= 'Munich' WHERE UserID = 2;? 雖然此示例更新了City為Munich的所有記錄的所有UserName:
UPDATE Users SET UserName='Juan' WHERE City='Munich';? 您可以像這樣向表中添加列:
ALTER TABLE table_name ADD COLUMN column_name;? 要從表中刪除列,請使用 ALTER TABLE 語句,如下所示:
ALTER TABLE table_name DROP COLUMN column_name;?初學者的 MySQL
在本文中,您已經看到了最常見的 MySQL 命令。它們使您能夠管理用戶帳戶、更改數據庫結構和操作數據。 一旦您熟悉了基礎知識,了解 MySQL 和安全性就會很有用。您的數據庫可能包含有價值和敏感的個人數據,因此保護其免受窺探至關重要。 ?
編輯:黃飛
?
評論
查看更多