sql表的增删改、替换

ops/2025/2/6 19:41:28/

一、增加

1、向原表的字段中插入多条记录的方法

# mysql中常用的三种插入数据的语句:

# insert into表示插入数据,数据库会检查主键,如果出现重复会报错;

# replace into表示插入替换数据,需求表中有PrimaryKey,

# 或者unique索引,如果数据库已经存在数据,则用新数据替换,如果没有数据效果则和insert into一样;

# insert ignore表示,如果中已经存在相同的记录,则忽略当前新数据;

insert ignore into actor values("3","ED","CHASE","2006-02-15 12:34:33");

 向原表的字段中插入多条记录的方法

语法:

sql">insert into 表名(表中的字段,,)values(字段所对应的记录,,) , (字段所对应的记录);INSERT INTO table_name VALUES (value1,value2,value3,…),(value1,value2,value3,…);用逗号隔开,括号括起来,加多少行数据就写多少个。

2、MySQL 插入日期和时间

在 MySQL中,可以使用以下数据类型来存储日期和时间数据:

  • DATE: 存储日期数据,格式为’YYYY-MM-DD’

  • TIME: 存储时间数据,格式为’HH:MM:SS’

  • DATETIME: 存储日期和时间数据,格式为’YYYY-MM-DD HH:MM:SS’

  • TIMESTAMP: 存储日期和时间数据,格式为’YYYY-MM-DD HH:MM:SS’

要在 MySQL中插入日期和时间数据,可以使用INSERT INTO语句,其语法如下:

sql">INSERT INTO table_name (column1, column2, ..., columnN) 
VALUES (value1, value2, ..., valueN);

其中,table_name是表名,column1至columnN是要插入的列名,value1至valueN是对应列的值 

3、插入当前日期和时间

有时候,我们需要将当前日期和时间插入到数据库中。

要插入当前日期和时间,可以使用NOW()函数。该函数返回当前日期和时间的值。

sql">INSERT INTO orders (order_date, order_time) VALUES (NOW(), NOW());

向orders表中的order_date和order_time列插入当前日期和时间值。 

4、插入当前日期

要插入当前日期,可以使用CURDATE()函数。该函数返回当前日期的值。

sql">INSERT INTO orders (order_date) VALUES (CURDATE());

向orders表中的order_date列插入当前日期值。

5、插入当前时间

要插入当前时间,可以使用CURTIME()函数。该函数返回当前时间的值。

sql">INSERT INTO orders (order_time) VALUES (CURTIME());

向orders表中的order_time列插入当前时间值。

二、删除

1、删除单行数据

SQL语句delete的语法如下:

DELETE FROM 表名称 WHERE 列名称 = 值

例如:

delete from student where sno = '0001

删除1987年入职的员工的信息

sql">delete from myemp where TO_CHAR(hiredate,'yyyy')=1987;

注意:如果删除的时候没有相应匹配条件的时候,则更新记录为0,更新操作也一样

2、仅删除数据,不删除表结构

方法一:在不删除表的情况下删除所有的行,即表的结构、属性和索引都是完整的,仅改变表中数据内容

delete from table_name 或者 delete * from table_name

方法二:如果我们仅仅需要除去表内的数据,但并不删除表本身,那么我们该使用

TRUNCATE TABLE命令(仅仅删除表格中的数据):

TRUNCATE TABLE 表名称

3、删除表中索引

使用DROP INDEX命令删除表格中的索引

DROP INDEX table_name.index_name

4、删除表(包括表结构、索引等)

使用DROP TABLE 语句用于删除表(表的结构、属性以及索引也会被删除):

DROP TABLE 表名称

5、删除数据库

使用DROP DATABASE 语句用于删除数据库

DROP DATABASE 数据库名称

三、修改

语法:

UPDATE 表名称 SET 更新字段1=更新值1,更新字段2=更新值2,...[WHERE 更新条件(s)];

举例+演示:

  • 更新员工编号为7369的员工的工资为5000,奖金为2000,职位升级为'MANAGER',职位更新时间为当前时间

sql">update myemp set sal=2000,job='MANAGER',hiredate=sysdate where empno=7369;
  • 所有员工的工资统一改为20000

sql">update myemp set sal=20000;

不添加限定条件,即就是对所有的数据项进行修改

修改表名

sql">alter table <原来的表名> rename to <新表名>;

四、替换

sql">REPLACE(String,from_str,to_str) --即:将String中所有出现的from_str替换为to_str。

1、查询替换 

 

总结:联想到前面有讲过 使用IF(expr1,expr2,expr3) 及 CASE...WHEN...THEN...END 可以实现查询结果的别名显示(这俩我还不清楚!!!

但区别是:这两者是将查询结果值做整体的别名显示,而replace则可以对查询结果的局部字符串做替换显示(输出)。

2、更新替换

将address字段里的 “东” 替换为 “西” ,如下:

update test_tb set address=replace(address,'东','西') where id=2

 

总结:对字段中局部字符串做更新替换。

3、插入替换

将id=6的name字段值改为wokou

sql">replace into test_tb VALUES(6,'wokou','新九州岛','日本')

 

总结:向表中“替换插入”一条数据,如果原表中没有id=6这条数据就作为新数据插入(相当于insert into作用);如果原表中有id=6这条数据就做替换(相当于update作用)。对于没有指定的字段以默认值插入。


http://www.ppmy.cn/ops/156228.html

相关文章

网络安全-设备安全加固

网络设备也是网络边界很重要的设备&#xff0c;是整个数据中心的主干道&#xff0c;不能有任何闪失&#xff0c;这两天对Nexus网络设备进行了简单的安全加固&#xff0c;对主要的操作进行了下总结&#xff0c;如下&#xff1a; 1、 在Nexus建立了一个只读帐号&#xff0c;如要…

输出解析器的使用

文章目录 输出解析器的使用Pydantic JSON输出解析器结构化输出解析器 输出解析器的使用 输出解析器的使用主要依靠提示词模板对象的partial方法注入输出指令的字符 串&#xff0c;主要的实现方式是利用PromptTemplate对象的partial方法或在实例化PromptTemplate对象时传递parti…

leetcode刷题记录(七十二)——146. LRU 缓存

&#xff08;一&#xff09;问题描述 146. LRU 缓存 - 力扣&#xff08;LeetCode&#xff09;146. LRU 缓存 - 请你设计并实现一个满足 LRU (最近最少使用) 缓存 [https://baike.baidu.com/item/LRU] 约束的数据结构。实现 LRUCache 类&#xff1a; * LRUCache(int capacity)…

一文了解边缘计算

什么是边缘计算&#xff1f; 我们可以通过一个最简单的例子来理解它&#xff0c;它就像一个司令员&#xff0c;身在离炮火最近的前线&#xff0c;汇集现场所有的实时信息&#xff0c;经过分析并做出决策&#xff0c;及时果断而不拖延。 1.什么是边缘计算&#xff1f; 边缘计算…

Unity渲染管线

Unity渲染管线详解 什么是渲染管线 渲染管线&#xff08;Render Pipeline&#xff09;是Unity中处理渲染的核心系统&#xff0c;负责将3D场景转换为最终在屏幕上显示的2D图像。它定义了光照、阴影、材质、后处理效果等的处理方式。 Unity支持的渲染管线类型 1. 内置渲染管线…

Node.js常用知识

Nodejs 总结Node.js基础知识&#xff0c;便于定期回顾 1、fs 文件写入 1、require(‘fs’) 2、fs.writeFile() 3、fs.appendFile() 4、fs.createwriteStream&#xff08;&#xff09; //流式写入 ws.write() 文件读取 1、fs.readFile(‘’,(err,data)>{ }) const …

【探索篇】探索部署离线AI在Android的实际体验

【探索篇】探索离线AI在Android的实际体验 文章目录 【探索篇】探索离线AI在Android的实际体验一、离线AI的核心优势1.1 隐私保护与低延迟1.2 无网络持续服务1.3 典型应用场景 二、Android端的技术实现2.1 框架支持对比2.2 性能优化策略 三、真实体验报告3.1 测试环境配置3.2 功…

Github 2025-02-03 开源项目周报 Top14

根据Github Trendings的统计,本周(2025-02-03统计)共有14个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目3TypeScript项目3非开发语言项目2JavaScript项目2Ruby项目1HTML项目1Go项目1Svelte项目1C++项目1Jupyter Notebook项目1Shell项目1Ol…