菜鸟科技网

常用数据库命令有哪些?

数据库管理系统是现代信息技术的核心组成部分,掌握常用数据库命令是进行数据操作的基础,无论是关系型数据库如MySQL、PostgreSQL,还是NoSQL数据库如MongoDB、Redis,其命令体系都围绕数据的增删改查(CRUD)展开,以下将详细介绍不同类型数据库的常用命令,涵盖数据定义语言(DDL)、数据操作语言(DML)、数据查询语言(DQL)及数据控制语言(DCL)等核心操作。

常用数据库命令有哪些?-图1
(图片来源网络,侵删)

在关系型数据库中,DDL命令用于定义和管理数据库结构,以MySQL为例,创建数据库使用CREATE DATABASE database_name;,删除数据库为DROP DATABASE database_name;,选择数据库则通过USE database_name;实现,表的操作是DDL的重点,创建表时需指定列名、数据类型及约束,CREATE TABLE users (id INT PRIMARY KEY, name VARCHAR(50), age INT);,修改表结构可使用ALTER TABLE,如添加列ALTER TABLE users ADD COLUMN email VARCHAR(100);,删除列ALTER TABLE users DROP COLUMN email;,或修改列类型ALTER TABLE users MODIFY COLUMN age SMALLINT;,删除表则直接执行DROP TABLE users;,若需清空表数据并保留结构,可用TRUNCATE TABLE users;

DML命令主要用于操作表数据,插入数据时,单条记录插入使用INSERT INTO users (id, name, age) VALUES (1, 'Alice', 25);,批量插入可简化为INSERT INTO users VALUES (2, 'Bob', 30), (3, 'Charlie', 28);,更新数据通过UPDATE语句实现,需配合WHERE条件避免全表更新,例如UPDATE users SET age = 26 WHERE name = 'Alice';,删除数据使用DELETE FROM users WHERE id = 2;,需注意DELETE逐行删除且可回滚,而TRUNCATE是快速清空表数据且不可回滚。

DQL是数据库操作中最频繁使用的命令,核心是SELECT语句,基础查询为SELECT * FROM users;(查询所有列),或指定列SELECT name, age FROM users;,条件查询通过WHERE子句实现,支持比较运算符(, >, <)、逻辑运算符(AND, OR, NOT)及模糊查询(LIKE),例如SELECT * FROM users WHERE age > 25 AND name LIKE 'A%';,排序使用ORDER BY,默认升序(ASC),降序需指定DESC,如SELECT * FROM users ORDER BY age DESC;,聚合函数包括COUNT()(计数)、SUM()(求和)、AVG()(平均值)、MAX()/MIN()(最大/最小值),常与GROUP BY分组结合使用,例如SELECT age, COUNT(*) FROM users GROUP BY age;,分页查询通过LIMITOFFSET实现,如SELECT * FROM users LIMIT 10 OFFSET 5;(从第6条开始取10条)。

DCL命令用于管理数据库权限和事务,授权使用GRANT,例如GRANT SELECT, INSERT ON users TO 'user1'@'localhost';,撤销权限为REVOKE INSERT ON users FROM 'user1'@'localhost';,事务控制是确保数据一致性的关键,START TRANSACTIONBEGIN开启事务,COMMIT提交事务,ROLLBACK回滚事务,

常用数据库命令有哪些?-图2
(图片来源网络,侵删)
START TRANSACTION;
UPDATE users SET age = age + 1 WHERE id = 1;
COMMIT;

对于NoSQL数据库,命令体系差异较大,以MongoDB为例,插入文档使用db.users.insertOne({name: 'Alice', age: 25});,查询文档为db.users.find({age: {$gt: 25}});$gt表示大于),更新文档使用db.users.updateOne({name: 'Alice'}, {$set: {age: 26}});,删除文档为db.users.deleteOne({name: 'Alice'});,Redis作为键值型数据库,常用命令包括SET key value(设置键值)、GET key(获取值)、HSET hash field value(设置哈希字段)、LPUSH list value(列表左推)、SMADD set member(集合添加成员)等,

SET user:1:name "Alice"
GET user:1:name
HSET user:1:info age 25 city "Beijing"
HGETALL user:1:info

以下为常见数据库命令的快速参考表:

操作类型 MySQL/PostgreSQL MongoDB Redis
创建数据库 CREATE DATABASE db; use db;
创建表/集合 CREATE TABLE table(...); db.createCollection('users');
插入数据 INSERT INTO ... VALUES (...); db.users.insertOne({...}); SET key value;
查询数据 SELECT * FROM table; db.users.find({}); GET key;
更新数据 UPDATE table SET ...; db.users.updateOne({...}); SET key newValue;
删除数据 DELETE FROM table; db.users.deleteOne({...}); DEL key;
排序 ORDER BY column ASC/DESC; .sort({age: 1});
聚合 SELECT COUNT(*) FROM table; db.users.countDocuments({}); SCARD key;

相关问答FAQs:

  1. 问:MySQL中如何避免UPDATE或DELETE操作误更新全表数据?
    答:务必在UPDATE或DELETE语句中添加明确的WHERE条件,例如UPDATE users SET age = 26 WHERE id = 1;,执行前可先用SELECT语句验证WHERE条件的准确性,如SELECT * FROM users WHERE id = 1;确认仅涉及目标记录,建议在非高峰期执行此类操作,并确保数据库有完整备份。

    常用数据库命令有哪些?-图3
    (图片来源网络,侵删)
  2. 问:MongoDB和MySQL在数据查询性能上有什么主要区别?
    答:MySQL作为关系型数据库,擅长复杂查询(多表JOIN、子查询)和事务处理,适合结构化数据和强一致性场景;MongoDB作为文档型NoSQL数据库,采用灵活的BSON文档格式,读写性能较高,尤其在海量数据和高并发场景下优势明显,但复杂查询能力较弱,不支持JOIN,需通过聚合管道实现类似功能,选择时需根据数据结构、查询复杂度和一致性需求综合考量。

分享:
扫描分享到社交APP
上一篇
下一篇