MySQL 基本语法讲解及示例(上)
第一节:MySQL的基本操作
1. 创建数据库
在 MySQL 中,创建数据库的步骤如下:
命令行操作
-
打开 MySQL 命令行客户端或连接到 MySQL 服务器。
-
输入以下命令创建一个数据库:
CREATE DATABASE database_name;
例如,创建一个名为
test_db
的数据库:CREATE DATABASE test_db;
图形化操作
如果使用图形化管理工具(如 phpMyAdmin 或 MySQL Workbench),创建数据库的步骤如下:
- 打开工具并连接到 MySQL 服务器。
- 在左侧的导航面板中找到 “Databases” 或 “Schemas”。
- 点击 “Create Database” 或 “New Schema”。
- 输入数据库名称(例如
test_db
),然后点击 “Apply” 或 “OK”。
2. 列出所有的数据库
命令行操作
-
在 MySQL 命令行客户端中输入以下命令列出所有数据库:
SHOW DATABASES;
图形化操作
- 打开图形化管理工具并连接到 MySQL 服务器。
- 在左侧的导航面板中,您将看到所有现有的数据库列表。
3. 语法关键字
MySQL 中常用的语法关键字包括:
CREATE
: 用于创建数据库、表格、视图等。SHOW
: 用于显示数据库、表格等信息。DROP
: 用于删除数据库、表格等。SELECT
: 用于从数据库中检索数据。INSERT
: 用于向表格中插入数据。UPDATE
: 用于更新表格中的数据。DELETE
: 用于删除表格中的数据。
4. 删除数据库
命令行操作
-
在 MySQL 命令行客户端中输入以下命令删除数据库:
DROP DATABASE database_name;
例如,删除名为
test_db
的数据库:DROP DATABASE test_db;
图形化操作
- 打开图形化管理工具并连接到 MySQL 服务器。
- 在左侧的导航面板中找到要删除的数据库(例如
test_db
)。 - 右键点击数据库名称,选择 “Drop Database” 或 “Delete”。
- 确认删除操作。
第二节:如何创建数据库的表格
1. 介绍MySQL的数据类型
MySQL 提供了多种数据类型,用于存储不同类型的数据。常见的数据类型包括:
- 整数类型:如
INT
,TINYINT
,SMALLINT
,MEDIUMINT
,BIGINT
。 - 字符串类型:如
CHAR
,VARCHAR
,TEXT
,BLOB
。 - 日期和时间类型:如
DATE
,TIME
,DATETIME
,TIMESTAMP
,YEAR
。 - 浮点数类型:如
FLOAT
,DOUBLE
,DECIMAL
。
2. 创建表格示例
命令行操作
-
在 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 );
图形化操作
- 打开图形化管理工具并连接到 MySQL 服务器。
- 选择要创建表格的数据库。
- 点击 “Create Table” 或 “New Table”。
- 输入表格名称(例如
students
)。 - 添加列并指定数据类型(例如
id
为INT
,name
为VARCHAR(100)
,age
为INT
)。 - 点击 “Apply” 或 “OK” 创建表格。
3. 如何增删表格中的要素
插入数据
命令行操作
-
在 MySQL 命令行客户端中输入以下命令向表格中插入数据:
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
例如,向
students
表格中插入一条记录:INSERT INTO students (name, age) VALUES ('John Doe', 20);
图形化操作
- 打开图形化管理工具并连接到 MySQL 服务器。
- 选择要插入数据的表格(例如
students
)。 - 点击 “Insert” 或 “New Row”。
- 输入数据值。
- 点击 “Apply” 或 “OK”。
删除数据
命令行操作
-
在 MySQL 命令行客户端中输入以下命令删除表格中的数据:
DELETE FROM table_name WHERE condition;
例如,删除
students
表格中年龄大于20的所有记录:DELETE FROM students WHERE age > 20;
图形化操作
- 打开图形化管理工具并连接到 MySQL 服务器。
- 选择要删除数据的表格(例如
students
)。 - 点击 “Delete” 或 “Remove Row”。
- 指定删除条件(例如,选择要删除的行)。
- 点击 “Apply” 或 “OK”。
更新数据
命令行操作
-
在 MySQL 命令行客户端中输入以下命令更新表格中的数据:
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
例如,更新
students
表格中 ID 为1的学生姓名:UPDATE students SET name = 'Jane Doe' WHERE id = 1;
图形化操作
- 打开图形化管理工具并连接到 MySQL 服务器。
- 选择要更新数据的表格(例如
students
)。 - 点击 “Update” 或 “Edit Row”。
- 修改数据值。
- 点击 “Apply” 或 “OK”。
通过以上步骤,您可以在 MySQL 中完成基本的数据库和表格操作,包括创建、列出、删除数据库以及创建、增删改查表格中的数据。
第三节:如何在创建的表格中插入要素
在 MySQL 中,向表格中插入数据(要素)时有多种方式,可以按照顺序或非顺序插入数据,同时需要注意缺省值 NULL
的使用。以下是详细操作说明:
1. 如何正常增添要素
命令行操作
-
在 MySQL 命令行客户端中输入以下命令向表格中插入数据:
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
例如,向
students
表格中插入一条记录:INSERT INTO students (name, age) VALUES ('John Doe', 20);
图形化操作
- 打开图形化管理工具并连接到 MySQL 服务器。
- 选择要插入数据的表格(例如
students
)。 - 点击 “Insert” 或 “New Row”。
- 输入数据值。
- 点击 “Apply” 或 “OK”。
2. 如何非顺序写入要素
有时您可能不按表格中列的顺序插入数据。在这种情况下,需要明确指定插入的列名。
命令行操作
-
在 MySQL 命令行客户端中输入以下命令指定列名插入数据:
INSERT INTO table_name (column2, column1, ...) VALUES (value2, value1, ...);
例如,向
students
表格中以非正常顺序插入数据:INSERT INTO students (age, name) VALUES (20, 'John Doe');
图形化操作
- 打开图形化管理工具并连接到 MySQL 服务器。
- 选择要插入数据的表格(例如
students
)。 - 点击 “Insert” 或 “New Row”。
- 输入数据值,注意按照指定的列名顺序输入。
- 点击 “Apply” 或 “OK”。
3. 如何删除指定要素
命令行操作
-
在 MySQL 命令行客户端中输入以下命令删除指定要素:
DELETE FROM table_name WHERE condition;
例如,删除
students
表格中年龄为20的记录:DELETE FROM students WHERE age = 20;
图形化操作
- 打开图形化管理工具并连接到 MySQL 服务器。
- 选择要删除数据的表格(例如
students
)。 - 点击 “Delete” 或 “Remove Row”。
- 指定删除条件(例如,选择要删除的行)。
- 点击 “Apply” 或 “OK”。
4. 缺省值 NULL 的用法
NULL
表示数据缺失或未知值。在插入数据时,如果某列允许 NULL
值,可以显式插入 NULL
,也可以在不指定该列值时默认为 NULL
。
命令行操作
-
在 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)来确保数据的完整性和一致性。常见的约束包括主键、唯一性、非空、外键和检查约束。以下是详细说明和示例:
常见约束类型
-
PRIMARY KEY(主键):
- 主键约束唯一标识表格中的每一行。一个表只能有一个主键,但主键可以由多个列组成(联合主键)。
CREATE TABLE example (id INT PRIMARY KEY,name VARCHAR(50) );
-
UNIQUE(唯一约束):
- 唯一约束确保一列或多列的值在表格中是唯一的,允许一个表格中有多个唯一约束。
CREATE TABLE example (id INT,email VARCHAR(100) UNIQUE );
-
NOT NULL(非空约束):
- 非空约束确保一列不能存储 NULL 值。
CREATE TABLE example (id INT,name VARCHAR(50) NOT NULL );
-
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) );
-
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_id | name | major |
---|---|---|
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`;
修改和删除操作的注意事项
- 谨慎使用
UPDATE
和DELETE
语句:特别是在没有WHERE
子句的情况下,可能会意外修改或删除表格中的所有数据。 - 备份数据:在执行批量修改或删除操作前,建议先备份数据,以防出现操作失误导致数据丢失。
- 使用事务:在需要保证数据操作的原子性时,可以使用事务(
START TRANSACTION
,COMMIT
,ROLLBACK
)来确保数据的完整性。
如果这对您有所帮助,希望点赞支持一下作者! 😊



[ 详细全文-点击查看](
)
相关文章:

MySQL 基本语法讲解及示例(上)
第一节:MySQL的基本操作 1. 创建数据库 在 MySQL 中,创建数据库的步骤如下: 命令行操作 打开 MySQL 命令行客户端或连接到 MySQL 服务器。 输入以下命令创建一个数据库: CREATE DATABASE database_name;例如,创建一…...
6.18作业
完善对话框,点击登录对话框,如果账号和密码匹配,则弹出信息对话框,给出提示”登录成功“,提供一个Ok按钮,用户点击Ok后,关闭登录界面,跳转到其他界面 如果账号和密码不匹配ÿ…...
Excel文件转换为HTML文件
文章目录 前言安装python包python代码 前言 将一个Excel文件转换为HTML文件 安装python包 使用pandas和openpyxl库来实现这个功能 pip install pandas openpyxlpython代码 1、首先使用tkinter库中的filedialog模块弹出一个对话框来选择要转换的Excel文件 2、使用pandas库…...

MySQL数据库入门
1、MySQL概述 MySQL官方网站 https://www.mysql.com/downloads/ MySQL被Oracle公司收购了,作者又重新编写了一个开源的数据库管理系统,Mariadb 2、MySQL产品&版本 2、数据库在网站架构中的角色 LAMP LNMP网站架构 3、安装MySQL-基于yum 查…...

vue element-ui 下拉框 以及 input 限制输入,小数点后保留两位 界面设计案例 和 例子:支持mp4和m3u8视频播放
vue input 限制输入,小数点后保留两位 以及 图片垂直居中显示 和 分享 git 小技巧-CSDN博客文章浏览阅读430次,点赞5次,收藏4次。error:Your local changes to the following files would be overwritten by merge:_error: your local change…...

Python基础用法 之 运算符
1.算数运算符 符号作用说明举例加与“”相同 - 减与“-”相同*乘 与“ ”相同 9*218/除 与“ ”相同 9/24.5 、6/32.0//求商(整数部分) 两个数据做除法的 商 9//24%取余(余数部分) 是两个数据做除法的 余数 9%21**幂、次方2**…...

事务所管理系统的设计
管理员账户功能包括:系统首页,个人中心,管理员管理,客户管理,评论管理,基础数据管理,公告信息管理 客户账户功能包括:系统首页,个人中心,律师管理࿰…...
airsim安装
继续进行,遇到下面的报错 Cannot find path HKEY_CLASSES_ROOT\Unreal.ProjectFile\shell\rungenproj 在Git地址的issue中,搜到下面的解决方法,根因是安装Unreal Engine之后未重启电脑,文件未关联导致,或者出现重定向…...

打造精致UI界面:字体设计的妙招
字体设计是UI设计的关键模块之一。字体设计是否有效可能直接实现或破坏整个UI界面。那么,界面设计的字体设计有哪些规范呢?如何设计细节字体?本文将解释字体设计规范的可读性、可读性和可用性,并介绍UI界面中的字体设计技巧。 如…...

[BJDCTF2020]ZJCTF,不过如此1
打开题目可以看到一段php文件包含,源码如下 <?phperror_reporting(0); $text $_GET["text"]; $file $_GET["file"]; if(isset($text)&&(file_get_contents($text,r)"I have a dream")){echo "<br><h1>…...

全网最全 Kimi 使用手册,看完 Kimi 效率提升 80%
在当前AI文字大模型领域,ChatGPT4.0无疑是最强大。然而,最近最火爆的大模型非国产Kimi莫属。 相较于其它大模型,Kimi 最大的优势在于,超长文本输入,支持200万汉字,是全球范围内罕见的超长文本处理工具&…...

“Redis中的持久化:深入理解RDB与AOF机制“
目录 # 概念 1. RDB持久化 1.1 备份是如何执行的(RDB过程) 1.2 配置文件信息 1.3 RDB持久化操作 1.4 RDB优势 1.5 RDB劣势 1.6 RDB做备份 2. AOF持久化 2.1 AOF开启及使用 2.2 异常恢复 2.3 配置文件操作 2.4 AOF持久化流程 2.5 优点 2.6…...
PHP框架详解:Symfony框架讲解
PHP作为一种流行的服务器端编程语言,拥有众多框架,其中Symfony是备受开发者推崇的一个强大框架。本文将详细讲解Symfony框架的特点、优势及其主要组件和用法。 一、Symfony简介 Symfony是由Fabien Potencier于2005年创建的一个开源PHP框架。它基于MVC&…...

PR软件视频抠图换背景
1 新建项目 2 新建序列 在项目的右下角有个图标,新建 序列 序列是视频的制作尺寸,根据自己的需要选择 3 新建颜色遮罩 在项目的右下角--新建颜色遮罩--选择黑色--确定 4 导入视频 把要导入视频的文件夹打开,把视频拖到 项目 里 把黑色遮罩拖…...

下载依赖有问题(只有自己有问题)
有缓存! 删除node_modules 命令:npm run clean 前提是该项目支持这个命令:package.json > scripts 内有 clean 例如下面这个就没有clean,则直接手动删除 清除缓存 npm cache clean --force pnpm store prune删除lock文件 …...

vscode-关闭ts与js语义校验
1.ts与js语义校验 TypeScript(TS)和JavaScript(JS)在语义校验方面有很大的不同。TypeScript是一种静态类型检查的编程语言,它是JavaScript的一个超集,为JavaScript添加了类型系统和其他一些特性。而JavaScr…...

风控中的文本相似方法之余弦定理
一、余弦相似 一、 余弦相似概述 余弦相似性通过测量两个向量的夹角的余弦值来度量它们之间的相似性。0度角的余弦值是1,而其他任何角度的余弦值都不大于1;并且其最小值是-1。 从而两个向量之间的角度的余弦值确定两个向量是否大致指向相同的方向。结…...
Spring Boot定时任务编程指南:如何创建和配置周期性任务
🍁 作者:知识浅谈,CSDN签约讲师,CSDN博客专家,华为云云享专家,阿里云专家博主 📌 擅长领域:全栈工程师、爬虫、ACM算法 🔥 微信:zsqtcyw 联系我领取学习资料 …...
Java 获取客户端 IP 地址【工具类】
Java 获取客户端 IP 地址 import javax.servlet.http.HttpServletRequest; import java.net.InetAddress;/*** 网络工具类*/ public class NetUtils {/*** 获取客户端 IP 地址** param request 请求* return {link String}*/public static String getIpAddress(HttpServletReq…...

区块链中nonce是什么,什么作用
目录 区块链中nonce是什么,什么作用 区块链中nonce是什么,什么作用 Nonce在以太坊中是一个用于确保交易顺序性和唯一性的重要参数。以下是对Nonce的详细解释: 定义 Nonce是一个scalar值,它等于从该地址发送的交易数量,或在具有关联代码的账户的情况下,由该账户创建的合…...

第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...

如何在看板中有效管理突发紧急任务
在看板中有效管理突发紧急任务需要:设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP(Work-in-Progress)弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中,设立专门的紧急任务通道尤为重要,这能…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...

什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...

springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...
Go语言多线程问题
打印零与奇偶数(leetcode 1116) 方法1:使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...

Unity中的transform.up
2025年6月8日,周日下午 在Unity中,transform.up是Transform组件的一个属性,表示游戏对象在世界空间中的“上”方向(Y轴正方向),且会随对象旋转动态变化。以下是关键点解析: 基本定义 transfor…...
LLaMA-Factory 微调 Qwen2-VL 进行人脸情感识别(二)
在上一篇文章中,我们详细介绍了如何使用LLaMA-Factory框架对Qwen2-VL大模型进行微调,以实现人脸情感识别的功能。本篇文章将聚焦于微调完成后,如何调用这个模型进行人脸情感识别的具体代码实现,包括详细的步骤和注释。 模型调用步骤 环境准备:确保安装了必要的Python库。…...