9_数据的增删改查(重点)

简介: 9_数据的增删改查(重点)

[TOC]

引言-增删改查(curd)

curd的解释: 代表创建(Create)、更新(Update)、读取(Retrieve)和删除(Delete)

一、增加insert

1.1 全列插入

  • 全列插入:值的顺序与表中字段的顺序对应
  • 说明:主键列是自动增长,但是在全列插入时需要占位,通常使用0或者 default 或者 null 来占位,插入成功后以实际数据为准
  • 如果一个表中只有两个字段,并没有指明给哪个字段插入,这个时候必须是全部插入(少一个字段都不行)
-- insert into 表名 values(...);


-- 向classes表中插入 一个班级
insert into classes values(0, "菜鸟班");

-- 向students表插入 一个学生信息
insert into students values(0, "小李飞刀", 20, "女", 1, "1990-01-01");
insert into students values(null, "小李飞刀", 20, "女", 1, "1990-01-01");
insert into students values(default, "小李飞刀", 20, "女", 1, "1990-01-01");

-- 枚举中 的 下标从1 开始 1---“男”, 2--->"女", 3--->"中性"....
insert into students values(default, "小李飞刀", 20, 1, 1, "1990-02-01");

-- 失败
-- insert into students values(default, "小李飞刀", 20, "第4性别", 1, "1990-02-01");

+--------+-------------------------------------+------+-----+------------+----------------+
| Field  | Type                                | Null | Key | Default    | Extra          |
+--------+-------------------------------------+------+-----+------------+----------------+
| id     | int(10) unsigned                    | NO   | PRI | NULL       | auto_increment |
| name   | varchar(30)                         | YES  |     | NULL       |                |
| age    | tinyint(3) unsigned                 | YES  |     | 0          |                |
| gender | enum('男','女','中性','保密')         | YES  |     | 保密        |                |
| cls_id | int(10) unsigned                    | YES  |     | NULL       |                |
| birth  | date                                | YES  |     | 2000-01-01 |                |
+--------+-------------------------------------+------+-----+------------+----------------+

1.2 部分列插入

  • 部分列插入:值的顺序与给出的列顺序对应
  • 一次向表中插入一行数据
-- insert into 表名 (列名1,...) values (值1,...);

insert into students (name, gender) values ("小乔", 2);

1.3 多行插入

  • 多行插入:值的顺序与给出的列顺序对应
  • 一次性插入多行数据,这样可以减少与数据库的通信

1.3.1 全列-多行插入

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

insert into students values(default, "西施", 20, "女", 1, "1990-01-01"), (default, "王昭君", 20, "女", 1, "1990-01-01");

1.3.2 部分列-多行插入

-- insert into 表名 (列名1,列名2...) values(值1,...),(值1,...)...;

insert into students (name, gender) values ("大乔", 2),("貂蝉", 2);

二、删除delete

2.1 物理删除

-- delete from 表名 where 条件;

delete from students; -- 整个数据表中的所有数据全部删除
delete from students where id=5;

2.2 逻辑删除

  • 逻辑删除,本质就是修改操作
update students set isdelete=1 where id=1;

-- 用一个字段来表示-这条信息已经不再使用了
-- 给students表添加一个is_delete字段 bit 类型(0或1)
alter table students add is_delete bit default 0;
update students set is_delete=1 where id=6;

三、修改update

-- update 表名 set 列1=值1,列2=值2... where 条件;

update students set gender=1; -- 全部都改为男性
update students set gender=2 where name="小李飞刀"; -- 只要name是小李飞刀的,全部修改为‘女性’
update students set gender=1 where id=3; -- 只要id为3的,进行修改
update students set age=22, gender=1 where id=3; -- 只要id为3的,进行修改

四、查询select

4.1 查询所有列

  • 数据量少使用
-- select * from 表名;

select * from students;

4.2 指定条件查询

select * from students where name="小李飞刀"; -- 查询 name为小李飞刀的所有信息
select * from students where id>3; -- 查询 id>3 的所有信息

4.3 查询指定列

-- select 列名1,列名2,... from 表名;

select name,gender from students;

4.3.1 使用as为列或表指定别名

-- select 字段 as 别名 ,字段 as 别名 from 表名 where ....;
select name as 姓名, gender as 性别 from students;

-- 字段的顺序
select id as 序号, gender as 性别, name as 姓名 from students; -- 把 性别 放在 姓名 前
目录
相关文章
|
1月前
|
存储 人工智能 Cloud Native
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
在9月20日2024云栖大会上,阿里云智能集团副总裁,数据库产品事业部负责人,ACM、CCF、IEEE会士(Fellow)李飞飞发表《从数据到智能:Data+AI驱动的云原生数据库》主题演讲。他表示,数据是生成式AI的核心资产,大模型时代的数据管理系统需具备多模处理和实时分析能力。阿里云瑶池将数据+AI全面融合,构建一站式多模数据管理平台,以数据驱动决策与创新,为用户提供像“搭积木”一样易用、好用、高可用的使用体验。
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
|
23天前
|
存储 监控 数据处理
flink 向doris 数据库写入数据时出现背压如何排查?
本文介绍了如何确定和解决Flink任务向Doris数据库写入数据时遇到的背压问题。首先通过Flink Web UI和性能指标监控识别背压,然后从Doris数据库性能、网络连接稳定性、Flink任务数据处理逻辑及资源配置等方面排查原因,并通过分析相关日志进一步定位问题。
155 61
|
1月前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
127 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
21天前
|
关系型数据库 MySQL 数据库
GBase 数据库如何像MYSQL一样存放多行数据
GBase 数据库如何像MYSQL一样存放多行数据
|
1月前
|
关系型数据库 分布式数据库 数据库
云栖大会|从数据到决策:AI时代数据库如何实现高效数据管理?
在2024云栖大会「海量数据的高效存储与管理」专场,阿里云瑶池讲师团携手AMD、FunPlus、太美医疗科技、中石化、平安科技以及小赢科技、迅雷集团的资深技术专家深入分享了阿里云在OLTP方向的最新技术进展和行业最佳实践。
|
2月前
|
人工智能 Cloud Native 容灾
云数据库“再进化”,OB Cloud如何打造云时代的数据底座?
云数据库“再进化”,OB Cloud如何打造云时代的数据底座?
|
2月前
|
SQL 存储 关系型数据库
数据储存数据库管理系统(DBMS)
【10月更文挑战第11天】
132 3
|
2月前
|
前端开发 Java 数据库连接
javamvc配置,增删改查,文件上传下载。
【10月更文挑战第4天】javamvc配置,增删改查,文件上传下载。
40 1
|
2月前
|
存储 NoSQL API
使用Py2neo进行Neo4j图数据库的增删改查操作
使用Py2neo进行Neo4j图数据库的增删改查操作
101 5
|
2月前
|
SQL 存储 关系型数据库
添加数据到数据库的SQL语句详解与实践技巧
在数据库管理中,添加数据是一个基本操作,它涉及到向表中插入新的记录