vlambda博客
学习文章列表

No.8 MySQL数据库之实战演练:各种增删改查



冲哥说1分钟前

  和我一起,每天进步一点点。



前七期视频中,我们逐步介绍了关于MySQL数据库的一些基础操作。今天,我们来进行MySQL实战演练:各种增删改查。

No.8 MySQL数据库之实战演练:各种增删改查
本期任务:
根据数据库中已存在的花名册“hmc”,创建一个可休年假天数的表格"nj_days"。6个字段分别为:id(编号),name(姓名),sfz(身份证号),cjgz_date(参加工作时间),gongling(工龄),nianjia(可休年假天数)。


字段分析:

字段1-id设成自增列。

字段2至4-name,sfz,cjgz_date由原表检索。

字段5至6-gongling,nianjia由其他字段计算。

No.8 MySQL数据库之实战演练:各种增删改查
01
step1:创建表格"nj_days",设字段1为自增列(auto_increment)
use huamingce            #跳转到指定库
create table nj_days(
id int( 3 ) not null primary key auto_increment,     #设自增列
name varchar ( 4 ),
sfz char ( 18 ),
cjgz_date varchar ( 7 ),
gongling int ( 3 ),
nianjia int ( 2 )
);

No.8 MySQL数据库之实战演练:各种增删改查

No.8 MySQL数据库之实战演练:各种增删改查
02
step2:使用insert语句增加表记录。其中, 字段2-4的name,sfz,cjgz_date由select子查询而得到。
insert into nj_days(name,sfz,cjgz_date) 
select name,sfz,cjgz_datefrom hmc;

#select ......from......    查询子句作为值,并赋值给指定字段


No.8 MySQL数据库之实战演练:各种增删改查

No.8 MySQL数据库之实战演练:各种增删改查
03
step3:使用update语句更新字段5(gongling),字段6(nianjia)。 需使用的语法:

>> select子查询 

select  字段1,字段2...... from   (select......from......)

例如:
select name,timestampdiff( year ,date_format(concat_ws('-', left (cjgz_date,4) ,right (cjgz_date,2), '01') , '%Y-%m-%d' ),sysdate())  as gl from hmc;


>> 创建临时表 

select A.字段1,A.字段2 from     (select......from......)   tl_name(A)   where ....

select gl from ( select  name,timestampdiff( year ,date_format(concat_ws('-', left (cjgz_date,4) ,right (cjgz_date,2), '01') , '%Y-%m-%d' ),sysdate())  as  gl  from  hmc ) A


>> case 流程控制语句,并将该流程控制语句结果赋值给指定字段:

case
when 条件1 then 语句1
when 条件2 then 语句2
......
else 其他语句
end

No.8 MySQL数据库之实战演练:各种增删改查

No.8 MySQL数据库之实战演练:各种增删改查
04

step4:查询语句

select * from tl_name;

select 字段1,字段2......from tl_name where 条件

05

step5:删除语句

drop table tb_name   #将表格直接删除,无法找回

delete from 表名 where 条件

例如:delete from MyClass where id=1;



往期回顾>>