第十一天_数据库加强增删改&备份

第三周第一天数据库加强增删改&备份


复习上周

关键字


  • select

  • 从哪张表
    from

  • 普通条件过滤
    where

  • 排序
    order by

  • 升序
    asc

  • 降序
    desc

  • 取查询结果前几条
    limit mysql
    rownum oracle
    top sqlsever

  • 模糊查询
    like

  • 通配符
    % 匹配0-n个任意字符
    _ 匹配1个任意字符

  • 多条件连接
    and 且
    or 或
    not 非(凑位置)

  • 包含
    in (,,)

  • 两者之间
    between and 闭区间

  • 分组
    group by

  • 聚合函数
    统计 count()
    求和 sum()
    平均 avg()
    最大 max()
    最小值 min()

  • 对聚合函数过滤
    having

  • 去重
    distinct

  • 多表关联
    1.先关联后筛选
    where
    2.先筛选后关联
    join
    2.1 内连接
    inner join on
    join on
    2.2左连接
    left join on
    2.3右连接
    right join on
    2.4全连接
    full join on

练习题

1.查询 比王芳操作系统课成绩高的所有学生
2.查询平均成绩高于60分的课程名

增删改

关键字

insert into

格式

  • 插入单条数据

insert into 表名 (字段名1,字段名2,..) value(值1,值2,...);

  • 插入多条数据

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

练习

1.往学生表中插入一条数据 学生编号 110,姓名 小明,性别 待定,班级 9503

关键字

update

格式

update 表名 set 字段名=字段值,字段名=字段值,.. where 条件;

练习

1.把小明的性别改为男

关键字

delete

格式

delete from 表名 where 条件

练习

删除学生编号为110的学生

练习

1.学生表中新增一个学生,学生姓名 小王,生日 2018-01-01,性别女
2.在成绩表中,添加一条数据,学生姓名 小张,课程名 语文,成绩 1分
3.把小张的语文成绩修改为100分
4.删除所有姓名为小张的同学

表备份

备份到临时表

只备份表结构

create table 临时表名 as select * from 源表名 where 1=2;

备份数据+结构

create table 临时表名 as select * from 源表名 where 1=1;

备份成sql脚本

第十一天_数据库加强增删改&备份_第1张图片
image.png
第十一天_数据库加强增删改&备份_第2张图片
image.png

备份成csv文件

第十一天_数据库加强增删改&备份_第3张图片
image.png
第十一天_数据库加强增删改&备份_第4张图片
image.png

扩展(背)

把数据从一张表备份到另一张表中

  • 两张表结构完全相同

insert into 目标表 select * from 数据源 where 条件

  • 两张表结构不同

insert into 目标表 (字段名1,字段名2,..) select 字段1,字段2,.. from 数据源 where 条件

建表

create table

建库

create database

修改表结构

alter

清表

  • 只删除表数据,不清内存

delete from 表名

  • 全部清空

truncate table 表名

  • 删表

drop table 表名

  • 删库

drop database 库名

统计类页面测试

讲表与表之间的关系

作业

根据讲的内容画ER图

你可能感兴趣的:(第十一天_数据库加强增删改&备份)