MySQL数据库与表的基本操作 + 表的基本CRUD(增删改查)操作

news2025/1/23 2:06:54

文章目录

  • 前言
  • 一、库的基本操作
    • 显示当前所有数据库
    • 创建数据库
    • 使用数据库
    • 删除数据库
  • 二、表的基本操作
    • 创建表
    • 查看库中所有表
    • 查看表结构
    • 删除表
  • 三、表的增删改查(基础)
    • 新增数据(Create)
      • 全列插入
      • 指定列插入
    • 查询数据(Retrieve)
      • 全列查询
      • 指定列查询
      • 查询字段为表达式
      • 指定列的别名
      • 去重:DISTINCT
      • 排序:ORDER BY
      • 条件查询:WHERE
      • 分页查询:LIMIT
    • 修改数据(Update)
    • 删除数据(Delete)
  • 总结


前言

本人是一个普通程序猿!分享一点自己的见解,如果有错误的地方欢迎各位大佬莅临指导,如果你也对编程感兴趣的话,互关一下,以后互相学习,共同进步。这篇文章能够帮助到你的话,劳请大家点赞转发支持一下!


一、库的基本操作

显示当前所有数据库

SHOW DATABASES;

在这里插入图片描述


创建数据库

大写字母为语法关键字,[]为可选项即可写可不写,

CREATE DATABASE [IF NOT EXISTS] 库名  [CHARACTER SET 字符集名];

1️⃣IF NOT EXISTS 的作用是如果数据库种已经有使用这个库名的,就不创建(不会报错),没有则成功创建。
2️⃣CHARACTER SET 字符集名,使用你指定的字符集。(当我们创建数据库没有指定字符集时,系统使用默认字符集:utf8。MySQL的utf8编码不是真正的utf8,MySQL的utf8中没有包含某些复杂的中文字符。MySQL真正的utf8是使用utf8mb4,建议大家都使用utf8mb4)

在这里插入图片描述

语句1执行时,不存在名为csdn的数据库,创建了名为csdn并且指定字符集为utf8mb4的数据库,语句1执行成功。
语句2执行时,存在名为csdn的数据库,因此并没有再创建一个名为csdn的数据库,语句2执行成功。


使用数据库

USE 库名;

在这里插入图片描述

使用数据库也可以理解为选中数据库,先选中这个数据库,才能开始对这个数据库中的数据进行操作。


删除数据库

DROP DATABASE [IF EXISTS] 库名;

IF EXISTS 的作用是如果数据库中存在这个库名的,就删除,没有则不删除(不会报错)。

在这里插入图片描述

语句1执行成功,成功删除了csdn这个数据库。
语句2执行成功,此时并不存在csdn这个数据库,就不删除了。
语句3执行失败并报错,语句3中没有 IF EXISTS 关键字,因此如果不存在要删除的库就会报错。

删库是一个高危操作,如果是在公司中,删库操作很容易带来许多不可逆的巨大损失,因此在删库之前要深思熟虑,三思而后行。


二、表的基本操作

  • 表是存在于数据库中,因此一定要先 选中一个数据库(USE 库名;) ,然后在这个数据库里操作表。

创建表

CREATE TABLE 表名 (字段名 字段类型,字段名 字段类型,...);

()中是你指定表中存在的字段名,以及字段类型。
字段名在前字段类型在后,中间用空格隔开;各字段之间用 ’ , ’ 隔开

在这里插入图片描述


查看库中所有表

SHOW TABLES;

在这里插入图片描述


查看表结构

DESC 表名;

在这里插入图片描述


删除表

DROP TABLE [IF EXISTS] 表名;
  • IF EXISTS 的作用是如果库中存在这个表,就删除,没有则不删除(不会报错)。

在这里插入图片描述

语句1执行成功,删除了student表
语句2执行成功,没有student表,不进行删除。

删表也是一个高危操作,如果是在公司中,删表操作也很容易带来许多不可逆的巨大损失,因此在删表之前要深思熟虑,三思而后行。


三、表的增删改查(基础)

在这里插入图片描述

如果不指定字符集,mysql默认字符集为utf8,但是这个utf8中不包含复杂的中文字符;此时当插入文字时,就会报错。
在这里插入图片描述

咱们针对student这个表进行增删改查操作。

student表有三个字段

字段类型
name(名字)VARCHAR(size)
age(年龄)INT
number(学号)INT

新增数据(Create)

全列插入

INSERT INTO 表名 VALUES (数据,数据,...);
  • 全列插入,也可以理解为全字段插入数据,即 给每个字段都要输入数据,且数量必须和定义表的列的数量及顺序一致

单行数据插入
在这里插入图片描述

多行数据插入
每行数据之间用 ’ , '隔开

以下sql语句同时插入了三行数据
在这里插入图片描述

指定列插入

INSERT INTO 表名 (字段名,字段名,...) VALUES (数据,数据,...);
  • 指定列插入,也可以理解为指定一些字段插入数据,即 给指定的字段输入数据,且数量必须和指定列的数量及顺序一致

单行数据插入
在这里插入图片描述

多行数据插入
每行数据之间用 ’ , '隔开

以下sql语句同时插入了三行数据
在这里插入图片描述


查询数据(Retrieve)

  • 以下多种查询,可以综合应用达到理想查询效果。

全列查询

SELECT * FROM 表名;
  • 全列查询即,将每一行数据的每个字段都查询出来。

在这里插入图片描述

通常情况下不建议使用 * 进行全列查询

全列查询 * 要慎用
1️⃣全列查询,在表中数据量级很大时,那么这一个查询操作需要传输的数据量就很大,就可能会影响整个程序的性能,甚至是程序安全。
2️⃣全列查询可能会影响到 索引 的使用。


指定列查询

SELECT 字段名,字段名,... FROM 表名;
  • 指定列查询即,将每一行数据的指定字段查询出来。

在这里插入图片描述

指定列的顺序不需要按定义表的顺序来


查询字段为表达式

SELECT 表达式,字段名,... FROM 表名;
  • 查询字段为表达式即,将表达式作为查询字段,mysql会查询出表达式中需要的数据并完成表达式的计算。

表达式不包含字段
在这里插入图片描述

表达式包含一个字段
在这里插入图片描述

表达式包含多个字段

  • NULL + 任何类型的数据 = NULL

在这里插入图片描述

指定列的别名

SELECT 字段名 [AS] 别名,字段名 [AS] 别名,字段名, ... FROM 表名;
  • 为查询结果中的列指定别名,表示返回的结果集中,以别名作为该列的名称。
    在这里插入图片描述

一条查询语句中,可以同时存在取别名的字段与不取别名的字段。


去重:DISTINCT

  • 使用DISTINCT关键字对某列数据进行去重
SELECT DISTINCT 字段,[字段,...] FROM 表名;

普通查询
在这里插入图片描述

去重查询

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
以上三条去重语句的查询,有两个要 注意 的点
1️⃣ DISTINCT要在所有字段的最前面
2️⃣ 如果DISTINCT关键字后面有多个字段时,则会对多个字段进行综合去重,只有多个字段值都对应相等的才会被去重


排序:ORDER BY

  • 根据某个字段的大小对返回的查询结果的顺序进行排序。
SELECT ... FROM 表名 ORDER BY 字段名 [ASC|DESC];

ASC 为升序(从小到大),默认为 ASC。
DESC 为降序(从大到小)。
没有 ORDER BY 子句的查询,返回的顺序是未定义的,永远不要依赖这个顺序。
NULL 数据排序,视为比任何值都小,升序出现在最上面,降序出现在最下面。

普通排序
在这里插入图片描述

使用表达式及别名排序
在这里插入图片描述
在这里插入图片描述

对多个字段进行排序
对多个字段进行排序时,排序优先级随书写顺序。

在这里插入图片描述


条件查询:WHERE

比较运算符

运算符说明
>, >=, <, <=大于,大于等于,小于,小于等于
=等于,NULL 不安全,例如 NULL = NULL 的结果是 NULL
<=>等于,NULL 安全,例如 NULL <=> NULL 的结果是 TRUE
!=或<>不等于
BETWEEN a0 AND a1范围匹配,[a0, a1],如果 a0 <= value <= a1,返回 TRUE
IN (option, …)如果是 option 中的任意一个,返回 TRUE
IS NULL是 NULL
IS NOT NULL不是 NULL
LIKE模糊匹配。% 表示任意多个(包括 0 个)任意字符;_ 表示任意一个字符

逻辑运算符

运算符说明
AND多个条件必须都为 TRUE,结果才是 TRUE
OR任意一个条件为 TRUE, 结果为 TRUE
NOT逻辑取反(TRUE为 FALSE,FALSE为TRUE)

注意
WHERE条件可以使用表达式,但不能使用别名。

AND的优先级高于OR,在同时使用时,需要使用小括号()包裹优先执行的部分

SELECT ... FROM 表名 WHERE BOOLEAN表达式

使用例子: 在这里插入图片描述
在这里插入图片描述


分页查询:LIMIT

SELECT ... FROM 表名 [...] LIMIT n [OFFSET s];

上述语句表示,只查询n条数据,从第s条数据开始查询,(第一个数据为第0条)。
[ ]中可有可无,如果无则默认从第0条数据开始查询

在这里插入图片描述


修改数据(Update)

UPDATE 表名 SET 字段 = 修改后数据 [其他查询语句WHERE];

实现效果:将无名氏的年龄修改为30。
在这里插入图片描述


删除数据(Delete)

删除某行数据

DELETE FROM 表名 where等查询条件;

在这里插入图片描述
删除表中所有数据
在这里插入图片描述

删除表中数据后,表依然存在,只是其中没有数据了。


总结

以上就是今天要讲的内容,本文分享了数据库,表的基本操作,以及对表中数据的CRUD(增删改查)操作,后续还会带来对表中数据的进阶CRUD(增删改查)操作,敬请期待!

路漫漫不止修身,也养性。

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

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

相关文章

微服务: 04-springboot中rabbitmq配置,消息回收,序列化方式

目录 1. 本文简介: 1.1 java序列化的缺点 ---> 1.1.1 无法跨语言 --->1.1.2 易被攻击 ---> 1.1.3 序列化后的流太大 ---> 1.1.4 序列化性能太差 2. 配置总览 2.1 基础配置 2.2 连接重试配置 2.3 异常重试机制 2.4 确认模式(本篇是自动) ---> 2.4.1…

VoIP监控工具有什么作用

VoIP 监控工具利用思科的 IPSLA 技术生成合成流量并监控客户端体验的呼叫质量。与被动监控VoIP指标相反&#xff0c;IPSLA技术允许IT管理员主动并在潜在问题发生之前检测到它们&#xff0c;这使组织能够轻松遵守严格的SLA指标。 思科 IPSLA 技术在两台设备之间创建流量&#x…

【Ceph集群应用】Ceph块存储之RBD接口详解

Ceph块存储之RBD接口详解 1.创建Ceph块存储系统RBD接口1.1 删除镜像1.2 还原镜像1.3 在线扩容1.4 回滚镜像到指定位置1.5 删除快照1.6 快照分层1.7 快照展平1.8 镜像的导出导入 接上文基于ceph-deploy部署Ceph集群详解 1.创建Ceph块存储系统RBD接口 &#xff08;1&#xff09;…

一文9个步骤带你从0到1入门接口自动化测试!

1.请问你是如何做接口测试的&#xff1f; 大体来说&#xff0c;经历以下过程&#xff1a;接口需求调研、接口测试工具选择、接口测试用例编写、接口测试执行、接口测试回归、接口测试自动化持续集成。 具体来说&#xff0c;接口测试流程分成以下九步&#xff1a; 第一步&…

设计模式 ~ 观察者模式

概念 观察者模式是一种设计模式&#xff0c;也被称为发布-订阅模式或事件模式&#xff1b; 用于在对象之间建立一种一对多的依赖关系&#xff0c;当一个对象的状态发生改变时&#xff0c;所有依赖于它的对象都会得到通知并自动更新&#xff1b; ~ 如&#xff1a;DOM事件、vue …

【Windows】重新安装显卡

我的设备&#xff1a; ROG 幻15 显卡重装教程&#xff1a; 进入nvidia官网 https://www.nvidia.cn/geforce/drivers/ 下载GeForce Game Ready 驱动程序

哇~真的是你呀!今天是LIUNX中的SAMBA。

目录 前言 一、概述 二、安装 三、在SAMBA服务器中设置共享目录 四、客户端查看共享目录及登录 五、本地映射 六、客户端自动挂载 七、用户别名 八、访问控制 总结 前言 SAMBA是一个开源的软件套件&#xff0c;用于在Linux和UNIX系统上实现SMB/CIFS网络协议。SMB&#xff08;S…

blender 阵列修改器

效果 tab 键进入编辑模式&#xff0c;全选制作好的模型&#xff0c;gx 移动模型置于游标原点&#xff1b; 阵列修改器&#xff1a; 相对偏移&#xff1a;以物体的长宽高为比例&#xff0c;调整x y z 的数值&#xff0c;在 x y z 方向上做不同比例的偏移&#xff1b; 恒定偏移…

GPT 吞噬一切!我们还需要编程语言吗?

本文由 GPT- 4 所创作&#xff0c;配图由 Stable Doodle 及 ChatGPT 们生成。 编者按 AGI 的未来&#xff0c;究竟属于 Rust 还是 Mojo&#xff1f;或者我们还需要编程语言吗&#xff1f; 今天&#xff0c;LLVM 之父、苹果的编程语言 Swift 之父、新编程语言 Mojo 之父 Chris…

经典常谈思维导图怎么制作?手把手教你制作

经典常谈思维导图怎么制作&#xff1f;创建思维导图可以帮助我们更好地组织和整理信息&#xff0c;帮助我们更好地理解和记忆信息。它可以使我们更高效地学习和工作&#xff0c;并帮助我们更好地表达和分享我们的想法和想法。因此&#xff0c;制作思维导图是一种非常有用的技能…

uboot移植裁剪原理和流程

一、Uboot的裁剪是裁剪什么&#xff1f; Uboot的裁剪分为两个方面&#xff1a;Uboot本身命令的裁剪和具体SoC硬件配置的裁剪。 1、Uboot本身命令的裁剪   Uboot提供了很多的操作命令&#xff0c;我们使用Uboot的时候通常只使用最常用的一些命令&#xff0c;其他很多的命令有…

Azido cyclic(RGDyK)整合素靶向环肽c(RGDyK),试剂有哪些特点?

资料编撰来源&#xff1a;陕西新研博美生物科技有限公司小编MISSwu Azido cyclic&#xff08;RGDyK&#xff09;环肽 PART1-----Product structure PART2------Product specifications 1.CAS No&#xff1a;N/A 2.Molecular formula&#xff1a;C35H46N12O9.CF3COOH 3.Molecul…

06-C++ 基本算法 - 二分法

&#x1f4d6; 前言 在这个笔记中&#xff0c;我们将介绍二分法这种基本的算法思想&#xff0c;以及它在 C 中的应用。我们将从一个小游戏猜数字开始&#xff0c;通过这个案例来引出二分法的概念。然后我们将详细讲解什么是二分法以及它的套路和应用。最后&#xff0c;我们还会…

基于VUE的音乐qq网站设计与实现(Java+spring boot+MySQL+VUE)

获取源码或者论文请私信博主 演示视频&#xff1a; 基于VUE的音乐qq网站设计与实现&#xff08;Javaspring bootMySQLVUE&#xff09; 使用技术&#xff1a; 前端&#xff1a;html css javascript jQuery ajax thymeleaf 微信小程序 后端&#xff1a;Java springboot框架 my…

基于RASC的keil电子时钟制作(瑞萨RA)(2)----配置keil以及使用串口进行打印

基于RASC的keil电子时钟制作_配置keil以及使用串口进行打印 概述参考文档硬件准备视频教程新建工程保存工程路径芯片配置工程模板选择时钟设置管脚配置UART配置UART属性配置DEBUG配置printf()函数设置e2studio堆栈生成工程设置RA Smart Configurator到Keilkeil配置Ddbug设置R_S…

SpringSecurity(6.1.x版本) 认证,授权,自定义登录,内部机制探讨

SpringSecurity 文章目录 SpringSecurityCSRF跨站请求伪造攻击SFA会话固定攻击XSS跨站脚本攻击开发环境搭建认证直接认证使用数据库认证自定义验证 其他配置自定义登录界面记住我功能 授权基于角色授权基于权限授权使用注解权限判断 内部机制探究授权校验流程安全上下文安全上下…

嵌入式必学~黑马新教程发布,你准备好了吗

科技的不断发展&#xff0c;给计算机行业带来了很多机会&#xff0c;嵌入式开发的前景也越来越广阔&#xff0c;过去的嵌入式是&#xff1a;电器、机械、交通设备。现在的嵌入式是&#xff1a;手机、智能家居、物联网、新能源、新基建、芯片...... 随着国家政策的倾斜&#xf…

配置uprof环境

AMD uprof 1/从AMD μProf | AMD处下载两个文档 2/解压 tar jxvf filename 3/将.rpm转换成deb Ubuntu的软件包格式是deb&#xff0c;如果要安装rpm的包&#xff0c;则要先用alien把rpm转换成deb。 sudo apt-get install alien #alien默认没有安装&#xff0c;所以首先要安…

2023-07-10 linux IIO子系统使用学习,在TI 的ads1015驱动里面看到相关使用,故花点时间进行简单的学习,入门级别,纪录点滴。

一、Linux IIO&#xff08;Industrial I/O&#xff09;架构是Linux内核提供的一种用于支持各种类型传感器和数据采集设备的子系统&#xff0c;包括温度、压力、湿度、加速度、光度等多种传感器。 二、这个就是ads1015的驱动&#xff0c;里面用到iio子系统。 ti-ads1015.c adc…

数据脱敏的 3 种常见方案,好用到爆!

1.SQL数据脱敏实现 MYSQL(电话号码,身份证)数据脱敏的实现 -- CONCAT()、LEFT()和RIGHT()字符串函数组合使用&#xff0c;请看下面具体实现-- CONCAT(str1,str2,…)&#xff1a;返回结果为连接参数产生的字符串 -- LEFT(str,len)&#xff1a;返回从字符串str 开始的len 最左字…