MySQL 基本语法讲解及示例(上)


第一节:MySQL的基本操作

1. 创建数据库

在 MySQL 中,创建数据库的步骤如下:

命令行操作
  1. 打开 MySQL 命令行客户端或连接到 MySQL 服务器。

  2. 输入以下命令创建一个数据库:

    CREATE DATABASE database_name;
    

    例如,创建一个名为 test_db 的数据库:

    CREATE DATABASE test_db;
    
图形化操作

如果使用图形化管理工具(如 phpMyAdmin 或 MySQL Workbench),创建数据库的步骤如下:

  1. 打开工具并连接到 MySQL 服务器。
  2. 在左侧的导航面板中找到 “Databases” 或 “Schemas”。
  3. 点击 “Create Database” 或 “New Schema”。
  4. 输入数据库名称(例如 test_db),然后点击 “Apply” 或 “OK”。

2. 列出所有的数据库

命令行操作
  1. 在 MySQL 命令行客户端中输入以下命令列出所有数据库:

    SHOW DATABASES;
    
图形化操作
  1. 打开图形化管理工具并连接到 MySQL 服务器。
  2. 在左侧的导航面板中,您将看到所有现有的数据库列表。

3. 语法关键字

MySQL 中常用的语法关键字包括:

  • CREATE: 用于创建数据库、表格、视图等。
  • SHOW: 用于显示数据库、表格等信息。
  • DROP: 用于删除数据库、表格等。
  • SELECT: 用于从数据库中检索数据。
  • INSERT: 用于向表格中插入数据。
  • UPDATE: 用于更新表格中的数据。
  • DELETE: 用于删除表格中的数据。

4. 删除数据库

命令行操作
  1. 在 MySQL 命令行客户端中输入以下命令删除数据库:

    DROP DATABASE database_name;
    

    例如,删除名为 test_db 的数据库:

    DROP DATABASE test_db;
    
图形化操作
  1. 打开图形化管理工具并连接到 MySQL 服务器。
  2. 在左侧的导航面板中找到要删除的数据库(例如 test_db)。
  3. 右键点击数据库名称,选择 “Drop Database” 或 “Delete”。
  4. 确认删除操作。

第二节:如何创建数据库的表格

1. 介绍MySQL的数据类型

MySQL 提供了多种数据类型,用于存储不同类型的数据。常见的数据类型包括:

  • 整数类型:如 INT, TINYINT, SMALLINT, MEDIUMINT, BIGINT
  • 字符串类型:如 CHAR, VARCHAR, TEXT, BLOB
  • 日期和时间类型:如 DATE, TIME, DATETIME, TIMESTAMP, YEAR
  • 浮点数类型:如 FLOAT, DOUBLE, DECIMAL

2. 创建表格示例

命令行操作
  1. 在 MySQL 命令行客户端中输入以下命令创建一个表格:

    CREATE TABLE table_name (column1_name column1_type,column2_name column2_type,...
    );
    

    例如,创建一个名为 students 的表格,包括学生 ID、姓名和年龄:

    CREATE TABLE students (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(100),age INT
    );
    
图形化操作
  1. 打开图形化管理工具并连接到 MySQL 服务器。
  2. 选择要创建表格的数据库。
  3. 点击 “Create Table” 或 “New Table”。
  4. 输入表格名称(例如 students)。
  5. 添加列并指定数据类型(例如 idINTnameVARCHAR(100)ageINT)。
  6. 点击 “Apply” 或 “OK” 创建表格。

3. 如何增删表格中的要素

插入数据
命令行操作
  1. 在 MySQL 命令行客户端中输入以下命令向表格中插入数据:

    INSERT INTO table_name (column1, column2, ...)
    VALUES (value1, value2, ...);
    

    例如,向 students 表格中插入一条记录:

    INSERT INTO students (name, age)
    VALUES ('John Doe', 20);
    
图形化操作
  1. 打开图形化管理工具并连接到 MySQL 服务器。
  2. 选择要插入数据的表格(例如 students)。
  3. 点击 “Insert” 或 “New Row”。
  4. 输入数据值。
  5. 点击 “Apply” 或 “OK”。
删除数据
命令行操作
  1. 在 MySQL 命令行客户端中输入以下命令删除表格中的数据:

    DELETE FROM table_name
    WHERE condition;
    

    例如,删除 students 表格中年龄大于20的所有记录:

    DELETE FROM students
    WHERE age > 20;
    
图形化操作
  1. 打开图形化管理工具并连接到 MySQL 服务器。
  2. 选择要删除数据的表格(例如 students)。
  3. 点击 “Delete” 或 “Remove Row”。
  4. 指定删除条件(例如,选择要删除的行)。
  5. 点击 “Apply” 或 “OK”。
更新数据
命令行操作
  1. 在 MySQL 命令行客户端中输入以下命令更新表格中的数据:

    UPDATE table_name
    SET column1 = value1, column2 = value2, ...
    WHERE condition;
    

    例如,更新 students 表格中 ID 为1的学生姓名:

    UPDATE students
    SET name = 'Jane Doe'
    WHERE id = 1;
    
图形化操作
  1. 打开图形化管理工具并连接到 MySQL 服务器。
  2. 选择要更新数据的表格(例如 students)。
  3. 点击 “Update” 或 “Edit Row”。
  4. 修改数据值。
  5. 点击 “Apply” 或 “OK”。

通过以上步骤,您可以在 MySQL 中完成基本的数据库和表格操作,包括创建、列出、删除数据库以及创建、增删改查表格中的数据。


第三节:如何在创建的表格中插入要素

在 MySQL 中,向表格中插入数据(要素)时有多种方式,可以按照顺序或非顺序插入数据,同时需要注意缺省值 NULL 的使用。以下是详细操作说明:

1. 如何正常增添要素

命令行操作
  1. 在 MySQL 命令行客户端中输入以下命令向表格中插入数据:

    INSERT INTO table_name (column1, column2, ...)
    VALUES (value1, value2, ...);
    

    例如,向 students 表格中插入一条记录:

    INSERT INTO students (name, age)
    VALUES ('John Doe', 20);
    
图形化操作
  1. 打开图形化管理工具并连接到 MySQL 服务器。
  2. 选择要插入数据的表格(例如 students)。
  3. 点击 “Insert” 或 “New Row”。
  4. 输入数据值。
  5. 点击 “Apply” 或 “OK”。

2. 如何非顺序写入要素

有时您可能不按表格中列的顺序插入数据。在这种情况下,需要明确指定插入的列名。

命令行操作
  1. 在 MySQL 命令行客户端中输入以下命令指定列名插入数据:

    INSERT INTO table_name (column2, column1, ...)
    VALUES (value2, value1, ...);
    

    例如,向 students 表格中以非正常顺序插入数据:

    INSERT INTO students (age, name)
    VALUES (20, 'John Doe');
    
图形化操作
  1. 打开图形化管理工具并连接到 MySQL 服务器。
  2. 选择要插入数据的表格(例如 students)。
  3. 点击 “Insert” 或 “New Row”。
  4. 输入数据值,注意按照指定的列名顺序输入。
  5. 点击 “Apply” 或 “OK”。

3. 如何删除指定要素

命令行操作
  1. 在 MySQL 命令行客户端中输入以下命令删除指定要素:

    DELETE FROM table_name
    WHERE condition;
    

    例如,删除 students 表格中年龄为20的记录:

    DELETE FROM students
    WHERE age = 20;
    
图形化操作
  1. 打开图形化管理工具并连接到 MySQL 服务器。
  2. 选择要删除数据的表格(例如 students)。
  3. 点击 “Delete” 或 “Remove Row”。
  4. 指定删除条件(例如,选择要删除的行)。
  5. 点击 “Apply” 或 “OK”。

4. 缺省值 NULL 的用法

NULL 表示数据缺失或未知值。在插入数据时,如果某列允许 NULL 值,可以显式插入 NULL,也可以在不指定该列值时默认为 NULL

命令行操作
  1. 在 MySQL 命令行客户端中输入以下命令插入 NULL 值:

    INSERT INTO table_name (column1, column2, ...)
    VALUES (value1, NULL, ...);
    

    例如,向 students 表格中插入 NULL 值:

    INSERT INTO students (name, age)
    VALUES ('John Doe', NULL);
    

5. 插入时应该注意的事项

  • 数据类型匹配:确保插入的数据类型与表格定义的列数据类型匹配。
  • 主键唯一性:如果表格定义了主键,插入的数据必须确保主键值唯一。
  • 非空约束:如果某列定义了 NOT NULL 约束,则插入的数据不能为 NULL
  • 外键约束:确保插入的数据满足外键约束条件。

通过以上步骤,您可以在 MySQL 中完成对表格的增删操作,处理数据缺省值 NULL,并遵循插入数据时的注意事项,确保数据的完整性和一致性。


第四节:讲述表格创建中的限制

在创建表格时,可以使用各种约束(constraints)来确保数据的完整性和一致性。常见的约束包括主键、唯一性、非空、外键和检查约束。以下是详细说明和示例:

常见约束类型

  1. PRIMARY KEY(主键)

    • 主键约束唯一标识表格中的每一行。一个表只能有一个主键,但主键可以由多个列组成(联合主键)。
    CREATE TABLE example (id INT PRIMARY KEY,name VARCHAR(50)
    );
    
  2. UNIQUE(唯一约束)

    • 唯一约束确保一列或多列的值在表格中是唯一的,允许一个表格中有多个唯一约束。
    CREATE TABLE example (id INT,email VARCHAR(100) UNIQUE
    );
    
  3. NOT NULL(非空约束)

    • 非空约束确保一列不能存储 NULL 值。
    CREATE TABLE example (id INT,name VARCHAR(50) NOT NULL
    );
    
  4. FOREIGN KEY(外键约束)

    • 外键约束确保一个表中的值必须在另一个表中存在,用于维护表之间的引用完整性。
    CREATE TABLE department (id INT PRIMARY KEY,name VARCHAR(50)
    );CREATE TABLE employee (id INT PRIMARY KEY,name VARCHAR(50),department_id INT,FOREIGN KEY (department_id) REFERENCES department(id)
    );
    
  5. CHECK(检查约束)

    • 检查约束用于确保列中的值符合特定条件。
    CREATE TABLE example (id INT,age INT CHECK (age >= 18)
    );
    

示例:使用约束创建表格

以下是一个完整的示例,包括删除现有表格、创建新表格并插入数据的过程。

删除表格

如果表格 student 已存在,需要先删除该表格:

DROP TABLE IF EXISTS `student`;
创建表格并添加约束

创建一个名为 student 的表格,并添加各种约束:

CREATE TABLE `student`(`student_id` INT AUTO_INCREMENT,`name` VARCHAR(20) NOT NULL,`major` VARCHAR(20) UNIQUE,PRIMARY KEY (`student_id`)
);

此表格包括:

  • student_id 列为主键,自动递增。
  • name 列为非空。
  • major 列为唯一。
插入数据

student 表格插入数据:

INSERT INTO `student` VALUES(1, '小白', '历史');
INSERT INTO `student` VALUES(2, '小黑', '生物');
INSERT INTO `student`(`name`, `major`) VALUES('小黑', '化学');
查询数据

查询 student 表格中的所有数据:

SELECT * FROM `student`;

额外讲解示例

使用上述约束创建表格并插入数据后的结果应如下所示:

DROP TABLE IF EXISTS `student`;CREATE TABLE `student`(`student_id` INT AUTO_INCREMENT,`name` VARCHAR(20) NOT NULL,`major` VARCHAR(20) UNIQUE,PRIMARY KEY (`student_id`)
);INSERT INTO `student` VALUES(1, '小白', '历史');
INSERT INTO `student` VALUES(2, '小黑', '生物');
INSERT INTO `student`(`name`, `major`) VALUES('小黑', '化学');SELECT * FROM `student`;

在执行上述 SQL 语句后,student 表格将包含以下数据:

student_idnamemajor
1小白历史
2小黑生物
3小黑化学

第五节:如何修改和删除要素

在 MySQL 中,您可以使用 UPDATE 语句修改表格中的数据,并使用 DELETE 语句删除表格中的数据。以下是详细操作说明和示例:

修改和删除要素的案例

步骤一:设置 SQL 安全更新模式

为了允许对数据的修改和删除操作,可能需要关闭 MySQL 的安全更新模式:

SET SQL_SAFE_UPDATES = 0;
步骤二:删除旧表格并创建新表格

首先,删除旧的 student 表格,并创建一个新的 student 表格:

DROP TABLE IF EXISTS `student`;CREATE TABLE `student`(`student_id` INT PRIMARY KEY,`name` VARCHAR(20),`major` VARCHAR(20),`score` INT
);
步骤三:插入数据

student 表格中插入一些示例数据:

INSERT INTO `student` VALUES (1, '小白', '英语', 50);
INSERT INTO `student` VALUES (2, '小黄', '生物', 90);
INSERT INTO `student` VALUES (3, '小绿', '历史', 70);
INSERT INTO `student` VALUES (4, '小蓝', '英语', 80);
INSERT INTO `student` VALUES (5, '小黑', '化学', 20);
步骤四:查询数据

查询 student 表格中的所有数据:

SELECT * FROM `student`;
步骤五:修改数据

使用 UPDATE 语句修改表格中的数据,例如将 major 为“英语”的记录修改为“英语文学”:

UPDATE `student`
SET `major` = '英语文学'
WHERE `major` = '英语';
步骤六:删除数据

使用 DELETE 语句删除表格中的数据,例如删除 student_id 为 4 的记录:

DELETE FROM `student`
WHERE `student_id` = 4;

详细示例

以下是完整的 SQL 操作步骤:

-- 设置 SQL 安全更新模式
SET SQL_SAFE_UPDATES = 0;-- 删除旧表格并创建新表格
DROP TABLE IF EXISTS `student`;CREATE TABLE `student`(`student_id` INT PRIMARY KEY,`name` VARCHAR(20),`major` VARCHAR(20),`score` INT
);-- 插入数据
INSERT INTO `student` VALUES (1, '小白', '英语', 50);
INSERT INTO `student` VALUES (2, '小黄', '生物', 90);
INSERT INTO `student` VALUES (3, '小绿', '历史', 70);
INSERT INTO `student` VALUES (4, '小蓝', '英语', 80);
INSERT INTO `student` VALUES (5, '小黑', '化学', 20);-- 查询数据
SELECT * FROM `student`;-- 修改数据
UPDATE `student`
SET `major` = '英语文学'
WHERE `major` = '英语';-- 删除数据
DELETE FROM `student`
WHERE `student_id` = 4;-- 查询修改和删除后的数据
SELECT * FROM `student`;

修改和删除操作的注意事项

  1. 谨慎使用 UPDATEDELETE 语句:特别是在没有 WHERE 子句的情况下,可能会意外修改或删除表格中的所有数据。
  2. 备份数据:在执行批量修改或删除操作前,建议先备份数据,以防出现操作失误导致数据丢失。
  3. 使用事务:在需要保证数据操作的原子性时,可以使用事务(START TRANSACTION, COMMIT, ROLLBACK)来确保数据的完整性。

如果这对您有所帮助,希望点赞支持一下作者! 😊

[ 详细全文-点击查看](

)

file

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/29753.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

银行数仓项目实战(二)--数据采集(Kettle的抽取(E)转换(T)加载(L))

Kettle安装 Kettle又名PDI 要求电脑中有Java环境。 下载Kettle9.0的安装包,如有需要可以联系up私发噢。 注意!!! 解压路径不能有中文,空格 解压后双击spoon.bat即可使用 链接数据库需要相应的驱动,Oracle的…

Python图像处理库之pyvips使用详解

概要 在图像处理领域,高效和快速的图像处理工具对于开发者来说至关重要。pyvips 是一个强大的 Python 库,基于 libvips 图像处理库,提供高效、快速且节省内存的图像处理能力。pyvips 支持多种图像格式,并且能够执行各种复杂的图像处理任务,如裁剪、缩放、旋转、滤波等。本…

采用了宽电压设计的测径仪为什么仍旧需要到现场勘察电力环境

关键字: 测径仪宽电压设计,测径仪电压范围,电压影响测径仪,测径仪车间电压 设备宽电压设计是指该设备能够在一定范围的电压波动内正常工作,而不会因为电压的轻微变化而导致性能下降或损坏。宽电压设计通常涉及到电源电路的优化和设计,以确保设备在电压波…

【C语言习题】31.冒泡排序

文章目录 作业标题作业内容2.解题思路3.具体代码 作业标题 冒泡排序 作业内容 实现一个对整形数组的冒泡排序 2.解题思路 先了解一下冒泡排序: 两两相邻的元素进行比较,如果前面元素大于后面元素就交换两个元素的位置,最终的结果是最大的…

基于格网拓扑关系的边缘点检测

1、背景介绍 前文已介绍对点云进行格网处理,可以计算平面点云面积、格网拓扑关系构建,相关博客如下: (1)点云格网过程可视化(C++ PCL)-CSDN博客 (2)

使用 Web Serial API 在浏览器中实现串口通讯(纯前端)

文章目录 目的相关资料使用说明代码与演示总结 目的 串口是非常常用的一种电脑与设备交互的接口。目前在浏览器上直接使用电脑上的串口设备了,这篇文章将介绍相关内容。 相关资料 Web Serial API 相关内容参考如下: https://developer.mozilla.org/en…

消息队列-分布式消息队列技术选型

Kafka Kafka 是 LinkedIn 开源的一个分布式流式处理平台,已经成为 Apache 顶级项目,早期被用来用于处理海量的日志,后面才慢慢发展成了一款功能全面的高性能消息队列。 流式处理平台具有三个关键功能: 消息队列:发布和…

智慧校园综合解决方案:提供全方位的学校管理支持

在当今数字化时代,学校管理面临着越来越多的挑战,包括学生管理、教职员工管理、校园安全等。为了应对这些挑战,智慧校园综合解决方案应运而生。智慧校园综合解决方案融入了先进的信息技术,为学校带来了一场管理与教育模式的革新。…

SAP ABAP开发:如何读取物料主数据中的长文本?

在SAP ERP系统中,物料的基本描述可存储40个字符,见下图: 但长文本信息如何从系统中读取呢? 在SAP ABAP开发中,读取物料主数据(Material Master Data)中的基本视图(Basic View&#…

DLS平台:惠誉全球经济展望——今年调增至2.6%,明年调减!

摘要 尽管全球货币政策逐渐转向宽松,惠誉国际评级(Fitch Ratings)在最新的《全球经济展望》中对2024年全球经济增长进行了上调。然而,由于美国经济增速放缓和其他因素的影响,2025年的全球经济增长预期则被下调。这篇文…

保姆级小白就业人工智能(视频+源码+笔记)

🍅我是小宋, Java学习AI,记录学习之旅。关注我,带你轻松过面试。提升简历亮点(14个demo) 🍅我的java面试合集已有12W 浏览量。🌏号:tutou123com。拉你进专属群。 ⭐⭐你的…

LVGL欢乐桌球游戏(LVGL+2D物理引擎学习案例)

LVGL欢乐桌球游戏(LVGL2D物理引擎学习案例) 视频效果: https://www.bilibili.com/video/BV1if421X7DL

最新Prompt预设词分享,DALL-E3文生图+文档分析

使用指南 直接复制使用 可以前往已经添加好Prompt预设的AI系统测试使用(可自定义添加使用) 支持GPTs SparkAi SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。支持GPT-4o…

微服务开发与实战Day11 - 微服务面试篇

一、分布式事务 1. CAP定理 1998年,加州大学的计算机科学及Eric Brewer提出,分布式系统有三个指标: Consistency(一致性)Availability(可用性)Partition tolerance(分区容错性&am…

使用Minikube部署Kubernetes环境

使用Minikube部署Kubernetes环境 1. Minikube简介 Minikube是一个轻量级的Kubernetes实现,它在本地运行一个Kubernetes集群,可以是单节点或者集群环境,主要用于开发和测试。Minikube支持Kubernetes的所有主要功能,包括Dashboard…

经典文献阅读之--OrienterNet(自动驾驶中基于网格的交通场景感知)

dia 0. 简介 使用神经网络来匹配2D公开地图的做法是一个很有趣的方法,人们可以使用简单的2D地图在3D环境中指明自己所处的位置,而大部分视觉定位算法则依赖于昂贵的、难以构建和维护的3D点云地图。为了弥合这一差距《OrienterNet: Visual Localization…

cesium按照参数绘制不同形状的船舶

俺们公司之前有个自创的所谓前端GIS框架,是用Cesium搞的。我对该框架不熟悉,用它在地图上作画,画船舶符号,看以前的代码,感觉十分艰深晦涩,什么材质、纹理,令人头大如斗。我4年前用过一阵Cesium…

ClickHouse 高性能的列式数据库管理系统

ClickHouse是一个高性能的列式数据库管理系统(DBMS),主要用于在线分析处理查询(OLAP)。以下是对ClickHouse的详细介绍: 基本信息: 来源:由俄罗斯的Yandex公司于2016年开源。全称&…

成都晨持绪科技:2024年抖音网店做起来难吗

随着抖音平台的日益火爆,越来越多的商家和个人开始关注并尝试开设自己的抖音网店。然而,面对激烈的市场竞争和不断变化的平台规则,许多人都在问:2024年抖音网店做起来难吗? 要回答这个问题,我们首先需要了解抖音网店的…

【机器学习】第3章 K-近邻算法

一、概念 1.K-近邻算法:也叫KNN 分类 算法,其中的N是 邻近邻居NearestNeighbor的首字母。 (1)其中K是特征值,就是选择离某个预测的值(例如预测的是苹果,就找个苹果)最近的几个值&am…