表内容的增、删、改
增:
插入新的数据记录
(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,看清条件要求;