百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

数据库工程师必学的 100 个数据库命令(全栈实操版)

wptr33 2025-07-24 22:29 21 浏览

覆盖系统:MySQL / PostgreSQL / Oracle / SQL Server

适合人群:DBA、后端工程师、数据分析工程师

涉及技能:数据定义、数据操作、安全权限、性能调优、备份恢复、监控脚本等





一、数据库基础操作(15 个)


命令

说明

示例

1 SHOW DATABASES;

查看所有数据库(MySQL)

SHOW DATABASES;

2 CREATE DATABASE dbname;

创建数据库

CREATE DATABASE testdb;

3 DROP DATABASE dbname;

删除数据库

DROP DATABASE testdb;

4 USE dbname;

切换数据库

USE testdb;

5 \c dbname

PostgreSQL 切换库

\c mydb

6 \l

PostgreSQL 查看所有库

\l

7 SELECT DATABASE();

查看当前库

SELECT DATABASE();

8 CREATE SCHEMA schema_name;

创建 Schema(PostgreSQL/Oracle)

CREATE SCHEMA finance;

9 DROP SCHEMA schema_name;

删除 Schema

DROP SCHEMA finance CASCADE;

ALTER DATABASE dbname ...

修改字符集/排序规则等

ALTER DATABASE testdb CHARACTER SET utf8mb4;

11 SHOW CREATE DATABASE dbname;

查看建库语句

SHOW CREATE DATABASE testdb;

12 SELECT @@version;

查看数据库版本

SELECT @@version;

13 SELECT current_user;

查看当前用户

SELECT current_user;

14 \dt

PostgreSQL 查看所有表

\dt

15 SHOW TABLES;

MySQL 查看所有表

SHOW TABLES;





二、表结构操作命令(15 个)


命令

说明

示例

1 CREATE TABLE

创建表

CREATE TABLE users (id INT, name VARCHAR(100));

2 DROP TABLE

删除表

DROP TABLE users;

3 ALTER TABLE ... ADD

添加列

ALTER TABLE users ADD email VARCHAR(255);

4 ALTER TABLE ... DROP COLUMN

删除列

ALTER TABLE users DROP COLUMN email;

5 ALTER TABLE ... RENAME TO

重命名表

ALTER TABLE users RENAME TO customers;

6 ALTER TABLE ... MODIFY

修改字段类型

ALTER TABLE users MODIFY name VARCHAR(200);

7 RENAME TABLE

重命名(MySQL)

RENAME TABLE users TO customers;

8 DESC tablename;

查看表结构(MySQL)

DESC users;

9 \d tablename

查看表结构(PostgreSQL)

\d users

SHOW COLUMNS FROM table;

查看字段

SHOW COLUMNS FROM users;

11 TRUNCATE TABLE

清空表数据

TRUNCATE TABLE users;

12 CREATE TABLE LIKE

克隆表结构

CREATE TABLE new_users LIKE users;

13 COMMENT ON COLUMN

添加字段注释

COMMENT ON COLUMN users.name IS '用户姓名';

14 ALTER TABLE ... ADD PRIMARY KEY

设置主键

ALTER TABLE users ADD PRIMARY KEY (id);

15 ALTER TABLE ... ADD INDEX

添加索引

ALTER TABLE users ADD INDEX idx_name(name);





三、数据操作命令(DML)- 15 个


命令

用法

示例

1 INSERT INTO

插入数据

INSERT INTO users VALUES (1, '张三');

2 INSERT IGNORE

忽略重复插入

INSERT IGNORE INTO users VALUES ...

3 INSERT ... ON DUPLICATE KEY

有则更新

INSERT INTO users (id,name) VALUES (1,'张三') ON DUPLICATE KEY UPDATE name='李四';

4 SELECT * FROM table;

查询全部数据

SELECT * FROM users;

5 SELECT ... WHERE

条件查询

SELECT * FROM users WHERE id=1;

6 SELECT COUNT(*)

统计行数

SELECT COUNT(*) FROM users;

7 UPDATE table SET ... WHERE ...

更新数据

UPDATE users SET name='李四' WHERE id=1;

8 DELETE FROM

删除数据

DELETE FROM users WHERE id=1;

9 LIMIT

限制返回行数

SELECT * FROM users LIMIT 10;

ORDER BY

排序

SELECT * FROM users ORDER BY name ASC;

11 GROUP BY

分组聚合

SELECT dept, COUNT(*) FROM emp GROUP BY dept;

12 HAVING

分组条件

... GROUP BY dept HAVING COUNT(*) > 3;

13 DISTINCT

去重

SELECT DISTINCT name FROM users;

14 IN

匹配集合

SELECT * FROM users WHERE id IN (1,2,3);

15 BETWEEN

区间匹配

SELECT * FROM users WHERE age BETWEEN 20 AND 30;





四、安全与权限命令(10 个)


命令

功能

示例

1 CREATE USER

创建用户

CREATE USER 'dev'@'localhost' IDENTIFIED BY '123456';

2 GRANT

授权

GRANT SELECT, INSERT ON testdb.* TO 'dev'@'localhost';

3 REVOKE

撤权

REVOKE INSERT ON testdb.* FROM 'dev'@'localhost';

4 DROP USER

删除用户

DROP USER 'dev'@'localhost';

5 ALTER USER

修改密码

ALTER USER 'dev'@'localhost' IDENTIFIED BY 'newpass';

6 SHOW GRANTS

查看权限

SHOW GRANTS FOR 'dev'@'localhost';

7 FLUSH PRIVILEGES

刷新权限(MySQL)

FLUSH PRIVILEGES;

8 SET ROLE

切换角色(PostgreSQL/Oracle)

SET ROLE readonly;

9 CREATE ROLE

创建角色

CREATE ROLE admin;

GRANT role TO user

分配角色

GRANT admin TO dev;





五、索引与性能优化命令(10 个)


命令

功能

示例

1 CREATE INDEX

添加索引

CREATE INDEX idx_name ON users(name);

2 DROP INDEX

删除索引

DROP INDEX idx_name ON users;

3 SHOW INDEX

查看索引

SHOW INDEX FROM users;

4 EXPLAIN SELECT

查询执行计划

EXPLAIN SELECT * FROM users WHERE name='张三';

5 ANALYZE TABLE

分析表

ANALYZE TABLE users;

6 OPTIMIZE TABLE

表优化(MySQL)

OPTIMIZE TABLE users;

7 VACUUM

清理垃圾行(PostgreSQL)

VACUUM FULL users;

8 CLUSTER

聚簇排序(PostgreSQL)

CLUSTER users USING idx_name;

9 SET STATISTICS

设置统计粒度

ALTER TABLE users ALTER COLUMN name SET STATISTICS 1000;

SHOW PROCESSLIST

查看慢查询线程

SHOW FULL PROCESSLIST;





六、备份与恢复命令(10 个)


命令

功能

示例

1 mysqldump

MySQL 备份

mysqldump -u root -p testdb > backup.sql

2 mysql <

MySQL 恢复

mysql -u root -p testdb < backup.sql

3 pg_dump

PostgreSQL 备份

pg_dump -U postgres testdb > backup.sql

4 psql <

PostgreSQL 恢复

psql -U postgres testdb < backup.sql

5 exp / imp

Oracle 旧版备份/恢复工具

exp user/pass tables=emp file=emp.dmp

6 expdp / impdp

Oracle 数据泵

expdp user/pass schemas=HR directory=dir dumpfile=hr.dmp

7 BACKUP DATABASE

SQL Server 备份

BACKUP DATABASE testdb TO DISK = 'D:\backup.bak';

8 RESTORE DATABASE

SQL Server 恢复

RESTORE DATABASE testdb FROM DISK = 'D:\backup.bak';

9 binlog 备份

MySQL 二进制日志

mysqlbinlog binlog.000001 > log.sql

SELECT * INTO OUTFILE

导出 CSV

SELECT * FROM users INTO OUTFILE '/tmp/users.csv';





七、统计与监控命令(10 个)


命令

用途

示例

1 SHOW STATUS

MySQL 状态变量

SHOW STATUS LIKE 'Threads%';

2 SHOW VARIABLES

查看配置项

SHOW VARIABLES LIKE 'max_connections';

3 SELECT * FROM pg_stat_activity;

PostgreSQL 连接监控

SELECT * FROM pg_stat_activity;

4 SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;

查询活动连接

...WHERE TIME > 60;

5 SHOW ENGINE INNODB STATUS;

InnoDB 状态

死锁排查

6 SELECT * FROM pg_locks;

PostgreSQL 锁情况

查看阻塞

7 SELECT * FROM V$SESSION;

Oracle 会话监控

WHERE STATUS = 'ACTIVE';

8 SHOW FULL PROCESSLIST;

查看慢查询线程

MySQL

9 SET profiling=1;

开启查询性能分析

SHOW PROFILES;

SHOW TABLE STATUS;

表存储信息

包括行数、大小、索引等

相关推荐

Python字符串终极指南!单引号、双引号、三引号区别全解析

导语:Python中字符串(str)是最核心的数据类型!无论你是输出"HelloWorld"还是处理用户数据,都离不开它。今天彻底讲清字符串的三大定义方式及其核心区别,新手必看!...

python 字符串的定义和表示_python字符串的用法

在Python中,字符串是一序列字符的集合。定义一个字符串可以使用单引号或双引号括起来的字符序列。...

简单的python-熟悉字符串相关的操作

str.py:#-*-coding:utf-8-*-#测试函数deff():#字符串使用单引号定义s1='test'print(s...

Python初学者:3招搞定长字符串逐行读取,代码超简单

刚学Python的小伙伴,是不是遇到过这种尴尬情况?拿到一段老长的多行字符串——比如从文档里复制的日志、一段带换行的文章,想一行一行处理,如果直接打印全堆在一起,手动切又怕漏行,咋整啊?别慌!今天就给...

Python 字符串_python字符串型怎么表达

除了数字,Python还可以操作字符串。字符串的形式是单引号('......')双引号(''.........'')或三个单引号(''&...

贴身口语第二关:请求帮忙、道歉、指路、接受礼物

02-@askforhelp请求协助1.F:Excuseme.Canyouhelpme?M:Yes,whatcanIdoforyou?...

NBA赛季盘点之九大装逼&amp;炫技时刻:“歪嘴战神”希罗领衔

欢迎大家来到直播吧NBA赛季盘点,历经许多波折,2019-20赛季耗时整整一年才圆满收官。魔幻的一年里有太多的时刻值得我们去铭记,赛场上更是不乏球员们炫技与宣泄情绪的装逼时刻,本期盘点就让我们来回顾一...

一手TTS-2语音合成模型安装教程及实际使用

语音合成正从云端调用走向本地部署,TTS-2模型作为开源语音生成方案之一,正在被越来越多开发者尝试落地。本篇文章从环境配置到推理调用,详尽拆解TTS-2的安装流程与使用技巧,为语音产品开发者提供...

网友晒出身边的巨人 普通人站一旁秒变“霍比特人”

当巨人遇到霍比特人,结果就是“最萌身高差”。近日网友们晒出了身边的巨人,和他们站在一起,普通人都变成了“霍比特人”。CanYouTellWho'sRelated?TheDutchGiant...

分手后我们还能做朋友吗?_分手后我们还能做朋友吗

Fewrelationshipquestionsareaspolarizingaswhetherornotyoushouldstayfriendswithanex.A...

如何用C语言实现Shellcode Loader

0x01前言之前github找了一个基于go的loader,生成后文件大小6M多,而且细节不够了解,一旦被杀,都不知道改哪里,想来还是要自己写一个loader...

微星Z490如何装Windows10系统以及怎么设 BIOS

小晨儿今天给大家讲一下msi微星Z490重怎样装系统以及怎么设置BIOS。一、安装前的准备工作1、一、安装前的准备工作1、备份硬盘所有重要的文件(注:GPT分区转化MBR分区时数据会丢失)2...

超实用!互联网软件开发人员不可不知的 Git 常用操作命令

在互联网软件开发的协作场景中,Git是不可或缺的版本控制工具。掌握其核心命令,能让代码管理效率大幅提升。本文精选Git高频实用命令,结合场景化说明,助你快速上手。仓库初始化与克隆...

AI项目的持续集成持续部署实践_ai 项目

在独立开发AI工具的过程中,笔者逐步实践了一套高效的软件项目持续集成与持续部署(CI/CD)流程。这套流程以Git、GitHub和Vercel为核心,实现了从代码提交到生产环境上线的全链路自动化。这篇...

总结几个常用的Git命令的使用方法

1、Git的使用越来越广泛现在很多的公司或者机构都在使用Git进行项目和代码的托管,Git有它自身的优势,很多人也喜欢使用Git。...