MySQL - 常用的命令

当涉及到具体的数据库操作时,我会给出实际的示例,以更清楚地说明每个命令的用法。

创建数据库:

sql 复制代码
CREATE DATABASE students;

列出数据库:

sql 复制代码
SHOW DATABASES;

使用数据库:

sql 复制代码
USE students;

创建表:

sql 复制代码
CREATE TABLE student_info (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    age INT,
    gender ENUM('男', '女', '未知'),
    course VARCHAR(50)
);

列出表:

sql 复制代码
SHOW TABLES;

列出表的属性:

sql 复制代码
SHOW COLUMNS FROM student_info;

列出数据表的详细索引信息:

sql 复制代码
SHOW INDEX FROM student_info;

显示数据库test中所有表的信息:

sql 复制代码
SHOW TABLE STATUS FROM test;

显示表名包含test的:

sql 复制代码
SHOW TABLE STATUS FROM test LIKE '%test%';

插入数据:

sql 复制代码
INSERT INTO student_info (id, name, age, gender, course) VALUES
(1, '张三男', 21, '男', '数学'),
(2, '张三女', 22, '女', '语文'),
(3, '李四未知', 20, '未知', '英语');

查询数据:

sql 复制代码
SELECT * FROM student_info;

更新数据:

sql 复制代码
UPDATE student_info SET course = '语文' WHERE id = 1;

删除数据:

sql 复制代码
DELETE FROM student_info WHERE id = 3;

条件查询:

sql 复制代码
SELECT * FROM student_info WHERE age > 20 AND gender = '男';

排序:

sql 复制代码
SELECT * FROM student_info ORDER BY age DESC;

聚合函数:

sql 复制代码
SELECT COUNT(*) AS total_students FROM student_info;
SELECT AVG(age) AS avg_age FROM student_info;
SELECT SUM(age) AS total_age FROM student_info;

连接查询:

sql 复制代码
SELECT student_info.name, student_courses.course_name
FROM student_info
JOIN student_courses ON student_info.course = student_courses.course_name;

假设我们有一个名为"student_courses"的表,它保存课程信息,结构如下:

sql 复制代码
CREATE TABLE student_courses (
    course_id INT PRIMARY KEY,
    course_name VARCHAR(50)
);

并且表中的数据如下:

sql 复制代码
INSERT INTO student_courses (course_id, course_name) VALUES
(1, '数学'),
(2, '语文'),
(3, '英语');
相关推荐
渣波20 小时前
拒绝 SQL 焦虑!手把手带你用 NestJS + Prisma + DTO 写出“防弹”级后端代码
javascript·数据库·后端
Jim6002 天前
【吃透 MySQL InnoDB连载】第 1 章・解密线上数据库高频故障
mysql
GreatSQL2 天前
gt-checksum v4.0.0 新功能解读系列文章(4):SSL 加密连接——数据校验传输安全再升级
mysql
倔强的石头_2 天前
KingbaseES 新版MySQL 兼容版体验:旧版迁移 + 功能实测
数据库
倔强的石头_5 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
云技纵横5 天前
唯一索引 INSERT 死锁实战:5 秒复现交叉插入的 S 锁循环等待
sql·mysql
沉默王二5 天前
面试官:RAG 不用向量数据库,用 MySQL 硬扛?我:100 万向量不是很轻松?
mysql·面试·ai编程
冬奇Lab5 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm
小猿姐5 天前
MySQL Top 10 热点问题 AI 运维实战:从内核诊断到云原生运维
mysql·云原生·aiops