mysql-- 插入、修改、删除

博客围绕数据库操作展开,详细介绍了插入、修改和删除的相关内容。插入操作有两种语法,对比了其特点,如语法一支持多行插入和子查询;修改包括单表和多表记录的修改语法;删除涉及表中全部数据、单表和多表的删除语法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

插入

修改

删除


插入

语法一

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

特点

  • 值得类型和列的类型一致
  • 不可以为null的值必须插入值
  • 列的顺序可以调换
  • 列的数和值得数一致
  • 可以省略列名,默认是所有列,列的顺序和表中的顺序一致   insert  into 表名 values(值1...)

示例:

insert into students(sno,sname,ssex,sbirthday,class)
values(119,'林动','男','1992-04-23','95031'); 

语法二

insert  into 表名 set 列名='值' .... ;

示例:

insert into students set sno="110",sname="林动",ssex="男",sbirthday="1992-04-23",class="95031";

两种语法区别

语法一支持插入多行,方式二不支持

语法

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

示例

INSERT INTO students
(sno,sname,ssex,sbirthday,class) 
VALUES
(112,'林动2','男','1992-04-23','95031'),
(113,'林动3','男','1992-04-23','95031');

语法一支持子查询,方式二不支持

将查询的结果集当成values 插入到制定列当中去

示例

INSERT INTO students
(sno,sname,ssex,sbirthday,class)
select 112,'林动6','男',	'1992-04-23','95031';

修改

修改单标记录语法

 

update 表名 set 列="值",... where 筛选条件

示例

update students set class='95032' where sname LIKE "林%"

修改多表记录语法

update 表1名 as 别名1,表2名 别名2 set 别名.列="值",别名.列="值" where 筛选条件;

或者

update 表1名 as 别名1 连接类型 表2名 as 别名2 on 连接条件  set 别名1.列名="值",别名2.列名=值  where  筛选条件

示例

update students as stu,scores sc set stu.class="22",sc.degree=22 where stu.sno=sc.sno and stu.sname like "林%" 

或者

update students as stu LEFT JOIN scores sc on stu.sno=sc.sno  set stu.class="44",sc.degree=44  where  stu.sname like "林%" 

关联表批量修改

update table1 t1 ,table2 t2 set t1.field1 = t2.field2 where t1.id = t2.id

删除

删除表中的全部数据语法

TRUNCATE table 表名;

 

单表的删除语法

delete  from 表名 where 筛选条件

示例

DELETE from students where sname ="林动6"

多表的删除语法

# 如果 要删除那张单表的数据在from 前面 写上那个表的别名,写一个删除一个表的数据,写两个删除两张表的数据
DELETE 要删除的表别名1,要删除的表别名二 from  表1名 as 别名1 LEFT JOIN 表2名 as 别名2 on 连接条件 where  筛选条件

或者

DELETE 要删除的表别名1,要删除的表别名二 from   表1名 as 别名1 ,表2名 as 别名2 where  连接条件  and  筛选条件 

示例

DELETE stu,sc from  students as stu LEFT JOIN scores sc on stu.sno=sc.sno  where  stu.sname like "林%" 

或者

DELETE stu,sc from  students as stu ,scores sc where  stu.sno=sc.sno  and  stu.sname like "林%" 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值