DML(data manipulation language)

MySQL DML(data manipulation language) 数据进行操作的语言

DML(data manipulation language):
它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言

Insert:

向表里面添加数据

  • 当一个字段都不写时,意味着向所有的字段都添加值
# Grade的字段为(int,varchar)
insert into Grade values(1,'大一');
  • 向指定的字段添加字段
insert into Grade(GradeId,name) values(2,'大二');
  • 插入多条数据:

格式: insert into 表名[(字段1,字段2,字段3,....)] values ('值1','值2','值3',.....)

insert into Grade(GradeId,name)
values(1,'张三'),(2,'王二'),(3,'李四'); 
  • 将查询到的数据复制到temp表里面
create table temp(
id int(12),
t_name varchar(32)
);
#将查询到的数据复制temp里面
insert into temp 
select s.stu_id,s.stu_name  from student s;

查看数据表创建格式

show create table GreadeTest;

Update :

语法:

Update 表名 set column_name = value[,column_name2 = value2,……]
[where condition]

  • column_name : 为要改的数据列。
  • value 为修改后的数据,可以变量、具体值、表达式、或者嵌套的select结果。
  • condition为筛选条件,如不指定则修改所有的数据

eg1:

update temp set id='10000',t_name = '北京' where id = 2; 

测试数据:


## insertupdate
drop table if exists sub;
create table sub(
    subNo int primary key auto_increment,
    subName varchar(32),
    subHour int
)

alter table sub  auto_increment=1;


insert into sub(subName,subHour) VALUES
('高等数学-1',120),('高等数学-2',110),('高等数学-3',100),('高等数学-4',130);

eg2:

update sub set subHour=subHour-10 where subNo=1 and subHour > 100;
  • 使用本表数据更新本表其他值时
# 将subNo=4的classsHour的值赋值给subNo=1的subHour时,他们位于同一张表,不能直接修改,
#要stuNo=4的subHour的值作为虚拟表后,两张不同的表,就可以直接赋值了 
update sub set subHour= (
    #查询ch虚拟表的subHour的值
    select subHour from 

    (select subHour from sub where subNo=4)as ch # 做为临时的虚拟表

)

where subNo=1;

猜你喜欢

转载自blog.csdn.net/zx6571269/article/details/79337419
今日推荐