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

文章目录

  • 前言
  • 一、库的基本操作
    • 显示当前所有数据库
    • 创建数据库
    • 使用数据库
    • 删除数据库
  • 二、表的基本操作
    • 创建表
    • 查看库中所有表
    • 查看表结构
    • 删除表
  • 三、表的增删改查(基础)
    • 新增数据(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.mzph.cn/news/3134.shtml

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

相关文章

【Kubernetes运维篇】RBAC之准入控制器详解

文章目录 一、ResourceQuota准入控制器1、ResourceQuota是什么&#xff1f;2、限制CPU、内存、Pod数量、Deployment数量3、限制存储空间大小 二、LimitRanger准入控制器1、LimitRanger是什么&#xff1f;2、LimitRanger限制案例 一、ResourceQuota准入控制器 中文官方参考文档…

scrapy

scrapy介绍安装--架构 Scrapy 是一个爬虫框架&#xff08;底层代码封装好了&#xff0c;只需要在固定位置写固定代码即可&#xff09;&#xff0c;应用领域比较广泛---》爬虫界的django# 安装 #Windows平台1、pip3 install wheel #安装后&#xff0c;便支持通过wheel文件安装软…

c#调用cpp库,debug时不进入cpp函数

选中c#的项目&#xff0c;右击属性&#xff0c;进入属性页&#xff0c;点击调试&#xff0c;点击打开调试启动配置文件UI&#xff0c;打开启用本机代码调试。

相机标定学习笔记

Kalibr 是标定工具中&#xff0c;唯一一个可以标定camToImu的&#xff0c;是vio必不可少的工具&#xff0c;其他的都有替代品。所以学习多种开源算法进行相机标定&#xff0c;并记录学习相机标定的过程。 一、相机标定 1、在场景中放置一个已知的物体 &#xff08;1&#xff…

MySQL的四种主要存储引擎

目录 &#xff08;一&#xff09;MyISAM &#xff08;二&#xff09;InnoDB 1)自动增长列&#xff1a; 2)外键约束&#xff1a; &#xff08;三&#xff09;MEMORY &#xff08;四&#xff09;MERGE 什么是存储引擎&#xff1f; 对MySQL来说&#xff0c;它提供了存储不…

【wifi模块选型指导】数据传输WiFi模块的选型参考_USB/UART接口WiFi模块

数据传输WiFi模块有USB接口和UART接口两大类&#xff0c;为满足行业客户的不同应用需求&#xff0c;SKYLAB研发推出了多款2.4GHz单频&#xff0c;2.4/5GHz双频的USB接口WiFi模块和UART接口WiFi模块&#xff0c;数据传输能力&#xff0c;传输距离各有不同。怎么选才是最适合的呢…

基于ResNet50算法实现图像分类识别

概要 在本文中将介绍使用Python语言&#xff0c;基于TensorFlow搭建ResNet50卷积神经网络对四种动物图像数据集进行训练&#xff0c;观察其模型训练效果。 一、目录 ResNet50介绍 图片模型训练预测 项目扩展 二、ResNet50介绍 ResNet50是一种基于深度卷积神经网络&#xff…

性能测试需求分析怎么做?(中)

本系列文章我们为大家系统地介绍一下性能测试需求分析&#xff0c;让大家全面掌握性能测试的第一个环节。本系列文章将会从性能测试需求分析整体概述、性能测试需求分析内容、性能测试需求分析方法这三个方面进行展开。在&#xff08;上&#xff09;部分中&#xff0c;我们为大…

238. 除自身以外数组的乘积

题目描述&#xff1a; 主要思路&#xff1a; 正逆各扫一遍&#xff0c;利用数组存储当前数左边和右边的乘积。 class Solution { public:vector<int> productExceptSelf(vector<int>& nums) {int nnums.size();vector<int> ans;int l[n1],r[n1];l[0]1,…

python将dataframe数据导入MongoDB非关系型数据库

文章目录 pymongo连接新建数据库和集合pandas导入数据插入数据数据查看 pymongo连接 import pymongo client pymongo.MongoClient("mongodb://localhost:27017/") dblist client.list_database_names() for db in dblist:print(db) #查看已有数据库admin bilibil…

【kubernetes系列】kubernetes之计算资源管理

资源类型 在 Kubernetes 中&#xff0c;Node 提供资源&#xff0c;而 Pod 使用资源。其中资源分为计算&#xff08;CPU、Memory、GPU&#xff09;、存储&#xff08;Disk、SSD&#xff09;、网络&#xff08;Network Bandwidth、IP、Ports&#xff09;。这些资源提供了应用运行…

自动化测试之数据驱动与关键字驱动

目录 1.录制/回放的神话 2.数据驱动的自动化测试框架 3.关键字驱动的自动化测试 初次接触自动化测试时&#xff0c;对数据驱动和关键字驱动不甚理解&#xff0c;觉得有点故弄玄须&#xff0c;不就是参数和函数其嘛&#xff01;其实其也体现了测试所不同与开发的一些特点&…

目标检测——R-CNN网络基础

目录 Overfeat模型RCNN模型算法流程候选区域生成CNN网络提取特征目标分类&#xff08;SVM&#xff09;目标定位预测过程 算法总结 Fast RCNN模型算法流程ROI Pooling目标分类和回归 模型训练模型总结 Overfeat模型 RCNN模型 算法流程 候选区域生成 CNN网络提取特征 目标分类&am…

机器学习1

核心梯度下降算法&#xff1a; import numpy as np from utils.features import prepare_for_trainingclass LinearRegression:def __init__(self,data,labels,polynomial_degree 0,sinusoid_degree 0,normalize_dataTrue):"""1.对数据进行预处理操作2.先得到…

Python-Web框架flask使用

目录 1.Web框架 1.1 flask 1.1.1 debug调试 1.1.2 定义参数web服务 获取字符串 ​编辑 1.1.3 html网页渲染 1.13.1 带参数传给网页文件 普通元素 列表元素 字典元素 1.Web框架 1.1 flask python的web框架&#xff0c;目录结构如下&#xff1a; 1.static存放的是css,…

Windows7中使用SRS集成音视频一对一通话

SRS早就具备了SFU的能力&#xff0c;比如一对一通话、多人通话、直播连麦等等。在沟通中&#xff0c;一对一是常用而且典型的场景&#xff0c; 让我们一起来看看如何用SRS做直播和RTC一体化的一对一通话。 一、启动windows7-docker 二、拉取SRS镜像 执行命令:docker pull oss…

BTY生态系统DNS关于DeSoc的构想

2022年5月&#xff0c;以太坊创始人Vitalik Buterin与经济学家Glen Weyl和Flashbots研究员Puja Ohlhaver联合发布了《Decentralized Society: Finding Web3’s Soul》。这篇论文的核心是围绕“Web3灵魂”创造出去中心化社会的可能性。 论文中阐述&#xff0c;当下Web3 更多是表…

程序员如何准备技术面试

程序员如何准备技术面试 &#x1f607;博主简介&#xff1a;我是一名正在攻读研究生学位的人工智能专业学生&#xff0c;我可以为计算机、人工智能相关本科生和研究生提供排忧解惑的服务。如果您有任何问题或困惑&#xff0c;欢迎随时来交流哦&#xff01;&#x1f604; ✨座右…

Nacos服务注册和配置中心(Config,Eureka,Bus)1

SCA(Spring Cloud Alibaba)核心组件 Spring Cloud是若干个框架的集合&#xff0c;包括spring-cloud-config、spring-cloud-bus等近20个子项目&#xff0c;提供了服务治理、服务网关、智能路由、负载均衡、断路器、监控跟踪、分布式消息队列、配置管理等领域的解决方案,Spring C…

python_day11_practice

将文本数据插入数据库 两文本文件为day10面向对象练习案例 将data_define.py文件复制过来&#xff08;导入失败&#xff0c;疑惑&#xff09; 新建数据库&#xff0c;建表orders -- CREATE DATABASE py_sql charset utf8;use py_sql;create table orders(order_date date,…