超全MySQL常用命令汇总!新手入门&日常开发必备

17次阅读
没有评论

做开发、运维、数据分析,MySQL绝对是绕不开的核心工具。日常开发中,80%的数据库操作,其实只需要掌握20%的核心SQL命令。

今天整理一份MySQL高频常用命令大全,从连接登录、库表操作、数据增删改查,到索引、权限、运维常用指令全覆盖,内容干货无废话,收藏这一篇,日常开发、面试刷题足够用!

所有命令均适配MySQL5.7/8.0版本,可直接复制实操,新手友好,老手可当速查手册~


一、基础连接与服务操作(入门必会)

这是操作MySQL的第一步,本地/远程连接数据库,以及基础服务启停命令。

1. 登录MySQL

# 本地登录(默认端口3306)
mysql -u用户名 -p密码
# 示例:root用户登录
mysql -uroot -p

# 远程登录(指定IP和端口)
mysql -h192.168.1.100 -P3306 -uroot -p

💡 小贴士:-p 后可以不写密码,回车后手动输入,更安全,避免密码明文暴露。

2. 基础退出与状态命令

# 退出数据库
exit;
quit;

# 查看MySQL版本
select version();

# 查看当前登录用户
select user();

# 查看当前使用的数据库
select database();

二、数据库操作命令(库级操作)

针对整个数据库的创建、查看、选择、删除、修改编码,日常项目搭建高频使用。

# 查看所有数据库
show databases;

# 创建数据库(指定编码utf8mb4,支持emoji表情,推荐!)
create database 数据库名 default character set utf8mb4 collate utf8mb4_unicode_ci;
# 示例
create database test_db default character set utf8mb4 collate utf8mb4_unicode_ci;

# 选择/切换数据库
use 数据库名;
use test_db;

# 查看数据库编码
show create database 数据库名;

# 修改数据库编码
alter database 数据库名 default character set utf8mb4 collate utf8mb4_unicode_ci;

# 删除数据库(谨慎操作!不可恢复)
drop database 数据库名;

三、数据表操作命令(表级操作)

数据表是数据存储的核心,掌握建表、查表、改表、删表是基础核心能力。

1. 基础表操作

# 查看当前库所有数据表
show tables;

# 查看表结构(字段、类型、约束)
desc 表名;
describe 表名;

# 查看建表语句
show create table 表名;

# 删除数据表(清空表结构+数据,谨慎操作)
drop table 表名;

2. 建表语句(标准模板)

包含主键、自增、非空、默认值、时间戳等常用约束,开发通用模板:

create table user(
    id int primary key auto_increment comment '主键ID',
    username varchar(50) not null comment '用户名',
    password varchar(100) not null comment '密码',
    phone varchar(11) unique comment '手机号',
    age int default 18 comment '年龄',
    create_time datetime default current_timestamp comment '创建时间',
    update_time datetime default current_timestamp on update current_timestamp comment '更新时间'
) engine=InnoDB default charset=utf8mb4 comment '用户表';

3. 修改表结构

# 添加字段
alter table 表名 add 字段名 字段类型 约束;
alter table user add email varchar(100) comment '邮箱';

# 修改字段类型/约束
alter table 表名 modify 字段名 新类型 新约束;
alter table user modify age tinyint default 18;

# 重命名字段
alter table 表名 rename column 旧字段名 to 新字段名;

# 删除字段
alter table 表名 drop column 字段名;

# 修改表名
rename table 旧表名 to 新表名;

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

CRUD是日常使用频率最高的命令,90%的业务代码都在执行这四类操作,务必熟练掌握。

1. 新增数据(Insert)

# 单条插入
insert into 表名(字段1,字段2) values(值1,值2);
insert into user(username,password,phone) values('张三','123456','13800138000');

# 批量插入(高效推荐)
insert into user(username,password) 
values('李四','123456'),('王五','654321');

2. 查询数据(Select)——重中之重

# 查询所有数据
select * from 表名;

# 查询指定字段
select username,phone from user;

# 条件查询(where)
select * from user where age > 18 and username='张三';

# 模糊查询
select * from user where username like '%张%';

# 去重查询
select distinct username from user;

# 排序查询(asc升序,desc降序)
select * from user order by create_time desc;

# 分页查询(limit 起始下标,条数)
select * from user limit 0,10;

# 聚合查询(count/sum/max/min/avg)
select count(*) from user; -- 统计总数
select max(age) from user;  -- 最大年龄

# 分组查询
select age,count(*) from user group by age;

3. 修改数据(Update)

⚠️ 务必加where条件!否则会更新全表数据

update 表名 set 字段1=新值,字段2=新值 where 条件;
update user set age=20 where username='张三';

4. 删除数据(Delete)

⚠️ 同样必须加where条件,避免清空全表

# 删除指定数据
delete from user where id=1;

# 清空表数据(不删除表结构,自增主键不重置)
delete from user;

# 清空表数据(重置自增主键,速度更快)
truncate table user;

五、索引常用命令(优化必备)

索引是数据库优化的核心,合理建索引能大幅提升查询速度,日常优化高频使用:

# 查看表索引
show index from 表名;

# 创建普通索引
create index 索引名 on 表名(字段名);
create index idx_user_name on user(username);

# 创建唯一索引
create unique index idx_user_phone on user(phone);

# 删除索引
alter table 表名 drop index 索引名;

六、用户与权限管理(运维常用)

多用户、多项目场景下,需要创建账号、分配/回收数据库权限:

# 创建用户(支持指定IP登录)
create user '用户名'@'登录地址' identified by '密码';
create user 'test'@'localhost' identified by '123456'; -- 仅本地登录
create user 'test'@'%' identified by '123456'; -- 任意IP登录

# 授予全部权限
grant all privileges on *.* to 'test'@'%';

# 授予指定数据库权限
grant select,insert,update on test_db.* to 'test'@'%';

# 刷新权限(修改权限后必须执行)
flush privileges;

# 删除用户
drop user 'test'@'%';

七、数据备份与恢复(生产必备)

生产环境核心操作,防止数据丢失,命令行直接执行(无需进入mysql终端):

# 备份单个数据库
mysqldump -uroot -p 数据库名 > 备份文件路径.sql
mysqldump -uroot -p test_db > /data/test_db_backup.sql

# 恢复数据库
mysql -uroot -p 数据库名 < 备份文件路径.sql
mysql -uroot -p test_db < /data/test_db_backup.sql

八、新手避坑重要贴士

  1. 删改必加where:update、delete操作不加条件,会直接操作全表,生产环境极易翻车;
  2. 优先使用utf8mb4编码:代替老旧的utf8,支持所有汉字和emoji表情,避免乱码;
  3. 禁用select *:生产查询尽量指定字段,减少IO消耗,提升查询效率;
  4. 关键操作先备份:删库、改表结构、批量改数据前,务必先备份数据;
  5. 区分delete与truncate:delete可回滚,truncate清空更快、重置自增,不可回滚,谨慎使用。

总结

MySQL命令看似繁多,但日常开发真正高频使用的就是以上内容。从库表操作、CRUD核心语法,到索引优化、权限运维、数据备份,这套命令清单完全能满足日常开发、面试、运维的基本需求。

建议收藏保存,平时开发忘记命令直接对照速查,多敲多练,很快就能熟练掌握!

正文完
可以使用微信扫码关注公众号(ID:xzluomor)
post-qrcode
 0
评论(没有评论)
验证码