菜鸟科技网

MySQL常见命令有哪些?

MySQL 是一款广泛使用的开源关系型数据库管理系统,掌握其常见命令是进行数据库操作的基础,以下将详细介绍 MySQL 的常用命令,涵盖登录、数据库操作、表操作、数据操作、用户权限管理等方面。

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

登录 MySQL 数据库是使用 MySQL 的第一步,通常通过 mysql -u 用户名 -p 命令实现,mysql -u root -p,执行后会提示输入密码,若要远程登录,可添加 -h 参数指定主机名,如 mysql -u root -p -h 192.168.1.100,登录成功后,会进入 MySQL 的命令行客户端,提示符为 mysql>

数据库操作方面,使用 SHOW DATABASES; 可以查看当前 MySQL 服务器中所有的数据库,创建数据库使用 CREATE DATABASE 数据库名 [CHARSET utf8mb4];CREATE DATABASE mydb DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;CHARSETCOLLATE 用于指定字符集和排序规则,避免乱码问题,删除数据库使用 DROP DATABASE 数据库名;,需谨慎操作,因为删除后数据无法恢复,选择当前操作的数据库通过 USE 数据库名;USE mydb;,之后的所有操作将针对该数据库。

表操作是数据库管理的核心,首先需通过 USE 数据库名; 进入目标数据库,查看当前数据库中的所有表使用 SHOW TABLES;,创建表的语法为 CREATE TABLE 表名 (字段名1 数据类型 [约束], 字段名2 数据类型 [约束], ...);,例如创建用户表 users,可执行:

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    email VARCHAR(100) UNIQUE,
    age INT DEFAULT 18,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

AUTO_INCREMENT 表示自增主键,PRIMARY KEY 定义主键约束,NOT NULL 表示字段不能为空,UNIQUE 表示字段值唯一,DEFAULT 设置默认值,TIMESTAMP 用于记录时间戳,删除表使用 DROP TABLE 表名;,若需判断表是否存在再删除,可添加 IF EXISTS 选项,如 DROP TABLE IF EXISTS users;,修改表结构使用 ALTER TABLE 命令,例如添加列:ALTER TABLE users ADD COLUMN phone VARCHAR(20);,修改列数据类型:ALTER TABLE users MODIFY COLUMN age SMALLINT;,删除列:ALTER TABLE users DROP COLUMN phone;,重命名表:RENAME TABLE users TO userinfo;

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

数据操作包括增删改查(CRUD),查询数据使用 SELECT 语句,基础语法为 SELECT 字段名列表 FROM 表名 [WHERE 条件] [LIMIT 数量];,例如查询所有用户:SELECT * FROM users;,查询指定字段:SELECT username, email FROM users;,带条件查询:SELECT * FROM users WHERE age > 20;,限制查询结果数量:SELECT * FROM users LIMIT 10;,插入数据使用 INSERT INTO 语句,单行插入:INSERT INTO users (username, email, age) VALUES ('张三', 'zhangsan@example.com', 25);,多行插入:INSERT INTO users (username, email, age) VALUES ('李四', 'lisi@example.com', 30), ('王五', 'wangwu@example.com', 28);,更新数据使用 UPDATE 语句,语法为 UPDATE 表名 SET 字段名1=新值1, 字段名2=新值2 [WHERE 条件];,例如修改用户年龄:UPDATE users SET age=26 WHERE username='张三';注意:若不添加 WHERE 条件,将更新整表数据,需谨慎使用,删除数据使用 DELETE 语句,语法为 DELETE FROM 表名 [WHERE 条件];,例如删除指定用户:DELETE FROM users WHERE username='王五';,同样,WHERE 条件不可省略,否则会清空表数据。

用户权限管理方面,创建用户使用 CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';CREATE USER 'dev'@'localhost' IDENTIFIED BY 'Dev123!';@'localhost' 表示该用户只能从本地登录, 表示可从任意主机远程登录,授权使用 GRANT 语句,语法为 GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';,例如授予 dev 用户对 mydb 数据库的所有权限:GRANT ALL PRIVILEGES ON mydb.* TO 'dev'@'localhost';,权限列表可以是 SELECT, INSERT, UPDATE, DELETE 等, 表示所有数据库的所有表,刷新权限使授权生效:FLUSH PRIVILEGES;,撤销权限使用 REVOKE 语句,例如撤销 dev 用户的删除权限:REVOKE DELETE ON mydb.* FROM 'dev'@'localhost';,删除用户使用 DROP USER '用户名'@'主机名';DROP USER 'dev'@'localhost';

还有一些实用命令,如查看当前数据库版本:SELECT VERSION();,查看当前使用的数据库:SELECT DATABASE();,查看表结构:DESC 表名;SHOW COLUMNS FROM 表名;,退出 MySQL 命令行:EXIT;QUIT;

相关问答 FAQs

MySQL常见命令有哪些?-图3
(图片来源网络,侵删)
  1. 问:如何修改 MySQL 用户的密码?
    :修改 MySQL 用户密码需使用 ALTER USERSET PASSWORD 命令,root 用户修改自身密码:ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';;其他用户或 root 用户修改其他用户密码:ALTER USER '用户名'@'主机名' IDENTIFIED BY '新密码';,执行后需运行 FLUSH PRIVILEGES; 刷新权限使密码生效,若忘记 root 密码,可通过跳过权限表的方式启动 MySQL 服务(如 mysqld_safe --skip-grant-tables),然后登录并修改密码,重启服务后恢复正常。

  2. 问:MySQL 中如何备份和恢复数据库?
    :备份数据库使用 mysqldump 命令,例如备份单个数据库:mysqldump -u 用户名 -p 数据库名 > 备份文件.sql,执行后会提示输入密码;备份所有数据库:mysqldump -u 用户名 -p --all-databases > all_backup.sql;备份指定表:mysqldump -u 用户名 -p 数据库名 表名1 表名2 > 表备份.sql,恢复数据库使用 mysql 命令,例如恢复单个数据库:mysql -u 用户名 -p 数据库名 < 备份文件.sql,需先创建目标数据库(若不存在);恢复时若备份文件包含创建数据库语句(如通过 mysqldump -u 用户名 -p 数据库名 --databases > 备份.sql 备份),可直接执行:mysql -u 用户名 -p < 备份文件.sql,无需提前创建数据库。

分享:
扫描分享到社交APP
上一篇
下一篇