MySQL 之 DML

目录

一、定义

二、更新语句基本语法

三、插入数据

1.在Navicat平台添加数据

2.INSERT语句

四、修改数据

1.UPDATA语句

五、删除数据

1.DELETE语句


一、定义

数据更新:

DML操作是指对数据库中表记录的操作,主要包括表记录的

插入(insert),

更新(update),

✔删除(delete)

是开发人员日常使用最频繁的操作。


二、更新语句基本语法

⇱语句的语法格式如下:

1.INSERT [INTO] <表名> [( 字段名1, 字段名2, ... , 字段名n )]     VALUES ( 值1, 值2, ... , 值n );

2.UPDATE <表名> SET 字段名1=值1 [, 字段名2=值2, … , 字段名n=值n] [WHERE 条件];

3.DELETE FROM <表名> [WHERE 条件];


三、插入数据

1.在Navicat平台添加数据

2.INSERT语句

🔺用SQL语句插入表数据 INSERT语句向表中插入单行数据,其语法格式如下:

INSERT [INTO] <表名> [( 字段名1, 字段名2, ... , 字段名n )]     VALUES ( 值1, 值2, ... , 值n );

下面为大家展示insert into语句的用法,首先创建一个拥有字段名学号,姓名,专业,年龄,性别的表,表名为"学生表",一个拥有字段名学号,课程编号,成绩的表,表名为"成绩表",一个拥有字段名课程名称,课程编号,学时的表,表名为"课程表",然后再根据查询条件进行查询。

举例:

#向学生表中添加一行数据(56,王林佳,女,计算机);
insert into 学生表 values('56','王林梦','女',NULL,'计算机',NULL);
#向学生表中添加一行数据(57,林晓晓,女,计算机);
insert into 学生表 values('57','林晓晓','女','','计算机','');

●上面这种写法小编不太推荐,因为插入的数据必须根据表中的字段 一 一 对应,平常我们对数据库的处理时因粗心造成某些字段缺失,从而导致我们更新失败。相比之下,我更推荐下面这种写法:

#向学生表中添加一行数据(60,马龙龙,计算机);
insert into 学生表(学号,姓名,专业) values('60','马龙龙','计算机');

相比之下,我们根据字段来插入相应的values值,不仅效率高,而且数据更清楚了。

●当要向表中插入多行数据时,我们可以这些做:

#向课程表中插入多行数据(61,李文,计算机)(62,苏浩,会计)(63,吴磊,电子商务)
insert into 学生表(学号,姓名,专业) values('61','李文','计算机'),('62','苏浩','会计'),('63','吴磊','电子商务');

●当然,能根据表中的字段插入数据,也可以根据表结构来插入数据;

举例:

#向“学生表_copy”中插入“学生表”中的所有记录;
insert 学生表_copy select * from 学生表;
#向“学生表_copy”中插入“学生表”中性别为"男"的记录。
insert 学生表_copy select * from 学生表 where 性别='男';

🔺注意:

被插入表的表结构要和插入表的表结构相同,我们在插入前可以先复制其表结构,这样插入进来的数据才能 一 一 对应,否则,如果表结构不相同,就会插入失败。


四、修改数据

1.UPDATA语句

🔺update语句在表中修改数据,其语法格式如下:

UPDATE <表名> SET 字段名1=值1 [, 字段名2=值2, … , 字段名n=值n] [WHERE 条件];

举例:

#将课程表中“大学英语”课程的学时改为64学时;
updata 课程表 set 学时=64 where 课程名称='大学英语';
#将学生表中“张丹”的年龄改为20;
updata 学生表 set 年龄=20 where 姓名='张丹';
#将成绩表中学号18的各科成绩,改为原成绩-5分;
updata 成绩表 set 成绩=成绩-5 where 学号='18';
#修改课程表中的C11课程,将课程名称改为“网页制作”、学时改为64;
updata 课程表 set 课程名称='网页制作',学时=64 where 课程编号='C11';

五、删除数据

1.DELETE语句

🔺delete语句删除表中的一行或多行数据记录,通过where子句限定要删除的数据行,否则清空整个数据表。 delete语句的语法格式如下:

DELETE FROM <表名> [WHERE 条件];

举例:

#删除“成绩表_copy”中不及格的记录;
delete from 成绩表 where 成绩<60;
#删除“成绩表_copy”中所有的内容;
delete from 成绩表;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值