MySQL常用命令技术文章大纲
数据库操作
- 创建数据库
CREATE DATABASE database_name;- 删除数据库
DROP DATABASE database_name;- 查看所有数据库
SHOW DATABASES;- 使用数据库
USE database_name;表操作
创建表
sqlCREATE TABLE table_name ( column1 datatype constraints, column2 datatype constraints, ... );删除表
DROP TABLE table_name;查看表结构
DESCRIBE table_name;或SHOW COLUMNS FROM table_name;修改表结构
sqlALTER TABLE table_name ADD column_name datatype;重命名表
RENAME TABLE old_name TO new_name;数据操作
插入数据
sqlINSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);查询数据
SELECT * FROM table_name;更新数据
sqlUPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;删除数据
DELETE FROM table_name WHERE condition;索引操作
- 创建索引
CREATE INDEX index_name ON table_name (column_name);- 删除索引
DROP INDEX index_name ON table_name;用户与权限管理
创建用户
CREATE USER 'username'@'host' IDENTIFIED BY 'password';授予权限
sqlGRANT permission_type ON database_name.table_name TO 'username'@'host';撤销权限
sqlREVOKE permission_type ON database_name.table_name FROM 'username'@'host';删除用户
DROP USER 'username'@'host';备份与恢复
- 导出数据库
mysqldump -u username -p database_name > backup.sql- 导入数据库
mysql -u username -p database_name < backup.sql事务与锁
- 开启事务
START TRANSACTION;- 提交事务
COMMIT;- 回滚事务
ROLLBACK;性能优化
- 查看执行计划
EXPLAIN SELECT * FROM table_name;- 优化表
OPTIMIZE TABLE table_name;联表查询的基本概念
联表查询(Join)用于从多个表中组合数据,基于表之间的关联字段。常见的联表类型包括内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)和全连接(FULL JOIN)。
内连接(INNER JOIN)
内连接返回两个表中匹配的行。语法示例:
sqlSELECT A.column1, B.column2 FROM TableA A INNER JOIN TableB B ON A.key = B.key;仅返回
TableA和TableB中key字段匹配的行。左连接(LEFT JOIN)
左连接返回左表的所有行,即使右表没有匹配。右表无匹配时填充
NULL。语法示例:
sqlSELECT A.column1, B.column2 FROM TableA A LEFT JOIN TableB B ON A.key = B.key;右连接(RIGHT JOIN)
右连接返回右表的所有行,即使左表没有匹配。左表无匹配时填充
NULL。语法示例:
sqlSELECT A.column1, B.column2 FROM TableA A RIGHT JOIN TableB B ON A.key = B.key;全连接(FULL JOIN)
全连接返回左右表的所有行,无匹配时填充
NULL。语法示例:
sqlSELECT A.column1, B.column2 FROM TableA A FULL JOIN TableB B ON A.key = B.key;自连接(Self Join)
自连接是表与自身的连接,通常用于层级数据查询。语法示例:
sqlSELECT A.column1, B.column2 FROM Table A, Table B WHERE A.key = B.foreign_key;多表连接
可以连接多个表,语法示例:
sqlSELECT A.column1, B.column2, C.column3 FROM TableA A INNER JOIN TableB B ON A.key = B.key INNER JOIN TableC C ON B.key = C.key;性能优化建议
- 为连接字段创建索引。
- 避免不必要的联表,仅选择需要的字段。
- 使用
EXPLAIN分析查询执行计划。联表查询是数据库操作的核心功能,合理使用能高效整合多表数据。
- 查看MySQL版本
SELECT VERSION();- 查看当前用户
SELECT USER();- 查看当前时间
SELECT NOW();
mysql常用语句
Goat恶霸詹姆斯2026-02-08 20:28
相关推荐
jiayou645 小时前
KingbaseES 实战:深度解析数据库对象访问权限管理于眠牧北6 小时前
MySQL的锁类型,表锁,行锁,MVCC中所使用的临键锁李广坤1 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)Turnip12022 天前
深度解析:为什么简单的数据库"写操作"会在 MySQL 中卡住?爱可生开源社区2 天前
2026 年,优秀的 DBA 需要具备哪些素质?随逸1772 天前
《从零搭建NestJS项目》加号33 天前
windows系统下mysql多源数据库同步部署シ風箏3 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)李慕婉学姐3 天前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。百锦再3 天前
Django实现接口token检测的实现方案