菜鸟科技网

数据库基础命令有哪些?

数据库基础命令是管理和操作数据库的核心工具,掌握这些命令是进行数据存储、查询、更新和删除的基础,以下将从数据库连接、数据操作(增删改查)、表结构管理、事务控制等方面详细介绍常用命令。

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

数据库连接与退出

在使用数据库前,首先需要连接到数据库服务器,以MySQL为例,通过命令行工具连接的命令为:mysql -u 用户名 -p,执行后会提示输入密码,连接成功后,可以使用USE 数据库名;选择要操作的数据库,若要退出数据库,可输入EXIT;QUIT;,也可使用快捷键Ctrl + D

数据查询(SELECT)

查询是最常用的操作,基本语法为SELECT 字段名 FROM 表名 WHERE 条件 GROUP BY 分组字段 HAVING 分组条件 ORDER BY 排序字段 LIMIT 记录数;

  • 查询所有数据SELECT * FROM 表名;
  • 查询指定字段SELECT 字段1, 字段2 FROM 表名;
  • 带条件查询SELECT * FROM 表名 WHERE age > 20;
  • 模糊查询:使用LIKE关键字,例如SELECT * FROM 表名 WHERE name LIKE '张%';(查询以“张”开头的记录)。
  • 排序与限制SELECT * FROM 表名 ORDER BY age DESC LIMIT 10;(按年龄降序查询前10条记录)。

数据插入(INSERT)

向表中插入数据使用INSERT INTO语句,语法为INSERT INTO 表名 (字段1, 字段2) VALUES (值1, 值2);,若插入所有字段,可省略字段名列表,例如INSERT INTO 表名 VALUES (值1, 值2);,同时插入多条数据时,可用逗号分隔值列表,例如INSERT INTO 表名 VALUES (值1, 值2), (值3, 值4);

数据更新(UPDATE)

更新表中数据使用UPDATE语句,语法为UPDATE 表名 SET 字段1=新值1, 字段2=新值2 WHERE 条件;注意WHERE子句不可省略,否则会更新全表数据,例如UPDATE students SET age=21 WHERE id=1;(将id为1的学生年龄改为21)。

数据库基础命令有哪些?-图2
(图片来源网络,侵删)

数据删除(DELETE)

删除表中数据使用DELETE语句,语法为DELETE FROM 表名 WHERE 条件;,同样,WHERE子句必不可少,否则会清空表数据,例如DELETE FROM students WHERE id=3;(删除id为3的学生记录),若需清空表(保留表结构),可使用TRUNCATE TABLE 表名;,该命令比DELETE更快,且不会触发事务日志。

表结构管理

  1. 创建表:使用CREATE TABLE语句,语法为:

    CREATE TABLE 表名 (
      字段1 数据类型 PRIMARY KEY,
      字段2 数据类型 NOT NULL,
      字段3 数据类型 DEFAULT 默认值
    );

    例如创建学生表:

    CREATE TABLE students (
      id INT PRIMARY KEY AUTO_INCREMENT,
      name VARCHAR(20) NOT NULL,
      age INT DEFAULT 18
    );
  2. 修改表结构

    数据库基础命令有哪些?-图3
    (图片来源网络,侵删)
    • 添加字段:ALTER TABLE 表名 ADD 字段名 数据类型;
    • 修改字段:ALTER TABLE 表名 MODIFY 字段名 新数据类型;
    • 删除字段:ALTER TABLE 表名 DROP 字段名;
  3. 删除表DROP TABLE 表名;(若表不存在,可加IF EXISTS避免报错)。

索引管理

索引可提高查询效率,创建索引的语法为CREATE INDEX 索引名 ON 表名 (字段名);,例如CREATE INDEX idx_name ON students (name);为name字段创建索引,删除索引使用DROP INDEX 索引名 ON 表名;

事务控制

事务确保数据操作的原子性,常用命令包括:

  • START TRANSACTION;(或BEGIN;):开始事务。
  • COMMIT;:提交事务,永久保存更改。
  • ROLLBACK;:回滚事务,撤销未提交的更改。
    START TRANSACTION;
    UPDATE accounts SET balance = balance - 100 WHERE id=1;
    UPDATE accounts SET balance = balance + 100 WHERE id=2;
    COMMIT;

常用函数

  • 聚合函数COUNT()(计数)、SUM()(求和)、AVG()(平均值)、MAX()(最大值)、MIN()(最小值),例如SELECT AVG(age) FROM students;计算学生平均年龄。
  • 字符串函数CONCAT()(连接字符串)、SUBSTRING()(截取字符串)。
  • 日期函数NOW()(当前日期时间)、CURDATE()(当前日期)。

表:MySQL常用数据类型

数据类型 描述 示例
INT 整数 age INT
VARCHAR(n) 可变长度字符串 name VARCHAR(20)
DATETIME 日期时间 create_time DATETIME
DECIMAL(m,d) 定点数,m为总位数,d为小数位数 price DECIMAL(10,2)
TEXT 长文本 content TEXT

相关问答FAQs

Q1: DELETE和TRUNCATE删除数据的区别是什么?
A1: 主要区别有三点:①DELETE是DML语句,可回滚;TRUNCATE是DDL语句,不可回滚。②DELETE逐行删除,速度较慢;TRUNCATE先清空表再重建,速度更快。③DELETE会保留自增主键的计数,TRUNCATE会重置自增计数。

Q2: 如何避免SQL注入攻击?
A2: SQL注入是通过恶意输入破坏SQL语句结构的攻击,防范方法包括:①使用参数化查询(预编译语句),将SQL命令与数据分离;②对用户输入进行转义或过滤;③限制数据库用户的权限,避免使用超级用户;④使用ORM框架(如Hibernate、SQLAlchemy)自动处理参数绑定。

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