SQL语句对于数据的增删改

之前主要讲的是数据的查询,这里讲的是数据的插入、修改、删除。

数据插入

主要分成两类,一种是元组(基本是自己写的数据插入到表中),另一种是子查询结构(拼凑其他表的数据)

插入元组

insert into <表名> [(<列名>, .....)] values (<常量>);

values可以通过,隔开加多个数据。

insert into <表名> [(<列名>, ...)] values (<常量>,...), (<常量>,...);

PS.表名后不加列名,sql会默认你要输入所以的字段,并且按照数据库中表列顺序

例子:

INSERT INTO emp(id, username, password)
    value (1, 张三, 123), 
          (2, 李四, 123)

例子中在emp表中加入了有三个字段值的两条数据。

PS. 往表里加数据时,非空字段的数据一定要加,否则会失败

插入子查询结果

insert into <表名> [(<列名>, .....)] 子查询

一般不写列明,以子查询的select后跟的字段为列名

数据修改

通过update关键词进行数据的更新,也就是俗称的"改"操作。

update <表名> set <列名>=<表达式>,.... where <条件>;

PS.如果where中不写条件,则作用在全表中

可以一次性设置多行记录的值,也可以一次性修改多列数据的值。

提示 在MySQL中,update和delete操作的子查询中不能出现select这张表的数据 解决方法:

  1. 给这个子查询的表重命名然后再在这张重命名的表里进行查询。

  2. 使用视图(虚表)。(后面会讲)

数据删除

通过delete关键词进行数据的删除,也就是俗称的"删"操作。

delete<表名> where <条件>;

PS. 一定注意,删除数据之后恢复很难,所以进行数据删除时都要再删考虑一下是否要做

删除时要先删从表,再删主表。不然无法删除。并且删除后要确保数据库的三大完整性。

私货

带数据的复制表: create table 新表名 select * from 旧表名

不带数据的复制表: create table 新表名 like 旧表名

  • 21
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值