菜鸟科技网

MySQL常用命令有哪些?

MySQL作为最受欢迎的开源关系型数据库管理系统之一,其常用命令是数据库管理和开发的基础,掌握这些命令能够高效地进行数据库操作、数据管理和系统维护,以下从数据库连接、数据操作、表管理、用户权限和系统维护五个维度,详细梳理MySQL常用命令集。

MySQL常用命令有哪些?-图1
(图片来源网络,侵删)

数据库连接与退出
连接MySQL服务器需使用mysql命令,可通过-u指定用户名,-p输入密码,-h指定主机地址,-P指定端口号。mysql -u root -p -h 127.0.0.1 -P 3306,连接成功后,可通过exitquit退出,或使用\q快捷命令,若需连接特定数据库,可在命令后直接添加数据库名,如mysql -u root -p mydb

数据操作(CRUD)
数据操作是MySQL的核心功能,主要包括增删改查(CRUD)。

  • 查询(SELECT):基础语法为SELECT 列名 FROM 表名 WHERE 条件SELECT * FROM users WHERE age > 18; 可查询users表中年龄大于18的所有记录;SELECT name, email FROM users; 仅查询姓名和邮箱字段。
  • 插入(INSERT):使用INSERT INTO 表名 (列1, 列2) VALUES (值1, 值2)INSERT INTO users (name, age) VALUES ('张三', 25);users表插入一条新记录。
  • 更新(UPDATE):通过UPDATE 表名 SET 列名=新值 WHERE 条件修改数据。UPDATE users SET age=26 WHERE name='张三'; 将张三的年龄更新为26。
  • 删除(DELETE):使用DELETE FROM 表名 WHERE 条件删除记录,如DELETE FROM users WHERE name='张三';,需注意,无WHERE条件时会删除整表数据,建议先用SELECT确认条件。

表管理命令
表是数据库的数据载体,常用命令包括创建、修改和删除表结构。

  • 创建表(CREATE TABLE):语法为CREATE TABLE 表名 (列名 数据类型, 列名 数据类型);CREATE TABLE products (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), price DECIMAL(10,2)); 创建包含自增主键的products表。
  • 修改表(ALTER TABLE):可添加列、修改列类型或删除列,如ALTER TABLE products ADD COLUMN stock INT; 添加库存字段,ALTER TABLE products MODIFY name VARCHAR(200); 修改姓名字段长度。
  • 删除表(DROP TABLE):使用DROP TABLE 表名删除表,如DROP TABLE products;,操作不可逆,需谨慎使用。

用户与权限管理
MySQL通过用户和权限控制数据访问安全。

MySQL常用命令有哪些?-图2
(图片来源网络,侵删)
  • 创建用户CREATE USER '用户名'@'主机' IDENTIFIED BY '密码';,例如CREATE USER 'admin'@'localhost' IDENTIFIED BY '123456';
  • 授权:使用GRANT 权限 ON 数据库.表 TO '用户名'@'主机';,如GRANT SELECT, INSERT ON mydb.* TO 'admin'@'localhost'; 授予admin用户对mydb库的查询和插入权限。
  • 刷新权限FLUSH PRIVILEGES; 使权限更改生效。
  • 撤销权限REVOKE 权限 ON 数据库.表 FROM '用户名'@'主机';,如REVOKE DELETE ON mydb.* FROM 'admin'@'localhost';

系统维护命令
定期维护可保障数据库性能和稳定性。

  • 备份与恢复:使用mysqldump工具备份数据库,如mysqldump -u root -p mydb > backup.sql 备份mydb库;恢复时可通过mysql -u root -p mydb < backup.sql 导入SQL文件。
  • 查看状态SHOW STATUS; 显示服务器状态,SHOW PROCESSLIST; 查看当前进程,SHOW VARIABLES; 查看系统变量。
  • 优化表OPTIMIZE TABLE 表名; 可回收碎片空间,提升查询效率,适用于频繁更新的表。

相关问答FAQs

  1. 如何查看MySQL中所有数据库?
    使用命令SHOW DATABASES;可列出服务器中所有数据库的名称,若需查看当前数据库,可执行SELECT DATABASE();

  2. 忘记MySQL root密码如何重置?
    首先停止MySQL服务(Linux下使用systemctl stop mysql,Windows通过服务管理器停止),然后以跳过权限表的方式启动MySQL:mysqld_safe --skip-grant-tables &(Linux)或mysqld --skip-grant-tables(Windows),接着使用mysql -u root直接登录,执行UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root'; 更新密码,最后执行FLUSH PRIVILEGES; 并重启MySQL服务。

    MySQL常用命令有哪些?-图3
    (图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇