数据库mysql环境的配置( 二 )


数据修改
INSERT INTO Student VALUES(’CS-003’, ’Jill’, ’F’, 19, ’CS’); ---插入学生元组UPDATE Student SET Sage = Sage + 1 WHERE Sno = ’CS=003’;---修改学生元组DELETE FROM Student WHERE Sno = ’CS-003’;---删除学生元组
程序报错:插入数据未曾在表里出现
插入元素
将所有女性的年龄改成18岁
update student set sage=18 where ssex='F';
增加一列
alter table student add grade int;
删除所有不及格的同学
delete from student where grade<60;
去重操作
select university from user_profile group by university;
查找后排序
SELECTdevice_id,ageFROMuser_profileORDER BYage;
数据共享
包括:事务管理、并发控制、数据恢复
事务:
Mysql高级— 事务_事务高阶_科学大道上只有我一个的博客-CSDN博客
这个举银行办业务的例子非常贴切
故障恢复
BEGIN;-- 事务启动SELECT Grade FROM SCWHERE Sno = ’CS-001’ AND Cno = ’1002’;--查询分数UPDATE SC Set Grade = Grade + 1WHERE Sno = ’CS-001’ AND Cno = ’1002’;-- 修改分数END; -- 事务结束
要么全执行,要么不执行,必须是一整套流程
下面来模拟事务提前终止的过程
Beginupdate sc SET grade = 0 Sno = ’PH-001’ AND Cno = ’1002’;此时按一下ctrl+c退出事务,模拟断电的过程相当于提前终止事务重新进入后发现数据没有变
查询之后数据确实没有变化
上面演示的就是数据库的故障恢复机制:即使系统出现错误,也不会保留部分执行的结果 。
并发控制
数据库这种机制大大的解放了程序员,使得程序员本身只需要关系事务流程,而不需要考虑并发和故障 。
数据控制和数据维护
程序会报错
思考一下为啥第二个就可以
[MySQL/初学者]数据完整性约束添加完整性约束_渡过晚枫的博客-CSDN博客
数据模型
数据模型分类:
查看数据库用户.emmmm指令一定要加分号,要不然程序会以为你没执行完
演示代码
用户名# \dtList of relationsSchemanameTypeOwnerpubliccoursetable用户名publicsrctable用户名publicstudent table用户名
演示结果
数据库模式( ): 数据库模式是数据库的类型声明:
代码演示用户名~#\d student
6个字符长的字符串,不允许为空
数据库实例:数据库三层模式结构 数据库的三级模式
第一个是学号,第二个是数量,进行统计
在视图上做查询
创建视图的方法
用户名~#\sv vw1视图是怎么来的,映射机制CREATE OR REPLACE VIEW public.vw1 ASSELECT student.sdept,count(*) AS qty,From student,GROUP BY student.sdept
比如我是教师,我只需要关心SC学生的序号和对应的成绩,作为教学秘书这个关系我只关心选课信息,作为学生我需要了解他人的信息 。
概念模式只有一个,包含所有基础表的定义,外模式可以有很多个
数据库三层模式两级映射
外模式--概念模式映射:视图是取自全体的哪些行哪些列
作用:请求转换,我们写数据库的时候会基于外模式进行开发程序,上文我们说到,由于外模式是一块虚拟的表,所以必须要有一个从外模式到真实的数据库内部实体中的映射才能进行更改操作,将外模式中的查询转换成概念模式的查询 。