0
点赞
收藏
分享

微信扫一扫

mysql表的增删改(含题型)


表内容的增、删、改

增:

插入新的数据记录

(1)向表中所有字段插入数据记录;

insert into 表名
(字段1,字段2,...字段n)
values
(内容1,内容2,....内容n);

(2)向表中部分字段插入记录;

insert into 表名
(字段1,字段2,...)
values
(内容1,内容2,....);

(3)批量插入数据

insert into 表名
(字段1,字段2,...)
values
(数据记录1),
(数据记录2),
.......;

(4)为所有列插入数据

Insert into 表名
(字段名1,字段名2,……字段名n)
Values
(值1,值2,……值n);

(5)为指定列插入数据

Insert into 表名
(字段名1,字段名2,……)
Values
(值1,值2,……);

(6)批量插入数据

Insert into 表名
[(字段名1,字段名2,……)]
Values
(值1,值2,……),
(值1,值2,……),
……
(值1,值2,……);

(7)将查询结果插入到新表中(通俗:表的复制)

Create table 新表(select 字段1,字段2,….from原表);

新建一个student_bak,将student所有字段的数据插入到stduent_bak

例1:

create table stduent_bak(select * from stduent);

例2:

create table student_bak1(select sno,sname,ssex from student);

改:

Update 表名
Set 字段名1=值1[字段名2=值2,……]
[where 条件表达式];

(1)更新字段的全部数值;(不加where条件)

(2)更新字段的部分数值;(加where条件)

例1:修改一个学生的名字,例如号数为17的学生;(加where)

update student-bak
set sname="名字" where sno=17;

例2:将备份表里面性别全部改为男生;(不加where 限制条件,相当于更改表中的所有记录)

update student_bak
set ssex="男";

例3:将成绩表备份表记录的前十个数据成绩加3分;

update grade-bak
set vi_degree=vi_degree+3
limit 10;

删:

Delete from 表名 [where 表达式];

(1)删除全部数据

(不加where限制条件);

Delete from 表名;

注意:delete from 表名使用的时候,不是删除所有记录的话,加上where限制条件;

(2)删除部分数据

(加where限制条件)

Delete from 表名 where 表达式;

(3)用来删除表中的所有行;

Truncate table 表名;

题型总结

(1)将gradem1库里的student表所有字段的查询结果插入新表student_bak;

(表的复制)

create table 新表(select 字段 from 原表);

(2)将gradem1库里的vi_degree表所有字段的查询结果插入新表grade_bak;

(3)将student_bak里sbirthday字段为null的值,修改为当前日期;

update student_bak
set sbirthday=CURDATE()
where sbirthday is null;

(4)将student_bak里所有性别为空值的,修改为”男”;

注:空值(null),空字符("");

where 字段 is null;

where 字段="";

update student_bak
set ssex="男"
where ssex is null;

(5)修改grdae_bak将C02课程的成绩,将成绩提高2个百分点

update grade_bak
set vi_degree=vi_degree*(1+0.02) where cno="c02";

(6)将student_bak里saddress为null的记录删除掉;(delete 全部、部分:Mysql没有专门某个字段的记录)

delete from student_bak where saddress is null;

(7)将student_bak里系别不为信息工程的记录删除掉;(!=,not)

(1)delete from student_bak where sdept != "信息工程";
(2)delete from student_bak where not sdept = "信息工程";

数据库恢复:前期准备

(1)create database gradem;

(2)use gradem;

(3)source d:/gradem.sql

总结:

表内容的增删改:

增:

(1)insert into

1.1向所有字段插入内容

1.2向部分字段插入内容(字段名不能省略)

1.2插入批量数据(每条记录用逗号隔开)

(2)create table 新表名(select 字段1,字段2,…from 原表);

简单理解:可以理解成表的复制;可以复制一部分也可以复制全部(新建临时表);

改:

update 表名 set 字段=新值(常量,变量=字段名)

[where 条件]

删:

delete from 表名 [where 条件];慎重delete,看清条件要求;



举报

相关推荐

0 条评论