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值,它等于从该地址发送的交易数量,或在具有关联代码的账户的情况下,由该账户创建的合…...

探索Python的多媒体解决方案:ffmpy库
文章目录 探索Python的多媒体解决方案:ffmpy库一、背景:数字化时代的多媒体处理二、ffmpy:Python与ffmpeg的桥梁三、安装ffmpy:轻松几步四、ffmpy的五项基本功能1. 转换视频格式2. 调整视频质量3. 音频转换4. 视频截图5. 视频合并…...

dmhs同步因目的端表自增列报错解决方法
dmhs同步因目的端表自增列报错解决方法 1 dmhs copy 装载数据时报错 HY000 CODE:-27232 配置源端捕获器cpt 1 dmhs copy 装载数据时报错 HY000 CODE:-2723 ERR:Only if specified in the column list and SET IDENTITY INSERT is ON, then identity column could be assigned …...

封装分发安装教程
【安装环境】 Linux伪静态 PHP7.1mysql5.6 SSL 证书 (使用宝塔) 1、在宝塔上面新建站点,把压缩包上传到根目录,解压出来,然后导入 sql 数据库文件,再 然后修改数据库配置 source\system\db_config.php 2、…...

redis从入门到进阶——数据类型、 操作、数值操作、发布订阅、消息队列、布隆过滤器、事务
文章目录 基础数据类型操作数值操作 进阶发布订阅消息队列布隆过滤器事务 基础 数据类型 string,set, hash, list, zset 操作 string符串类型: 保存一个字符串:set key value [EX seconds|PX milliseconds...] [NX|XX]EX:设置…...

剖析 Kafka 消息丢失的原因
文章目录 前言一、生产者导致的消息丢失的场景场景1:消息太大解决方案 :1、减少生产者发送消息体体积2、调整参数max.request.size 场景2:异步发送机制解决方案 :1、使用带回调函数的发送方法 场景3:网络问题和配置不当…...

阿里又出AI神器,颠覆传统图像编辑,免费开源!
文章首发于公众号:X小鹿AI副业 大家好,我是程序员X小鹿,前互联网大厂程序员,自由职业2年,也一名 AIGC 爱好者,持续分享更多前沿的「AI 工具」和「AI副业玩法」,欢迎一起交流~ 最近阿里开源了 Mi…...

git 大文本上传和下载git-lfs
1. ubuntu 1)下载脚本来自动化配置系统上的包存储库,导入签名密钥等过程。这些脚本必须在root下运行。 # apt/deb repos: curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash # curl -s https://packag…...

Ps:脚本与动作
有三种脚本语言可用于编写 Photoshop 脚本:AppleScript(macOS)、JavaScript 和 VBScript(Windows)。 Photoshop 脚本文件默认文件夹 Win:C:\Program Files\Adobe\Adobe Photoshop 2024\Presets\Scripts Mac…...

MySQL数据库回顾(1)
数据库相关概念 关系型数据库 概念: 建立在关系模型基础上,由多张相互连接的二维表组成的数据库。 特点: 1.使用表存储数据,格式统一,便于维护 2.使用SQL语言操作,标准统一,使用方便 SOL SQL通用语法 …...

文字炫酷祝福 含魔法代码
效果下图:(可自定义显示内容) 代码如下: <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initi…...