天天看點

掌握這點MySQL指令,日常資料庫操作足夠了!

作者:楚歌說
掌握這點MySQL指令,日常資料庫操作足夠了!

學習不僅需要投入時間和成本,更重要的是通過大量實踐來達到精通的境界。在日常工作和學習中,我們需要掌握的技能繁多,是以,首先應該掌握常用技能,再選擇一個感興趣的領域進行深入學習,進而在保證時間效益的同時,平衡工作與生活。

MySQL的日常操作管理,常用的指令并不多,隻需要簡單掌握就能夠滿足日常工作的需求。

假如資料庫名稱是 school 表名 student 伺服器位址 192.168.0.100,常用的指令分為以下幾類:連接配接指令、資料庫操作指令、資料表操作指令、資料操作指令、查詢指令、使用者管理指令、優化和維護指令。

1、連接配接指令    
1.1 mysql -h 192.168.0.100 -u 使用者名 -p    #連接配接到 MySQL 伺服器。

2、資料庫操作指令    
2.1 CREATE DATABASE school;    #建立名為 "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);    #建立 "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';    #建立新使用者。
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、優化和維護指令    
7.1 ANALYZE TABLE student;    #分析表以更新關鍵字分布和表的統計資訊。
7.2 CHECK TABLE student;    #檢查表的完整性和結構。
7.3 OPTIMIZE TABLE student;    #優化表以提高性能。
7.4 REPAIR TABLE student;    #修複損壞的表。
7.5 SHOW VARIABLES;    #顯示伺服器的系統變量。
7.6 SHOW STATUS;    #顯示伺服器的狀态資訊。
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;    #復原事務,撤銷未送出的修改。           

這些指令能滿足日常管理的工作,尤其在沒有可視化工具軟體的時候,直接在控制台操作,這些已經很完整。

繼續閱讀