导读:本期聚焦于小伙伴创作的《MySQL常用SQL命令大全:从入门到精通,覆盖数据库管理与查询操作》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《MySQL常用SQL命令大全:从入门到精通,覆盖数据库管理与查询操作》有用,将其分享出去将是对创作者最好的鼓励。

MySql常用SQL命令详解

MySQL是目前最流行的开源关系型数据库管理系统之一,熟练掌握SQL命令是进行数据库开发与维护的基础。本文将详细介绍MySQL中最常用的SQL命令,涵盖数据库操作、数据表操作、数据增删改查以及多表联合查询等核心内容,帮助开发者快速查阅与使用。

一、数据库操作

在操作数据表之前,首先需要学会如何管理数据库本身,包括创建、查看、切换和删除数据库。

-- 创建数据库(指定字符集为utf8mb4,支持完整的Unicode字符,如emoji)
CREATE DATABASE mydb DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

-- 查看所有数据库
SHOW DATABASES;

-- 切换/选择当前使用的数据库
USE mydb;

-- 删除数据库(谨慎操作,数据将不可恢复)
DROP DATABASE IF EXISTS mydb;

二、数据表操作

数据表是存储数据的核心载体。定义良好的表结构是保证数据完整性和查询效率的前提。

-- 创建数据表
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY COMMENT '用户ID',
    username VARCHAR(50) NOT NULL COMMENT '用户名',
    age TINYINT UNSIGNED COMMENT '年龄',
    email VARCHAR(100) COMMENT '邮箱地址',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- 查看当前数据库所有表
SHOW TABLES;

-- 查看表结构
DESC users;

-- 添加字段
ALTER TABLE users ADD COLUMN phone VARCHAR(20) COMMENT '手机号' AFTER email;

-- 修改字段类型或名称
ALTER TABLE users MODIFY COLUMN age SMALLINT UNSIGNED COMMENT '年龄';

-- 删除字段
ALTER TABLE users DROP COLUMN phone;

-- 删除数据表
DROP TABLE IF EXISTS users;

三、数据操作语言(DML)

DML主要用于对表中的数据进行增删改操作,是日常业务开发中最常用的命令。

-- 插入单条数据
INSERT INTO users (username, age, email) VALUES ('Alice', 25, 'alice@ipipp.com');

-- 插入多条数据
INSERT INTO users (username, age, email) VALUES 
('Bob', 30, 'bob@example.com'),
('Charlie', 35, 'charlie@example.com');

-- 更新数据(注意:一定要带上WHERE条件,否则会更新全表)
UPDATE users SET age = 26, email = 'new_alice@ipipp.com' WHERE username = 'Alice';

-- 条件更新(年龄大于20的用户年龄加1,大于号需转义为 >)
UPDATE users SET age = age + 1 WHERE age > 20;

-- 删除数据(同样需要WHERE条件限制)
DELETE FROM users WHERE id = 2;

-- 清空整表数据(重置自增ID,比DELETE效率高)
TRUNCATE TABLE users;

四、数据查询语言(DQL)

查询是SQL中最灵活、功能最丰富的部分,掌握各种查询子句是数据分析与业务开发的关键。

-- 基础查询所有字段
SELECT * FROM users;

-- 条件查询(小于号需转义为 <)
SELECT username, age FROM users WHERE age < 30 AND email IS NOT NULL;

-- 模糊查询(%代表任意多个字符,_代表单个字符)
SELECT * FROM users WHERE username LIKE '%li%';

-- 去重查询
SELECT DISTINCT age FROM users;

-- 排序查询(ASC升序,DESC降序)
SELECT * FROM users ORDER BY age DESC, username ASC;

-- 分组统计
SELECT age, COUNT(*) AS user_count FROM users GROUP BY age HAVING user_count > 1;

-- 分页查询(LIMIT偏移量, 数量。查询第2页,每页10条)
SELECT * FROM users LIMIT 10, 10;

五、多表联合查询

在实际业务中,数据往往分散在不同的表中,通过JOIN命令可以将多个表的数据关联起来。

-- 假设存在订单表 orders (id, user_id, amount, order_no)

-- 内连接(只返回两表中匹配的记录)
SELECT u.username, o.order_no, o.amount 
FROM users u 
INNER JOIN orders o ON u.id = o.user_id;

-- 左连接(返回左表所有记录,右表无匹配则为NULL)
SELECT u.username, o.order_no 
FROM users u 
LEFT JOIN orders o ON u.id = o.user_id;

-- 右连接(返回右表所有记录,左表无匹配则为NULL)
SELECT u.username, o.order_no 
FROM users u 
RIGHT JOIN orders o ON u.id = o.user_id;

-- 多表联查带条件(金额大于100的订单,大于号转义为 >)
SELECT u.username, o.order_no 
FROM users u 
INNER JOIN orders o ON u.id = o.user_id 
WHERE o.amount > 100;

六、常用工具与备份命令

除了在SQL交互界面内操作的命令,日常运维还需要掌握数据库的连接、导入导出等终端命令。

# 连接到远程演示数据库(第三方演示网址已替换为指定域名)
mysql -h www.ipipp.com -u root -p

# 导出整个数据库到SQL文件(大于号重定向需转义为 >)
mysqldump -u root -p mydb > mydb_backup.sql

# 仅导出表结构
mysqldump -u root -p --no-data mydb > mydb_schema.sql

# 导入SQL文件到数据库(小于号重定向需转义为 <)
mysql -u root -p mydb < mydb_backup.sql

结语

本文整理的MySQL命令覆盖了从库表管理到数据增删改查的常用场景。对于开发者而言,SQL不仅是一门语言,更是一种与数据对话的艺术。建议在理解语法的基础上,多结合实际业务表结构进行练习,特别是在书写UPDATEDELETE语句时,务必养成先写WHERE条件再执行的习惯,避免误操作带来灾难性后果。

MySQL常用命令SQL语句大全数据库管理多表联合查询数据备份恢复

免责声明:已尽一切努力确保本网站所含信息的准确性。网站部分内容来源于网络或由用户自行发表,内容观点不代表本站立场。本站是个人网站免费分享,内容仅供个人学习、研究或参考使用,如内容中引用了第三方作品,其版权归原作者所有。若内容触犯了您的权益,请联系我们进行处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。前端、网络、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握网站开发与运维所需的核心技术栈。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端逻辑,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。