【MySQL】表的增删查改

在这里插入图片描述

点赞👍👍收藏🌟🌟关注💖💖
你的支持是对我最大的鼓励,我们一起努力吧!😃😃

CRUD : Create(创建), Retrieve(读取),Update(更新),Delete(删除)

1.插入

语法:

INSERT [INTO] table_name
	[(column [, column] ...)] #列字段
	VALUES (value_list) [, (value_list)] ... #列字段的内容
	
value_list: value, [, value] ...

案例:

-- 创建一张学生表
CREATE TABLE students (
	id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
	sn INT NOT NULL UNIQUE COMMENT '学号',
	name VARCHAR(20) NOT NULL,
	qq VARCHAR(20)
);

1.1单行数据 全列插入+指定列插入

指定列插入

列字段和列字段的内容一定要一一匹配

insert into student (sn,name,qq) values (123,'张飞','12345');

在这里插入图片描述

全列插入

全列插入有两种方式,一个是省略 valiues 左侧字段名,一个是都指定

insert into students values (10,124,'关羽','13245');
insert into students (id,sn,name,qq) values (14,125,'刘备','14525')

在这里插入图片描述

可以省略into

insert students (sn,name,qq) values (126,'诸葛亮','12525');

在这里插入图片描述

1.2多行数据 全列插入+指定例插入

指定列多行插入

 insert students (sn,name,qq) values (127,'曹操','15256'),(128,'许攸','23445');

在这里插入图片描述

全列多行插入

insert students values (20,129,'孙权','12256'),(21,130,'吕布','33445');

在这里插入图片描述

1.2插入否则更新

由于 主键 或者 唯一键 对应的值已经存在而导致插入失败

在这里插入图片描述

但是我就是想让它先确认是不是在数据库中存在,不存在就插入,存在不要拦我然后执行后面的修改语句

选择性的进行同步更新操作 语法:

INSERT ... ON DUPLICATE KEY UPDATE
	column = value [, column = value] ...

如果不存在就插入,存在发生主键或者唯一键冲突不要报错就行后面的修改语句

insert into students values (14,111,'周瑜','56321') on duplicate key update sn=111,name='周瑜',qq=56321;

在这里插入图片描述

注意更新的值不能和其他的主键和唯一键冲突,否则不能更新

在这里插入图片描述

  • 0 row affected: 表中有冲突数据,但冲突数据的值和 update 的值相等
  • 1 row affected: 表中没有冲突数据,数据被插入
  • 2 row affected: 表中有冲突数据,并且数据已经被更新

通过 MySQL 函数获取受到影响的数据行数

select row_count();

在这里插入图片描述

1.4替换

主键 或者 唯一键 没有冲突,则直接插入;
主键 或者 唯一键 如果冲突,则删除后再插入

REPLACE INTO students (sn,name,qq) values (131,'孙悟空','98752');
  • 1 row affected: 表中没有冲突数据,数据被插入
  • 2 row affected: 表中有冲突数据,删除后重新插入

在这里插入图片描述

这里从id就可以看到是删除后插入的,因为id是自增的,刚才是22,现在是23了

2.查找

语法:

SELECT
	[DISTINCT] {
   * | {
   column [, column] ...}
	[FROM table_name] # 从那个表筛选
	[WHERE ...] # 筛选条件
	[ORDER BY column [ASC | DESC], ...] # 对筛选结果排序
	LIMIT ... # 限定筛选出来的条数

distinct:对内容进行去重
*:全列查询
column,column…:指定列查询

案例:

-- 创建表结构
CREATE TABLE exam_result (
	id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
	name VARCHAR
评论 59
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值