學習不僅需要投入時間和成本,更重要的是通過大量實踐來達到精通的境界。在日常工作和學習中,我們需要掌握的技能繁多,因此,首先應該掌握常用技能,再選擇一個感興趣的領域進行深入學習,從而在保證時間效益的同時,平衡工作與生活。
MySQL的日常操作管理,常用的命令并不多,只需要簡單掌握就能夠滿足日常工作的需求。
假如數據庫名稱是 school 表名 student 服務器地址 192.168.0.100,常用的命令分為以下幾類:連接命令、數據庫操作命令、數據表操作命令、數據操作命令、查詢命令、用戶管理命令、優(yōu)化和維護命令。
1、連接命令 1.1 mysql -h 192.168.0.100 -u 用戶名 -p #連接到 MySQL 服務器。 2、數據庫操作命令 2.1 CREATE DATABASE school; #創(chuàng)建名為 "school" 的數據庫。 2.2 SHOW DATABASES; #列出所有數據庫。 2.3 USE school; #選擇 "school" 數據庫。 2.4 DROP DATABASE school; #刪除 "school" 數據庫。 3、數據表操作命令 3.1 CREATE TABLE student (id INT, name VARCHAR(20), age INT); #創(chuàng)建 "student" 表。 3.2 SHOW TABLES; #列出當前數據庫中的所有表。 3.3 DESCRIBE student; #顯示 "student" 表的結構。 3.4 ALTER TABLE student ADD emAIl VARCHAR(255); #向 "student" 表添加 "email" 列。 3.5 ALTER TABLE student DROP COLUMN email; #從 "student" 表刪除 "email" 列。 3.6 ALTER TABLE student MODIFY COLUMN name VARCHAR(30); #修改 "student" 表的 "name" 列數據類型。 3.7 ALTER TABLE student RENAME TO students; #將 "student" 表重命名為 "students"。 3.8 DROP TABLE student; #刪除 "student" 表。 4、數據操作命令 4.1 INSERT INTO student (id, name, age) VALUES (1, 'Tom', 18); #向 "student" 表插入一行數據。 4.2 UPDATE student SET age = 19 WHERE id = 1; #更新 "student" 表中的一行數據。 4.3 DELETE FROM student WHERE id = 1; #從 "student" 表刪除一行數據。 4.4 TRUNCATE TABLE student; #清空 "student" 表的所有數據。 5、查詢命令 5.1 SELECT * FROM student; #查詢 "student" 表的所有數據。 5.2 SELECT id, name FROM student; #查詢 "student" 表的 "id" 和 "name" 列數據。 5.3 SELECT * FROM student WHERE age >= 18; #查詢 "student" 表中年齡大于等于 18 的數據。 5.4 SELECT * FROM student ORDER BY age DESC; #查詢 "student" 表數據,按年齡降序排列。 5.5 SELECT COUNT(*) FROM student; #查詢 "student" 表的行數。 5.6 SELECT * FROM student LIMIT 10; #查詢 "student" 表的前 10 行數據。 6、用戶管理命令 6.1 CREATE USER 'new_user'@'%' IDENTIFIED BY 'password'; #創(chuàng)建新用戶。 6.2 DROP USER 'new_user'@'%'; #刪除用戶。 6.3 GRANT ALL PRIVILEGES ON . TO 'new_user'@'%' WITH GRANT OPTION; #給用戶授權。 6.4 REVOKE ALL PRIVILEGES ON . FROM 'new_user'@'%'; #撤銷用戶權限。 6.5 SHOW GRANTS FOR 'new_user'@'%'; #顯示用戶的權限。 7、優(yōu)化和維護命令 7.1 ANALYZE TABLE student; #分析表以更新關鍵字分布和表的統(tǒng)計信息。 7.2 CHECK TABLE student; #檢查表的完整性和結構。 7.3 OPTIMIZE TABLE student; #優(yōu)化表以提高性能。 7.4 REPAIR TABLE student; #修復損壞的表。 7.5 SHOW VARIABLES; #顯示服務器的系統(tǒng)變量。 7.6 SHOW STATUS; #顯示服務器的狀態(tài)信息。 7.7 SHOW PROCESSLIST; #顯示當前連接到服務器的進程列表。 7.8 KILL 進程ID; #殺死指定的服務器進程。 8、備份與恢復命令 8.1 mysqldump -h 192.168.0.100 -u 用戶名 -p school > backup.sql #將 "school" 數據庫備份到 "backup.sql" 文件。 8.2 mysql -h 192.168.0.100 -u 用戶名 -p school < backup.sql #從 "backup.sql" 文件恢復 "school" 數據庫。 9、索引和約束命令 9.1 ALTER TABLE student ADD PRIMARY KEY (id); #為 "student" 表的 "id" 列添加主鍵約束。 9.2 ALTER TABLE student ADD UNIQUE (email); #為 "student" 表的 "email" 列添加唯一約束。 9.3 ALTER TABLE student ADD INDEX (age); #為 "student" 表的 "age" 列添加索引。 9.4 ALTER TABLE student ADD FOREIGN KEY (class_id) REFERENCES class(id); #為 "student" 表的 "class_id" 列添加外鍵約束,引用 "class" 表的 "id" 列。 9.5 ALTER TABLE student DROP PRIMARY KEY; #刪除 "student" 表的主鍵約束。 9.6 ALTER TABLE student DROP INDEX age; #刪除 "student" 表的 "age" 列索引。 10、事務控制命令 10.1 START TRANSACTION; #開始一個新的事務。 10.2 COMMIT; #提交事務,使修改永久生效。 10.3 ROLLBACK; #回滾事務,撤銷未提交的修改。這些命令能滿足日常管理的工作,尤其在沒有可視化工具軟件的時候,直接在控制臺操作,這些已經很完整。