MySQL DML

本文详细介绍了SQL语言中数据操作的基础知识,包括插入(INSERT)、更新(UPDATE)和删除(DELETE)数据的具体语法和实例。通过创建person表,演示了如何插入单条和多条记录,如何更新和删除数据,以及如何从一个表中查询数据并插入到另一个表中。

插入数据 INSERT

语法格式

insert into 表名 (column_list) values (value_list);

建表,用来插入数据测试

CREATE TABLE person
(
id     INT UNSIGNED NOT NULL AUTO_INCREMENT,
name   CHAR(40) NOT NULL DEFAULT '',
age    INT NOT NULL DEFAULT 0,
info   CHAR(50) NULL,
PRIMARY KEY (id)
);

向表中所有字段插入值的方法有两种:一种是指定所有字段名,另一种是完全不指定字段名。

  • 在person表中,插入一条新记录,id值为1,name值为Green,age值为21,info值为Lawyer,

INSERT INTO person (id ,name, age , info)
VALUES (1,‘Green’, 21, ‘Lawyer’);
在这里插入图片描述

  • 使用INSERT插入数据时,允许列名称列表column_list为空,此时,值列表中需要为表的每一个字段指定值,并且值的顺序必须和数据表中字段定义时的顺序相同

INSERT INTO person
VALUES (3,‘Mary’, 24, ‘Musician’);

在这里插入图片描述

  • 在person表中,插入一条新记录,name值为laura,age值为25

INSERT INTO person (name, age ) VALUES (‘Laura’, 25);

在这里插入图片描述

多条数据同时插入

  • 在person表中,在name、age和info字段指定插入值,同时插入3条新记录,

INSERT INTO person(name, age, info)
VALUES (‘Evans’,27, ‘secretary’),
(‘Dale’,22, ‘cook’),
(‘Edison’,28, ‘singer’);

在这里插入图片描述

########## 将查询结果insert 到 表中

从person_old表中查询所有的记录,并将其插入到person表中。
首先,创建一个名为person_old的数据表,其表结构与person结构相同


CREATE TABLE person_old
(
id     INT UNSIGNED NOT NULL AUTO_INCREMENT,
name   CHAR(40) NOT NULL DEFAULT '',
age    INT NOT NULL DEFAULT 0,
info   CHAR(50) NULL,
PRIMARY KEY (id)
);

 INSERT INTO person_old
     VALUES (11,'Harry',20, 'student'), (12,'Beckham',31, 'police');

 SELECT * FROM person_old;
 INSERT INTO person(id, name, age, info)
SELECT id, name, age, info FROM person_old;

更新操作 UPDATE

语法格式

update 表名 set 列名 = 值 where 条件
若果你要修改多个字段的值
update 表名 set 列名1 = value1 , 列名2 = vlaue2 where 筛选条件
  • 在person表中,更新age值为19~22的记录,将info字段值都改为student

UPDATE person SET info=‘student’ WHERE id BETWEEN 19 AND 22;

删除数据

语法格式

delete from 表名 where 删除数据的条件
如果没有加 where 筛选条件
delete from 表名 将会把这张表的数据清空,但是不同于truncate
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值