当前位置: 首页 > article >正文

sql表的增删改、替换

一、增加

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");

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

语法:

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语句,其语法如下:

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

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

3、插入当前日期和时间

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

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

INSERT INTO orders (order_date, order_time) VALUES (NOW(), NOW());

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

4、插入当前日期

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

INSERT INTO orders (order_date) VALUES (CURDATE());

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

5、插入当前时间

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

INSERT INTO orders (order_time) VALUES (CURTIME());

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

二、删除

1、删除单行数据

SQL语句delete的语法如下:

DELETE FROM 表名称 WHERE 列名称 = 值

例如:

delete from student where sno = '0001

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

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',职位更新时间为当前时间

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

update myemp set sal=20000;

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

修改表名

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

四、替换

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

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

 

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


http://www.kler.cn/a/532262.html

相关文章:

  • 自制虚拟机(C/C++)(三、做成标准GUI Windows软件,扩展指令集,直接支持img软盘)
  • Java创建对象有几种方式?
  • 基于springboot+vue的哈利波特书影音互动科普网站
  • 玩转Docker | 使用Docker部署SSCMS内容管理系统
  • 计算机毕业设计Python动漫推荐系统 漫画推荐系统 动漫视频推荐系统 机器学习 bilibili动漫爬虫 数据可视化 数据分析 大数据毕业设计
  • C++模板编程——可变参函数模板之折叠表达式
  • 扩展域并查集 带权并查集
  • 【PyQt】pyqt小案例实现简易文本编辑器
  • 【Leetcode刷题记录】1456. 定长子串中元音的最大数目---定长滑动窗口即解题思路总结
  • 代码随想录八股训练营学习总结
  • 哈希(Hashing)在 C++ STL 中的应用
  • 虚幻基础17:动画蓝图
  • 网站快速收录:如何优化网站长尾关键词布局?
  • BUU14 [极客大挑战 2019]PHP1
  • 基于Springboot框架的学术期刊遴选服务-项目演示
  • proxmox创建虚拟机
  • Vue安装相关依赖冲突问题
  • 中缀表达式 C++ 蓝桥杯 栈
  • 方法一:将私钥存入环境变量,环境变量指什么//spring中,rsa私钥应该怎么处置
  • CSS基本语法
  • Redis 持久化原理分析和使用建议
  • 在LINUX上安装英伟达CUDA Toolkit
  • 数据结构---前缀和
  • 2025年2月4日(i2c和spi树莓派oled sdd1306)
  • 艾瑞泽8车机安装软件
  • Linux基本指令2