数据操作(CUD)

2023-10-15 03:30
文章标签 数据 操作 cud

本文主要是介绍数据操作(CUD),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

插入数据

一次插入单条数据

  • 语法:

INSERT [INTO] 数据表名 [(字段名1[, 字段名2] ...)] {VALUES | VALUE} (值1) [, (值2)] ...;

  • 演示:

1、在数据库ems中创建员工表emp:

CREATE TABLE emp(empno   INT PRIMARY KEY,ename   VARCHAR(20) UNIQUE NOT NULL,job     VARCHAR(20) NOT NULL,mgr     INT comment '直接领导的工号',sal     DECIMAL(7,2),comm    DECIMAL(7,2) comment '奖金',deptno  INT  
) ;

2、向所有字段插入数据:

指定字段名:

INSERT INTO emp (`empno`,`ename`,`job`,`mgr`,`sal`,`comm`,`deptno`) VALUES(9902,'赵六','分析员',9566,4000,NULL,20);

使用SELECT语句查询数据:

SELECT * FROM emp;

 也可以省略所有字段名:

INSERT INTO emp VALUES(9566,'李四','经理',9839,3995,NULL,20);

3、向部分字段插入数据:

INSERT INTO emp (empno,ename,job,sal,deptno)VALUES(9839,'刘一','董事长',6000,10);

4、字段的默认值等信息可以通过数据表的创建语句进行查看

SHOW CREATE TABLE emp\G

 执行结果:

  •  注意

如果某个字段在定义时添加了非空约束,但没有添加默认值约束,那么插入新数据时就必须为该字段赋值,否则数据库系统会提示错误。

  • 另一种语法

ININSERT INTO 数据表名SET 字段名1=值1[,字段名2=值2,…];

一次插入多条数据

  • 语法

INSERT [INTO] 数据表名 [(字段名1,字段名2,…) ] {VALUES | VALUE}(值1,值2,…),(值1,值2,…), … (值1,值2,…);

  • 演示
INSERT INTO emp
VALUES
(9499,'孙七','销售',9698,2600,300,30),
(9521,'周八','销售',9698,2250,500,30),
(9654,'吴九','销售',9698,2250,1400,30),
(9982,'陈二','经理',9839,3450,NULL,10),
(9988,'王五','分析员',9566,4000,NULL,20),
(9844,'郑十','销售',9698,2500,0,30),
(9900,'萧十一','保洁',9698,1050,NULL,30);

更新数据

更新数据是指对数据表中已经存在的数据进行修改。

  • 语法

UPDATE 数据表名 SET 字段名1 = 值1[,字段名2 = 值2,…] [WHERE 条件表达式];

  • 更新部分记录

UPDATE emp SET sal=sal+200 WHERE ename='张三';

UPDATE emp SET sal=sal+300 WHERE job='保洁';

  • 更新全部记录

UPDATE emp SET sal=sal+500;

删除数据

删除数据是指对数据表中已经存在的数据进行删除。

  • 语法

DELETE FROM 数据表名 [WHERE 条件表达式];

TRUNCATE [TABLE] 数据表名;

  • 删除部分数据

DELETE FROM emp WHERE ename='孙七';

DELETE FROM emp WHERE job='分析员';

  • 删除全部数据

DELETE FROM emp;
TRUNCATE emp;

  • TRUNCATE语句和DETELE语句的区别

1.DELETE语句是数据操纵语句,TRUNCATE语句通常被认为是数据定义语句。

2.DELETE语句后面可以跟WHERE子句,通过指定WHERE子句中的条件表达式只删除满足条件的部分数据,而TRUNCATE语句只能用于删除表中的所有数据。 

3.DELETE 语句是逐行删除记录,而TRUNCATE语句则是直接删除数据表,再重新创建一个一模一样的新表。

4.使用TRUNCATE语句删除表中的数据后,再次向表中添加数据时,自动增加字段的默认初始值重新由1开始,而使用DELETE语句删除表中所有数据后,再次向表中添加数据时,自动增加字段的值为删除时该字段的最大值加1。

  • 演示上述第4条区别

1、创建一张表tab_truncate:

CREATE TABLE tab_truncate(id INT(3) PRIMARY KEY AUTO_INCREMENT,name VARCHAR(4)
);

2、向tab_truncate表中添加5条记录

INSERT INTO tab_truncate(name) VALUES('A'),('B'),('C'),('D'),('E');

 3、删除tab_truncate表中的所有数据

TRUNCATE TABLE tab_truncate;

4、在空表tab_truncate 中,重新添加5条数据

INSERT INTO tab_truncate(name)VALUES('F'),('G'),('H'),('I'),('J');

执行后id从1开始。 

5、使用DELETE语句删除tab_truncate表中的所有数据

DELETE FROM tab_truncate;

 6、向tab_truncate数据表中添加一条新数据

INSERT INTO tab_truncate(name) VALUES('K');

执行后id从6开始。 

上机实践:图书表的数据操作

# 向图书表book中插入表3-1中的图书信息

name

price

state

Java基础入门(第3版)

59.00

'0'

# 向用户表user中批量插入表3-2中的用户信息

name

state

 张三

'0'

 李四

'0'

# 向图书表book中批量插入表3-3中的图书信息

name

price

state

三国演义

69.00

'2'

MySQL数据库入门

40.00

'0'

JavaWeb程序开发入门

49.00

'0'

西游记

59.00

'2'

红楼梦

33.00

'2'

水浒传

66.66

'2'

# 将图书表book中图书《西游记》状态修改为可借阅(state字段的值为0代表可借阅)

# 将图书表book中《水浒传》的价格修改为66.00

# 将图书表book中所有的图书价格下调10%

# 删除图书表中图书《红楼梦》

# 为编号为1的用户借阅图书《MySQL数据库入门》

这篇关于数据操作(CUD)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/215059

相关文章

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

Mysql表的简单操作(基本技能)

《Mysql表的简单操作(基本技能)》在数据库中,表的操作主要包括表的创建、查看、修改、删除等,了解如何操作这些表是数据库管理和开发的基本技能,本文给大家介绍Mysql表的简单操作,感兴趣的朋友一起看... 目录3.1 创建表 3.2 查看表结构3.3 修改表3.4 实践案例:修改表在数据库中,表的操作主要

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

MySQL大表数据的分区与分库分表的实现

《MySQL大表数据的分区与分库分表的实现》数据库的分区和分库分表是两种常用的技术方案,本文主要介绍了MySQL大表数据的分区与分库分表的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. mysql大表数据的分区1.1 什么是分区?1.2 分区的类型1.3 分区的优点1.4 分

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

Redis 中的热点键和数据倾斜示例详解

《Redis中的热点键和数据倾斜示例详解》热点键是指在Redis中被频繁访问的特定键,这些键由于其高访问频率,可能导致Redis服务器的性能问题,尤其是在高并发场景下,本文给大家介绍Redis中的热... 目录Redis 中的热点键和数据倾斜热点键(Hot Key)定义特点应对策略示例数据倾斜(Data S

Python使用DrissionPage中ChromiumPage进行自动化网页操作

《Python使用DrissionPage中ChromiumPage进行自动化网页操作》DrissionPage作为一款轻量级且功能强大的浏览器自动化库,为开发者提供了丰富的功能支持,本文将使用Dri... 目录前言一、ChromiumPage基础操作1.初始化Drission 和 ChromiumPage