MYSQL数据的插入、修改和删除操作

一、插入数据

1、向表中所有字段插入数据

(1)指定所有字段及其相对应的值

  • 指定所有字段:字段顺序可以不按照表中字段顺序排列,字段值和字段

格式:

insert into 表名 (字段1,字段2,……)values(字段值1,字段值2,……)

案例:
向goods表中插入一条数据

insert into goods(id,type,name,price,num,add_time) values(1,'书籍','西游记',50.4,20,'2018-01-01 13:40:40');

可以看到数据已经插入
在这里插入图片描述

(2)不指定字段只列出字段值

  • 不指定所有字段:字段值必须和表中字段顺序一致

格式:

insert into 表名 values(字段值1,字段值2,……)

案例:

insert into goods values(2,'糖类','牛奶糖',7.5,200,'2018-02-02 13:40:40');

在这里插入图片描述

2、向表中指定字段插入数据

格式:

insert into 表名 (字段1,字段2,……)values(字段值1,字段值2,……)

案例:

insert into goods(type,name,price) values('糖类','水果糖',2.5);

在这里插入图片描述

3、同时插入多条数据

insert into 表名 (字段1,字段2,……) values(字段值1,字段值2,……)(字段值1,字段值2,……),(字段值1,字段值2,……);

案例:

INSERT INTO goods(id,type,name,price,num,add_time) VALUES
(4,'服饰','休闲西服',800,null,'2016-04-04 13:40:40'),
(5,'饮品','果汁',3,70,'2016-05-05 13:40:40'),
(6,'书籍','论语',109,50,'2016-06-06 13:40:40');

在这里插入图片描述

4、查看表中的数据

select * from 表名;
总结:
  1. 当字段设置了自增约束时,系统会根据记录的顺序自动生成对应的编号(id);
  2. 当字段设置了默认约束时,插入数据的时候,该字段没有赋值,系统会将该字段的值)设置成对应的默认值;
  3. 当字段没有设置默认值约束和自增约束时,插入数据的时候,该字段没有赋值,系统会将该字段的值设置成null;
  4. 当字段设置了非空约束时,插入数据的时候,必须给该字段赋值。

5、将其他表的数据插入表中

insert into1(字段1,字段2,……) select 字段1,字段2,…… from2

【案例】将goods表中的数据插入到new_goods表中。

步骤1

执行以下语句创建new_goods表,其表结构与goods表相同。

CREATE TABLE new_goods (
id INT(11) PRIMARY KEY AUTO_INCREMENT,
type VARCHAR(30) NOT NULL,
name VARCHAR(30) UNIQUE,
price DECIMAL(7,2) UNSIGNED,
num INT(11) DEFAULT 0,
add_time DATETIME
);
步骤2

执行以下SQL语句,将goods表中的数据插入到new_goods表中

INSERT INTO new_goods(id,type,name,price,num,add_time)
SELECT id,type,name,price,num,add_time FROM goods;

在这里插入图片描述
某些情况下,只需要将表中部分字段的数据插入到另一张表中,此时可以通过以下方法实现。
【案例】创建新表test_goods,并插入数据。

步骤1

执行以下语句创建test_goods表

CREATE TABLE test_goods(
g_id INT(11) PRIMARY KEY AUTO_INCREMENT,
g_name VARCHAR(30) UNIQUE,
g_price DECIMAL(7,2) UNSIGNED
);

步骤2

执行以下语句,将goods表中id,name和price字段的数据插入到test_goods表中。

INSERT INTO test_goods(g_id,g_name,g_price) 
SELECT id,name,price FROM goods;

在这里插入图片描述

  • 两张表的字段名可以不一样,但数据类型必须一样。
  • 插入数据时,SQL语句中的字段顺序可以与表中的字段顺序不同,但两张表中的字段顺序必须一一对应

二、 修改数据

修改表中某个字段的字段值

1.修改所有数据某个字段值

update 表名 set 字段名1=新字段值1,字段名2=新字段值2,……;

【案例】修改goods表中的num值。

步骤1

执行以下语句将goods表中的num值统一修改为“0”。

UPDATE goods SET num=0;

在这里插入图片描述

步骤2

修改成功后查看数据,结果如下所示

SELECT * FROM goods;

在这里插入图片描述

2.修改指定数据某个字段值

update 表名 set 字段名1=新字段值1,字段名2=新字段值2,…… where 条件;

【案例】修改goods表中指定数据。

步骤1

执行以下语句,修改goods表中type值为“书籍”的记录,将其num值修改为“10”。

UPDATE goods SET num=10 WHERE type='书籍';
步骤2

修改成功后查看数据
在这里插入图片描述

三、删除数据

1. 删除表中所有数据

delete from 表名;

案例:删除new_goods表中所有数据

delete from new_goods;

在这里插入图片描述

2. 删除指定数据

delete from 表名 where 条件;

【案例】删除goods表中id值大于5的记录。

DELETE FROM goods WHERE id>5;

在这里插入图片描述

  • 33
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值