MySQL:CRUD(有图有实操)

文章目录

  • [📑1. 数据库的操作](#📑1. 数据库的操作)
    • [🌤️1.1 显示当前的数据库](#🌤️1.1 显示当前的数据库)
    • [🌤️1.2 创建数据库](#🌤️1.2 创建数据库)
    • [🌤️1.3 选中数据库](#🌤️1.3 选中数据库)
    • [🌤️1.4 删除数据库](#🌤️1.4 删除数据库)
  • [📑2. 表的操作](#📑2. 表的操作)
    • [🌤️2.1 查看表结构](#🌤️2.1 查看表结构)
    • [🌤️2.2 创建表](#🌤️2.2 创建表)
    • [🌤️2.3 删除表](#🌤️2.3 删除表)
    • [🌤️2.4 向表中插入数据](#🌤️2.4 向表中插入数据)
      • [💫2.4.1 单行数据 + 全列插入](#💫2.4.1 单行数据 + 全列插入)
      • [💫2.4.2 多行数据 + 指定列插入](#💫2.4.2 多行数据 + 指定列插入)
    • [🌤️2.5 查询](#🌤️2.5 查询)
      • [💫2.5.1 全列查询](#💫2.5.1 全列查询)
      • [💫2.5.2 指定列查询](#💫2.5.2 指定列查询)
      • [💫2.5.3 查询字段为表达式](#💫2.5.3 查询字段为表达式)
      • [💫2.5.4 别名(as)](#💫2.5.4 别名(as))
      • [💫2.5.5 去重(distinct)](#💫2.5.5 去重(distinct))
      • [💫2.5.6 排序(order by)](#💫2.5.6 排序(order by))
      • [💫2.5.7 条件查询(where)](#💫2.5.7 条件查询(where))
      • [💫2.5.8 分页查询(limit)](#💫2.5.8 分页查询(limit))
      • [💫2.5.9 修改(Update)](#💫2.5.9 修改(Update))
      • [💫2.5.10 删除(Delete)](#💫2.5.10 删除(Delete))
  • ☁️结语

📑1. 数据库的操作

MySQL命令是不区分大小写的,为了风格统一,以下只使用小写字母。

🌤️1.1 显示当前的数据库

show databases;

示例:显示MySQL中的数据库

还记得刚开始用MySQL,总是忘记写分号...

🌤️1.2 创建数据库

create database 数据库名;

示例:创建一个test数据库

注意:MySQL 5.7 及之前版本默认的字符集是 latin1 ,MySQL 8.0 版本默认的字符集是 utf8mb4 。

🌤️1.3 选中数据库

必须先选中要使用的数据库,才可以操作数据库。

mysql 复制代码
use 数据库名;

如果没选中数据库,就对数据库进行操作,就会出现报错:

选中后,才能正常使用:

🌤️1.4 删除数据库

drop database 数据库名;

使用drop删除数据库时,会把数据库中的表和数据全部删除。

注意:删除操作一定要慎重、慎重,删除后数据基本上不可恢复。

示例:删除test数据库

📑2. 表的操作

🌤️2.1 查看表结构

desc 表名;

示例:查看book结构

🌤️2.2 创建表

create table 表名(字段名 字段类型,字段名 字段类型,...);

示例:创建book表

🌤️2.3 删除表

drop table 表名;

注意:删除操作一定要慎重、慎重,删除后数据基本上不可恢复。

示例:删除book表

🌤️2.4 向表中插入数据

💫2.4.1 单行数据 + 全列插入

insert into 表名 values(...,...,...);

注意括号内的数据必须和定义表的列的数量和顺序一致

示例:向book表中插入一条数据

插入结果:

在MySQL中,now()函数用于返回当前日期和时间。它支持日期和时间的不同格式,并且可以在查询中使用。

💫2.4.2 多行数据 + 指定列插入

insert into 表名 (字段名,字段名,...) values(...,...,...);

注意括号内的数据必须和定义表的列的数量和顺序一致

示例:向book表中插入这样一个数据,作者名为:作者 、价格为:2 的数据。

如果要插入多行数据,只需:insert into 表名 (字段名,字段名,...) values(...,...,...),(...,...,...);即在values后面多加几个小括号,括号中间使用逗号分隔即可。

示例:向book表中一次性插入2个数据。

🌤️2.5 查询

注意:查询也是一个非常危险的操作,在工作中要慎重使用!!因为在工作中表中的数据量很多,这就意味着在查询时服务器要传输大量的数据,可能影响其他人对数据库进行操作,一不小心公司的损失就要进入按分钟计时了!!

💫2.5.1 全列查询

select * from 表名;

示例:查询book表中的内容

💫2.5.2 指定列查询

select 字段名,字段名,.... from 表名

示例:查询book表中的书名和作者

💫2.5.3 查询字段为表达式

select 字段名,字段名... 查找的值,查找的值... from 表名

示例:查询名字为"1"的书

查询book中的书名,以及对应价格+10后的价格。

注意:这里的价格+10后,并不影响数据库中的价格,数据库中的价格仍然是原价格。

💫2.5.4 别名(as)

select 字段名 as 别名 from 表名;

示例:查询一下学生表中的各学生总分

💫2.5.5 去重(distinct)

select distinct 字段名 from 表名;

示例:给english这一列去重

注意:去重并没有改变原数据库中的内容。

💫2.5.6 排序(order by)

select ... from 表名 order by 字段名;

在字段名后面可以写上asc(升序)/desc(降序),如果不写,则默认为升序

注意:

  1. 没有 ORDER BY 子句的查询,返回的顺序是未定义的,永远不要依赖这个顺序
  2. NULL 数据排序,视为比任何值都小,升序出现在最上面,降序出现在最下面
  3. 可以对多个字段进行排序,排序优先级随书写顺序

示例1:在students表中按student_id进行升序排序

示例2:在students表中按student_id进行降序排序

示例3:在students表中依次按数学降序,英语升序,语文升序的方式显示

💫2.5.7 条件查询(where)

比较运算符:

逻辑运算符:

注意:

  1. where条件可以使用表达式,但不能使用别名
  2. and的优先级高于or,在同时使用时,需要使用小括号()包裹需要优先执行的部分

示例1: 在studens表中查询englis小于70的学生

示例2: 在studens表中查询所有分数大于70的学生

示例3: 在studens表中查询数学大于70,英语分在[75,85]之间的学生

示例4: 在studens表中查询姓张的学生

💫2.5.8 分页查询(limit)

select ... from 表名 limit s offset n;

以上命令的效果为,从表中查找...,从s开始,向后查n条内容。

1.如果不写s和offset,则默认从0位置开始查找。

2.第一条数据的下标为0

示例1:在studens表中查询2个学生

示例2:在studens表中从第二个学生开始向后查找5个学生

💫2.5.9 修改(Update)

update 表名 set 字段名 = ... ;

注意:修改操作会真正影响数据库中存储的数据

示例1:在studens表中将math这一列全部设置为100

示例2:在students表中将小红的english改为95

💫2.5.10 删除(Delete)

delete from 表名;

示例:在students表中删除张三的成绩

注意:delete和drop是MySQL中两个不同的操作。

  1. delete操作是用于从表中删除数据行。delete语句可以使用where子句指定删除的条件,以确定哪些数据行将被删除。delete语句执行后,被删除的数据行将从表中移除,但表的结构和其他数据行将保持不变。
  2. drop操作是用于删除整个表。drop table语句将删除指定的表以及表中的所有数据和索引。

☁️结语

请给自己些耐心,不要急于求成。
山外青山楼外楼,莫把百尺当尽头。
保持空杯心态加油努力吧!


都看到这里啦!真棒(*^▽^*)

可以给作者一个免费的赞赞吗,这将会鼓励我继续创作,谢谢大家

如有纰漏或错误,欢迎指正


相关推荐
Java探秘者3 小时前
Maven下载、安装与环境配置详解:从零开始搭建高效Java开发环境
java·开发语言·数据库·spring boot·spring cloud·maven·idea
2301_786964363 小时前
3、练习常用的HBase Shell命令+HBase 常用的Java API 及应用实例
java·大数据·数据库·分布式·hbase
苹果醋33 小时前
大模型实战--FastChat一行代码实现部署和各个组件详解
java·运维·spring boot·mysql·nginx
阿维的博客日记4 小时前
图文并茂解释水平分表,垂直分表,水平分库,垂直分库
数据库·分库分表
wrx繁星点点5 小时前
事务的四大特性(ACID)
java·开发语言·数据库
小小娥子6 小时前
Redis的基础认识与在ubuntu上的安装教程
java·数据库·redis·缓存
DieSnowK6 小时前
[Redis][集群][下]详细讲解
数据库·redis·分布式·缓存·集群·高可用·新手向
计算机学姐6 小时前
基于SpringBoot+Vue的高校运动会管理系统
java·vue.js·spring boot·后端·mysql·intellij-idea·mybatis
-XWB-6 小时前
【MySQL】数据目录迁移
数据库·mysql
老华带你飞6 小时前
公寓管理系统|SprinBoot+vue夕阳红公寓管理系统(源码+数据库+文档)
java·前端·javascript·数据库·vue.js·spring boot·课程设计