MySQL分析与整理 — 表的基本操作(insert,update,delete)

在这里插入图片描述

文章中所有操作均是在 MySQL 5.7 版本下进行的

1 示例表创建

单独的解释语句规则并不是太直观,辅以示例更好理解。

-- 引入Oracle中scott用户下的一个表用来示例,尽量保证大部分数据类型都有
drop table if exists tbl_emp;
create table tbl_emp(
    empno	 int primary key comment '员工号',
    ename	 varchar(50) not null comment '员工姓名',
    job		 varchar(50) not null comment '工作职位',
    mgr		 int comment '上司编号',
    hiredate datetime not null comment '入职日期',
    sal		 decimal(7,2) not null comment '工资',
    comm	 decimal(7,2) comment '奖金',
    deptno	 int not null comment '部门编号'
) comment '员工表';

2 插入数据(insert)

-- 插入数据的语法
insert into 表名 (字段1, 字段2, 字段3......) values (1,2,3.......);
字段个数和值个数要一致
字段类型和值数据类型一致或兼容
字段可以为空的情况下,可以不用插入值,或用null填充
不可以为空的字段必须插入数据
字段可以省略,默认是所有字段,并且顺序和表中的存储顺序一致
-- 示例
-- 字段个数和值个数要一致,且字段类型和值类型一致
insert into tbl_emp (empno, ename, job, mgr, hiredate, sal, comm, deptno) values (1001, '张三', '普通职员', '1003', '2012-11-02 09:12:22', 1200, 300.40, 10);

-- 可以为空的字段可以不用插入数据,字段和值要一一对应
insert into tbl_emp (empno, ename, job, mgr, hiredate, sal, deptno) values (1002, '李四', '普通职员', '1003', '2012-11-03 11:12:22', 1200, 10);

-- 可以为空的字段可以用null填充,字段和值要一一对应
insert into tbl_emp (empno, ename, job, mgr, hiredate, sal, deptno) values (1003, '王五', '普通职员', null, '2009-02-03 11:55:22', 1200, 10);

-- 字段可以省略,默认是所有字段,并且顺序和表中的存储顺序一致
insert into tbl_emp values (1004, '赵六', '普通职员', '1003', '2014-04-02 07:12:22', 1200, null, 10);

3 修改数据(update)

-- 修改数据的语法
update 表名 set 字段1 =1, 字段2 =2 ... where 条件;
update 表名 set 字段1 =1, 字段2 =2 ...;
如果没有where条件,表中的数据涉及到的字段将全部修改
修改数据一般需要利用where进行指定数据修改
-- 示例
-- 修改1002员工的职位和工资
update tbl_emp set job = '销售员', sal = 2000 where empno = 1002;
-- 修改1004员工的姓名
update tbl_emp set ename = '赵六六' where empno = 1004;
-- 如果不进行where筛选,数据全部修改
update tbl_emp set deptno = 20;

4 删除数据(delete)

-- 删除数据的语法
delete from 表名 where 条件;
delete from 表名;
如果没有where条件,将删除表中的所有数据
删除数据一般需要利用where进行指定数据删除
-- 示例
-- 删除1001员工
delete from tbl_emp where empno = 1001;
-- 删除工资是1200员工
delete from tbl_emp where sal = 1200;
/*
如果不进行where筛选,数据全部删除,谨慎
delete from tbl_emp;
*/
另外删除数据命令:truncate table 表名;
truncate和delete虽然都是删除表的数据,区别在于delete操作可以一条一条删除记录的,配合事务和回滚可以找回数据,如果有自增长(auto_increment)不会重置。truncate则是直接删除整个表,再重新创建一个一模一样的新表,表的以前设置的约束、触发器、索引等等吧都会删除,自增长(auto_increment)也会被重置,且数据也无法找回。
truncate table 表名 更需要慎用

结语

数据库表的数据的插入(insert),修改(update),删除(delete)是表中数据最基本的操作,且这些操作的细节不是很复杂,很好掌握。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WorkLee

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值