《MySQL学习笔记》这些基础的增删改查——你学会了吗?

目录

前言 

一、数据库相关操作

二、数据表的相关操作 

三、数据的新增和查询

insert数据的新增

select基础查询

select 进阶查询

四、数据的更新和删除

数据的更新

数据的删除


前言 

铁子们,从今天开始我们就要进入数据库的学习当中了😁

准备好了吗?我要发车了,嘻嘻

一、数据库相关操作

数据库的创建

create database 数据库的名字;      ——————注意这里的分号是半角格式

查看当前所有的数据库

show databases; 

数据库删除

drop database 数据库的名字;

选中指定的数据库

use 数据库名字; 

小技巧 

当你在mysql的命令行,想要恢复自己上次输入的命令时,按上键就可以 

🌰实例 

 当我们删除数据库test后

 


二、数据表的相关操作 

当我们创建了一个数据库后,我们可以在我们刚才创建的数据库中创建数据表了

创建表(注意同一个数据库,不能有两个表名字相同)

create table 表名(列名 类型, 列名 类型.....);   ————注意这里的符合都是半角符号

表名和列名不能和SQL的关键字冲突

 查看当前数据库中的所有的表

show tables;

 查看当前表结构

desc 表名;   

查看这个表里面的列和类型~~~~~desc => describe的缩写

表的删除

drop table 表名; 

🌰实例 

 


 三、数据的新增和查询

然后呢?当前我们的表是空的,所有我们还需要给我们表中插入数据 

insert数据的新增

1、全列插入

 insert into values(值, 值....);

插入的值数量必须和定义表的列的数量及顺序一致

 🌰栗子一

🌰栗子二

 2、指定列插入

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

插入的值数量必须和前面列出的表名的数量及顺序一致

时间元素的插入与使用

 


 

select基础查询

  1. select * from 表名;(全列查询)
  2. select 列名 from 表名;(指定列查询)
  3. select 表达式 from 表名;(表达式查询)
  4. select 表达式 as 别名 from 表名;
  5. select distinct 列名 from 表名; (去重查询)

全列查询

select * from 表名;

通常情况下不建议使用 * 进行全列查询
-- 1. 查询的列越多,意味着需要传输的数据量越大;
-- 2. 可能会影响到索引的使用。

指定列查询

select 列名 from 表名; 


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

表达式查询(查询字段为表达式)

select 表达式 from 表名;

(注意下面的id、name等是列名,exam_result是表名)

-- 表达式不包含字段
SELECT id, name, 10 FROM exam_result;
-- 表达式包含一个字段
SELECT id, name, english + 10 FROM exam_result;
-- 表达式包含多个字段
SELECT id, name, chinese + math + english FROM exam_result;

别名查询

为查询结果中的列指定别名,表示返回的结果集中,以别名作为该列的名称
select 表达式 as 别名 from 表名;

去除查询

select distinct 列名 from 表名; 

使用DISTINCT关键字对某列数据进行去重(因为不区分大小写,所有distinct和DISTINCT是一样的)


select 进阶查询

🍑排序查询

select * from 表名 order by 列名;   // 按order by后面的列名所对应的那一列进行排序

select 列名 from 表名 order by 列名;

-- ASC 为升序(从小到大)
-- DESC 为降序(从大到小)
-- 默认为 ASC
 

查询过程中,对于查询到的结果,进行排序!

针对临时表排序,对于数据库上原来存的数据没有影响

~~~~~我是分割符~~~~~ 

 select 操作中,如果没有使用order by,那么查询结果的顺序是不确定的

🍑条件查询

select * from 表名 where 条件;

select 列名 from 表名 where 条件;

在指定条件下,对查询到的结果进行筛选

筛选可以简单理解成:对查询结果进行依次遍历,where后面的条件代入到对应的查询结果中,如果条件成立,则把该记录放到最终查询结果里

在条件中可能会使用到的一些运算符

比较运算符

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

逻辑运算符

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

🔔注意:
1. WHERE条件可以使用表达式,但不能使用别名。
2. AND的优先级高于OR,在同时使用时,需要使用小括号()包裹优先执行的部分

 

  •  基础查询

~~ ~~我是分割线~~~~ 

  • AND和OR

  • 范围查询 

🌻 BETWEEN ... AND...

 

 🌻IN

  •  模糊查询LIKE

下面的exam_result是表名,name是列名

 -- % 匹配任意多个(包括 0 个)字符
SELECT name FROM exam_result WHERE name LIKE '孙%';-- 匹配到孙悟空、孙权
-- _ 匹配严格的一个任意字符
SELECT name FROM exam_result WHERE name LIKE '孙_';-- 匹配到孙权

 

📝 实战演练

🍑分页查询 

select * from 表名 limit N offset M;

select 列名 from 表名 limit N offset M;

从第M条开始查询,最多返回N条记录(M如果省略不写,表示从第0条记录开始返回

limit还可以和order by,where 等句子搭配使用的~~~~


四、数据的更新和删除

数据的更新

update 表名 set 列名 = 值, 列名 = 值 where 条件;

针对某个表的某些行的某些列,进行值修改,我们的where条件确定就是那些行


数据的删除

 delete from 表名 where 条件; 

把符合where条件的行进行删除,如果条件不写则会删除整个表的所有记录

 

  • 13
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是小鱼儿哈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值