学习不仅需要投入时间和成本,更重要的是通过大量实践来达到精通的境界。在日常工作和学习中,我们需要掌握的技能繁多,因此,首先应该掌握常用技能,再选择一个感兴趣的领域进行深入学习,从而在保证时间效益的同时,平衡工作与生活。
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; #回滚事务,撤销未提交的修改。这些命令能满足日常管理的工作,尤其在没有可视化工具软件的时候,直接在控制台操作,这些已经很完整。