视图 视图: 视图是一个虚拟表(非真实存在),动态获取数据,仅仅能做查询操作 本质:[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用.由于视图是虚拟表,所以无法使用其对真实表进行创建.更新和删除操作,PyMysql是支持视图的. 仅能做查询用. 创建视图: create VIEW stu as select * from student; # 这里只是建立了一个对应关系,视图是虚表,动态获取数据 select * from stu;…
1.索引 索引相当于图书的目录,可以帮助用户快速的找到需要的内容. 数据库利用各种各样的快速定位技术,能够大大提高查询效率.特别是当数据量非常大,查询涉及多个表时,使用索引往往能使查询速度加快成千上万倍. 索引好处:可以提高查询效率,而且是数据量越大效果越明显. 索引缺点:添加数据和删除数据效率低 索引类型: 1.HASH :hash就是一种(key=>value)形式的键值对,允许多个key对应相同的value,但不允许一个key对应多个value,为某一列或几列建立hash索引,就会利用这一…
mysql 视图 触发器 存储过程 函数事务 索引 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用. 子查询 SELECT * FROM ( SELECT id, NAME FROM user WHERE id ) AS A WHERE A. NAME = 'anner'; 1.创建视图 CREATE VIEW v1 AS SELECT id,age FROM user WHERE i…
视图,触发器,存储过程,自定义函数 -- 回顾 1.mysql 约束 1.非空 not null 2. 主键约束 primary key 3. 唯一约束 unique 4. 外键约束 foreign key 5. 默认值约束 default 2. 数据库的设计 1.好处: 1.有效的存储数据 2.满足用户的多种需求 2.数据库设计三范式: 1.确保每列都保持原子性 2.确保每列都与主键相关 3.确保每列都与主键直接相关,而非间接相关. 3.数据库表关系. 1. 1-1 特殊的一对多,通过在字段上…
1.视图 *** 视图是有一条sql语句的查询结果构成的虚拟表 其不是物理存在的 使用方式与普通表相同 视图的作用1.简化sql语句的编写 2.限制可以查看的数据 可以使用权限来完成 权限某一个库 的某一个表 的某一个字段 例如:一张表存储了所有人的工资 但是每个员工只能看自己的工资信息 那就可以用视图来限制 视图的特点: 对于视图的增删改查 都会同步到原始表 每一次对视图的查询 本质上都是 执行了之前创建视图时 指定的sql语句 对于原始表的修改 也能在视图中查看到 前提是 你修改的数据 包含…
视图 1.什么是视图? 视图就是通过查询得到的一张虚拟表,然后保存下来,下次可直接使用 2.为什么要使用视图? 如果要频繁使用一张虚拟表,可以不用重复查询 3.如何使用视图? create view 表1_表2 as select * from 表1 inner join 表2 on 条件; 例: create view teacher_course as select * from teacher inner join course on teacher.tid = course.teache…
一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的临时表摘出来,用视图去实现,这样以后再想操作该临时表的数据时就无需重写复杂的sql了,直接去视图中查找即可,但视图有明显地效率问题,并且视图是存放在数据库中的,如果我们程序中使用的sql过分依赖数据库中的视图,即强耦合,那就意味着扩展sql极为不便,因此并不推荐使用 #两张有关系的表 mysql>…
视图 视图虚拟表,是一个我们真实查询结果表,我们希望将某次查询出来的结果作为单独的一个表,就叫视图,无法对图字段内容进行增删改. --格式: CREATE VIEW 视图名字 AS 操作; --比如: CREATE VIEW v1 AS SELECTE nid,name FROM table1; --删除视图: DROP VIEW 视图名字; --更新: ALTER VIEW 视图名字 AS 新视图操作; --使用:和普通查询一样: SELECT * FROM 视图名字; 视图 触发器 允许在对…
.事务 通俗的说,事务指一组操作,要么都执行成功,要么都执行失败 思考: 我去银行给朋友汇款, 我卡上有1000元, 朋友卡上1000元, 我给朋友转账100元(无手续费), 如果,我的钱刚扣,而朋友的钱又没加时, 网线断了,怎么办? 演示: create table user ( id int auto_increment primary key, name varchar(32) not null default '', salary int not null default 0 )char…
SQL注入攻击.视图.事物.存储过程.流程控制 一.SQL注入攻击 1.什么是SQL注入攻击 import pymysql conn = pymysql.Connect( user="root", password="admin", host="localhost", database="day43", charset="utf8" ) cursor = conn.cursor(pymysql.cursor…