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

server/2024/10/18 14:16:07/

全文目录:

    • 前言
    • 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语句:

sql">CREATE DATABASE mydatabase;

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

sql">DROP DATABASE mydatabase;

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

创建、修改与删除表

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

sql">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

sql">ALTER TABLE users ADD phone_number VARCHAR(15);

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

sql">DROP TABLE users;

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

数据类型详解

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

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

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

2.2 基本数据操作

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

插入数据(INSERT)

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

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

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

查询数据(SELECT)

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

sql">SELECT * FROM users;

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

sql">SELECT username, email FROM users WHERE id = 1;

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

更新数据(UPDATE)

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

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

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

删除数据(DELETE)

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

sql">DELETE FROM users WHERE id = 1;

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

2.3 数据过滤与排序

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

WHERE条件语句

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

sql">SELECT * FROM users WHERE username = 'john_doe';

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

ORDER BY排序

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

sql">SELECT * FROM users ORDER BY created_at DESC;

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

LIMIT分页查询

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

sql">SELECT * FROM users LIMIT 10;

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

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

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

下期内容预告

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

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


http://www.ppmy.cn/server/125261.html

相关文章

Pygame中Sprite实现逃亡游戏5

在《Pygame中Sprite实现逃亡游戏4》中通过碰撞检测实现了玩家、飞龙与飞火之间的碰撞处理,基本上实现了逃亡功能。最后,实现这个逃亡游戏中文字提示的功能。 1 操作提示 当进入游戏后,会在玩家下方的位置给出操作提示,如图1所示…

实战OpenCV之图像滤波

基础入门 图像滤波是数字图像处理中一种非常重要的技术,主要用于图像噪声去除、图像平滑、突出图像特征,或者进行图像风格的转换。它通过数学运算对图像中的像素值进行修改,以达到特定的处理目的。图像滤波可以分为两大类,分别为:线性滤波、非线性滤波。 线性滤波器通过一…

SDK(1.1note)

什么是SDK 控制台程序(Console User interface)CUI 对于控制台程序,通用,也就是平台无关 图形界面系统 可是如果你想要播放一个音乐,C语言有嘛? 所以需要平台开发,不可以移植性 平台会提供…

uniapp vue3 使用echarts绘制图表 柱状图等

部分内容AI总结 Uniapp 使用 Vue3 和 ECharts 组件的总结 在 Uniapp 中使用 Vue3 和 ECharts 进行数据可视化是一种常见需求。以下将详细介绍如何在 Uniapp 项目中安装 ECharts 插件、在 main.js 中挂载 ECharts 以及一个简单的示例 demo。 1. 下载 ECharts 插件 在 Uniapp 中…

推荐一个可以把PDF样本册转换为翻页电子书的网站

​随着互联网的普及,越来越多的企业和个人开始意识到线上展览的重要性。如何将实体样本册转化为线上版本,让更多人了解和欣赏自己的产品与服务? 一、网站简介 这款PDF样本册免费上传网站名为“FLBOOK”,致力于为广大用户提供便捷…

vue3更具文件目录动态添加路由配置

在项目中,想要在某个文件夹下直接添加.vue文件,并根据文件自动生成route跳转, 在view文件夹下,建立threePage文件夹,在里面建立index.vue,index1.vue; 建立three.js文件, 动态获取…

[报错解决] 运行MATCHA时需要在线下载Arial.TTF字体,但是无法连接huggingface

一、报错详情 requests.exceptions.ConnectTimeout:(MaxRetryError("HTTPSConnectionPool(hosthuggingface.co, port443): Max retries exceeded with url: /ybelkada/fonts/resolve/main/Arial.TTF (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnec…

Elasticsearch要点简记

Elasticsearch要点简记 1、ES概述2、基础概念&#xff08;1&#xff09;索引、文档、字段&#xff08;2&#xff09;映射&#xff08;3&#xff09;DSL 3、架构原理4、索引字段的数据类型5、ES的三种分页方式&#xff08;1&#xff09;深度分页&#xff08;fromsize&#xff09…