sql表的增删改、替换

发布于:2025-02-10 ⋅ 阅读:(74) ⋅ 点赞:(0)

一、增加

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作用)。对于没有指定的字段以默认值插入。


网站公告

今日签到

点亮在社区的每一天
去签到