MySql表的增删查改(CRUD)

  • 对表中的数据操作分为4大类,增加数据,删除数据,查找数据,修改数据。
  • 对表中的数据进行增删查改操作简称为CRUD。Create(增),Retrieve(查找),Updata(修改),Delete(删除)
  • CRUD的操作是对表中的数据进行操作的,是SQL语句中的DML(Data Manipulation Language)数据操作语言。

Create操作

对表中新增数据,SQL语法为:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
  • table_name 是要插入数据的表的名称。
  • (column1, column2, column3, ...) 是要插入数据的列的列表。如果省略列名列表,则应提供值的完整列表,按照表中列的顺序插入值。
  • VALUES 关键字后面跟着括号内的值列表,这些值按照列的顺序与列名对应。

使用案例
首先创建一张表,表中包含id,name,age列。 id做为主键且自增。

image.png

  • 单行数据+全列插入
    单行数据的全列插入,可以省略列名列表,直接在 INSERT INTO 语句中指定 VALUES 语句。比如对上面进行全列插入
    insert into user values (2,'李四',18);

image.png

  • 多行数据+指定列插入
    当有多行数据时,values后面加逗号分隔符 并且在表名后面指定插入的列。 比如对上面的user表插入多行数据,指定name和age列。
    insert into user(name,age) values ('王五',19),('赵六',20),('田七',29);

image.png

  • 插入时更新
    插入时由于主键已经存在,插入相同的值会导致插入失败。可以选择进行同步更新操作。
    比如下表插入数据时,由于主键已经存在导致插入失败。

image.png
此时可以选择性的进行同步更新操作语法:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...) 
ON DUPLICATE KEY UPDATE 列名 = value [, column = value] ...

比如对上表id为1的更新为name为周八,age为19的。
insert into user values (1,'周八',17) on duplicate key update name='周八',age=19;
image.png

  • 替换
    当主键和唯一键没有冲突时就直接插入。
    如果主键和唯一键冲突,那么先删除在进行插入。

语法和insert一样,就是把insert换为replace。
比如上表替换周八为张三。
replace into user(id,name,age) values(1,'张三',19);

image.png

Retrieve操作

在表中查找数据,语法为

SELECT column1, column2, ...
FROM table_name
WHERE condition;
  • column1, column2, ... 是要检索的列名,可以是表中的任何列,也可以是表达式或聚合函数的结果。
  • table_name 是要从中检索数据的表的名称。
  • condition 是可选的 WHERE 子句,用于指定筛选条件,只有满足条件的行才会被检索。

使用案例

  1. 创建一个表用来模拟成绩表,表中包含学号,姓名,数学和计算机成绩列。

image.png
2. 向表中插入一批数据

image.png

  • select全列查询
    全列查询一般使用select * form 表名查询即可。
  • 指定列查询
    比如只查询id,name和math
    select id,name,math from exam_tb;
    image.png
  • 查询字段为表达式
    比如查询一下math和computer的成绩和
    select id,name,math+cpmputer from exam_tb;
    image.png
    也可以将查询结果指定别名 比如将math和computer重命名为total
    select id,name,math+cpmputer as total from exam_tb;
    as可以省略
    image.png
  • 查询结果去重
    使用distinct关键字进行去重

image.png

WHERE条件

在使用SELECT进行查询时,还可以使用WHERE条件进行筛选。有条件就会有比较和逻辑运算符。
MySql提供的比较运算符如下:

image.png
逻辑运算符

image.png

使用案例

先创建一个表,在表中插入一些数据。
筛选数学成绩大于80的。
image.png
筛选数学成绩在80-90的。

image.png
筛选成绩是99或者88的同学

image.png
筛选姓王的

image.png
还可以使用字段进行比较,比如筛选计算机成绩好于数学的。

image.png
使用as重命名的字段不能作为where筛选条件
image.png
null查询
与null进行比较的时候使用=!=是不安全的,比较的结果是null。但是比较的结果只有真假两个结果。直接使用=!=是不安全的。

image.png
使用<=>比较是安全的。但是null是0是1,也是未定义的,和0和1比较的结果都是1。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

C++下等马

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

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

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

打赏作者

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

抵扣说明:

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

余额充值