教程 | MySQL 基本指令指南

时间:2025-02-11 10:19:54

此前已经发布了安装教程安装教程,现在让我们来学习一下MySQL的基本指令。

一、数据库连接与退出

  1. 连接本地数据库
mysql -uroot -p  # 输入后回车,按提示输入密码(密码输入不可见)

若需隐藏密码显示,可使用:

mysql -hlocalhost -uroot -proot  # 直接指定密码(不推荐,存在安全风险)
  1. 连接远程数据库
mysql -h192.168.1.100 -uroot -p123456  # IP地址、用户名、密码需替换为实际值
  1. 退出 MySQL
exit;  -- 或 quit;

二、数据库管理

  1. 查看所有数据库
SHOW DATABASES;  -- 显示当前服务器所有数据库 
  1. 创建数据库
CREATE DATABASE mydb;  -- 创建名为 mydb 的数据库 
CREATE DATABASE mydb2 DEFAULT CHARACTER SET utf8mb4;  -- 指定字符集 
  1. 选择/切换数据库
USE mydb;  -- 切换到 mydb 数据库 
  1. 删除数据库
DROP DATABASE mydb;  -- 谨慎操作!不可恢复 

三、表操作

  1. 查看当前数据库所有表
SHOW TABLES;  -- 显示当前库中所有表 
  1. 创建表
CREATE TABLE students (
    id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,  -- 主键自增
    name VARCHAR(20) NOT NULL,
    age TINYINT UNSIGNED,
    reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP  -- 自动记录时间
);  -- 创建含字段约束的表 
  1. 查看表结构
DESC students;  -- 显示 students 表的字段定义 
SHOW CREATE TABLE students;  -- 查看完整建表语句 
  1. 删除表
DROP TABLE students;  -- 删除表(不可逆操作) 

四、数据操作(增删改查)

  1. 插入数据
INSERT INTO students (name, age) VALUES ('张三', 20);  -- 插入单条数据 
INSERT INTO students (name, age) VALUES 
    ('李四', 22), 
    ('王五', 25);  -- 批量插入 
  1. 查询数据
SELECT * FROM students;  -- 查询所有字段 
SELECT name, age FROM students WHERE age > 20;  -- 条件查询 
SELECT name AS 姓名, age+1 AS 明年年龄 FROM students;  -- 别名与计算 
  1. 更新数据
UPDATE students SET age = 21 WHERE name = '张三';  -- 修改特定记录 
  1. 删除数据
DELETE FROM students WHERE id = 3;  -- 删除指定记录 
TRUNCATE TABLE students;  -- 清空表(快速,不记录日志) 

五、用户权限管理

  1. 创建用户并授权
CREATE USER 'test1'@'%' IDENTIFIED BY 'test1';  -- 创建远程用户 
GRANT SELECT, INSERT ON mydb.* TO 'test1'@'%';  -- 授予指定权限 
  1. 刷新权限
FLUSH PRIVILEGES;  -- 修改权限后需执行 

六、实用工具命令

  1. 查看 MySQL 版本
mysql -V  # 命令行查看(未登录时) 
SELECT VERSION();  -- 登录后查看 
  1. 数据备份与恢复
mysqldump -uroot -p mydb > backup.sql  # 备份数据库 
mysql -uroot -p mydb < backup.sql      # 恢复数据库 

七、注意事项

  1. 命令规范:

    • SQL 关键字建议大写(如 SELECT, INSERT
    • 每条命令以分号 ; 结尾
  2. 安全操作:

    • 生产环境慎用 DROPTRUNCATE
    • 重要操作前建议备份数据
  3. 性能优化:

    • 批量插入数据时,使用多值语法(VALUES (..), (..))提升效率
    • 频繁查询字段建议添加索引

以上指令覆盖 MySQL 基础操作核心场景,适用于日常开发与维护。更多高级功能(如事务、存储过程)可参考 。