当前位置: 首页 > article >正文

滚雪球学MySQL[2.1讲]:基础SQL操作

全文目录:

    • 前言
    • 2. 基础SQL操作
      • 2.1 数据库与表的基本操作
        • 创建与删除数据库
        • 创建、修改与删除表
        • 数据类型详解
      • 2.2 基本数据操作
        • 插入数据(INSERT)
        • 查询数据(SELECT)
        • 更新数据(UPDATE)
        • 删除数据(DELETE)
      • 2.3 数据过滤与排序
        • WHERE条件语句
        • ORDER BY排序
        • LIMIT分页查询
    • 下期内容预告

前言

在上一期的文章中,我们详细讲解了MySQL的基本概念、历史版本及其安装与配置过程。通过对MySQL的深入了解,我们不仅学习了如何在不同操作系统上安装MySQL,还掌握了如何配置和启动MySQL服务,并通过命令行工具和图形化工具(如MySQL Workbench、phpMyAdmin)与MySQL进行交互。这些内容为我们后续操作MySQL数据库奠定了坚实的基础。

随着环境配置的完成,接下来我们将正式进入MySQL的核心使用阶段——基础SQL操作。无论是创建数据库和表、进行数据的增删改查,还是对查询结果进行过滤和排序,SQL(结构化查询语言)都扮演着不可或缺的角色。本期内容将带您深入了解SQL的基础操作,让您能够高效地管理和操作MySQL数据库。

2. 基础SQL操作

2.1 数据库与表的基本操作

在开始操作数据之前,我们首先需要创建一个数据库,并在其中创建表来存储数据。数据库是存储结构化数据的容器,而表是数据库中最基本的数据存储单元。

创建与删除数据库

在MySQL中,创建一个数据库非常简单,只需执行以下SQL语句:

CREATE DATABASE mydatabase;

此语句将在MySQL服务器上创建一个名为mydatabase的新数据库。要删除该数据库,可以使用如下语句:

DROP DATABASE mydatabase;

删除操作将不可逆地移除数据库及其中的所有数据,因此在执行删除操作时需特别谨慎。

创建、修改与删除表

一旦数据库创建完毕,接下来便是创建表。创建表的基本语法如下:

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    email VARCHAR(100),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

这段SQL语句创建了一个名为users的表,包含以下字段:

  • id:整数类型,自动递增,作为主键。
  • username:长度为50的字符串,不能为空。
  • email:长度为100的字符串,可以为空。
  • created_at:时间戳,默认值为当前时间。

如果您需要修改表的结构,可以使用ALTER TABLE语句。例如,向users表中添加一个新的字段phone_number

ALTER TABLE users ADD phone_number VARCHAR(15);

同样,删除表结构也很简单:

DROP TABLE users;

此操作将删除users表以及表中的所有数据。

数据类型详解

在MySQL中,选择合适的数据类型对表的设计至关重要。以下是常用的数据类型分类:

  • 整数类型:如TINYINTSMALLINTINTBIGINT,用于存储整数数据。
  • 浮点数类型:如FLOATDOUBLE,用于存储浮点数数据。
  • 字符串类型:如CHARVARCHARTEXT,用于存储文本数据。
  • 日期与时间类型:如DATETIMEDATETIMETIMESTAMP,用于存储日期和时间数据。
  • 布尔类型BOOLEAN(实际上是TINYINT(1)),用于存储TRUEFALSE

正确选择数据类型有助于节省存储空间,提高查询效率,并增强数据完整性。

2.2 基本数据操作

在数据库和表创建完毕后,我们可以开始进行数据操作。MySQL的基本数据操作包括插入数据、查询数据、更新数据和删除数据。

插入数据(INSERT)

要向表中插入数据,可以使用INSERT INTO语句。例如,向users表中插入一条新记录:

INSERT INTO users (username, email, phone_number) VALUES ('john_doe', 'john@example.com', '1234567890');

该语句将在users表中插入一条记录,包含用户名、电子邮件和电话号码。

查询数据(SELECT)

查询数据是SQL操作中最常用的部分。使用SELECT语句可以从表中检索数据:

SELECT * FROM users;

这条语句将检索users表中的所有记录。如果只想查询特定的字段或条件,可以对SELECT语句进行筛选:

SELECT username, email FROM users WHERE id = 1;

此语句将返回id为1的用户的用户名和电子邮件。

更新数据(UPDATE)

如果需要修改表中的现有数据,可以使用UPDATE语句。例如,将id为1的用户的电子邮件地址更新为新地址:

UPDATE users SET email = 'new_email@example.com' WHERE id = 1;

此语句将更新指定用户的电子邮件地址。

删除数据(DELETE)

删除数据使用DELETE语句,例如,删除id为1的用户记录:

DELETE FROM users WHERE id = 1;

这条语句将从users表中删除id为1的用户记录。

2.3 数据过滤与排序

在实际应用中,数据查询通常需要根据特定条件进行筛选和排序。MySQL提供了多种强大的工具来实现这一点。

WHERE条件语句

WHERE语句用于指定查询的条件。例如,查询用户名为john_doe的用户:

SELECT * FROM users WHERE username = 'john_doe';

通过WHERE条件,可以对查询进行更精确的控制。

ORDER BY排序

ORDER BY语句用于对查询结果进行排序。例如,按创建时间降序排列用户列表:

SELECT * FROM users ORDER BY created_at DESC;

此语句将按创建时间从最近到最早的顺序显示用户列表。

LIMIT分页查询

在处理大规模数据时,分页查询可以显著提高效率。LIMIT语句用于限制返回的记录数量,例如,查询前10条记录:

SELECT * FROM users LIMIT 10;

结合OFFSET参数,可以实现更复杂的分页查询:

SELECT * FROM users ORDER BY created_at DESC LIMIT 10 OFFSET 20;

这条语句将从第21条记录开始,返回接下来的10条记录。

下期内容预告

通过本期文章,您已经掌握了MySQL的基础SQL操作,包括数据库与表的基本管理、数据的增删改查,以及如何对查询结果进行过滤和排序。这些知识是进一步深入学习和使用MySQL的基础。

在下一期内容中,我们将探索MySQL的高级SQL查询,深入了解如何进行多表查询、子查询、聚合函数的使用以及数据分组。这些高级功能将使您能够处理更复杂的数据操作场景,提升应用的查询效率与数据处理能力。敬请期待!


http://www.kler.cn/news/324294.html

相关文章:

  • 如何使用 Go 获取你的 IP 地址
  • MMD模型及动作一键完美导入UE5-IVP5U插件方案(二)
  • Vue3中的30个高频重点面试题
  • 金镐开源组织成立,增加最新KIT技术,望能为开源添一把火
  • 加法器以及标志位
  • Qt学习笔记
  • HTTP请求过程 part-1
  • 高通Android 12 音量API设置相关代码
  • (undone) MIT6.824 Lecture1 笔记
  • OpenGL ES 绘制一个三角形(2)
  • zookeeper 服务搭建(集群)
  • 解决SpringBoot 3.3.x集成Micrometer和Prometheus,导致项目阻塞,无法启动
  • 演示:基于WPF的DrawingVisual开发的频谱图和律动图
  • Meta首款多模态Llama 3.2开源:支持图像推理,还有可在手机上运行的版本 | LeetTalk Daily...
  • Python连接Kafka收发数据等操作
  • [leetcode]53_最大子数组(序列)和
  • 2024年空间计算/XR的现状:双子座阶段的探索与展望
  • 关于电商API接口接入及其相关应用分析【主流电商API接口】
  • 音视频处理工具FFmpeg与Java结合的简单使用
  • 【计算机网络 - 基础问题】每日 3 题(二十七)
  • Stable Diffusion绘画 | Checkpoint Merger 模型融合
  • 如何区分这个ip是真实ip,不是虚假的ip
  • 论文阅读 - SWATTING Spambots: Real-time Detection of Malicious Bots on X
  • RabbitMQ的高级特性-延迟队列
  • 个人计算机与网络的安全
  • 初探shell与bash使用指南
  • spring cloud Gateway网关
  • 网络编程(12)——完善粘包处理操作(id字段)
  • 【最新】微信小程序连接onenet——stm32+esp8266+onenet实现查看温湿度,控制单片机
  • 探索CefSharp,Cefsharp浏览器能做自动填表和模拟登录