mysql(视图,相关函数,php操作mysql,项目).docVIP

  • 0
  • 0
  • 约4.25千字
  • 约 23页
  • 2025-06-09 发布于广东
  • 举报

mysql(视图,相关函数,php操作mysql,项目).doc

回顾

高级查询操作:having,orderby,limit

联合查询:

连接查询:内连接,外连接,交叉连接和自然连接

子查询:标量子查询,列子查询,行子查询(构造行元素),表子查询

数据备份还原

单表数据备份

SQL备份:mysqldump.exe(连接认证),还原(mysql.exe,SQL语法:source)

文件备份:InnoDB和myisam

增量备份:备份系统日志(只备份新增部分)

事务:原子性,一致性,隔离性,永久性

视图

什么是视图?

视图是一张由SQL查询语句执行得到结果之后形成的虚拟表。

什么是虚拟表?

看得见但是摸不着,看得见表的结构,但是并没有真实的存储数据。

创建视图

语法

createview视图名字asselect查询语句。

系统执行当前语句之后,做了哪些事情?

在表空间创建了视图myview1

在当前数据库文件夹下创建了该视图对应的结构文件

查看视图可以通过表的形式查看,也可以通过视图关键字查看

mysql语句结束符

mysql提供了三种语句结束符:英文分号,\g,\G

英文分号:语句结束

\g:与英文分号一样

\G:将所有的列,按照行进行显示。

使用视图

视图就当表使用

注意:视图本身不保存数据,是当视图被调用时,其查询语句会自动执行,从而获得数据

修改视图

修改视图,修改的是视图本身的SQL查询语句

语法

alterview视图名as新的SQL查询语句

删除视图

语法

dropview视图名字

删除语句执行做了哪些操作?

表空间了删除了视图名字

数据库文件夹下对应的视图的结构文件被删除

视图应用

视图能够简化查询的SQL语句(已经封装好一条完整的麻烦的SQL语句)

视图增加了数据库的安全性

视图能够对外控制外部对真实表的数据的查看

视图能够减轻服务器的负担

对外保持友好性(对于视图权限的完整的拥有)

视图数据操作

可以通过对视图里数据的增删改查从而达到对原始数据(基表)的数据修改。

前提:

允许对单表视图进行数据新增:视图必须包含基表中所有的不能为空的字段

包含全部不为空字段

包含部分不为空字段(有不允许为空的字段视图没有包含)

多表视图(包含所有不为空字段)

更新操作

视图是允许视图字段进行更新操作

删除操作

多表视图不允许删除

单表视图允许删除

视图算法

视图算法:当视图被查询操作的时候,系统该如何处理视图的自身的查询语句与外部查询语句的执行关系和顺序。

视图算法有三种:merge,temptable,undefined

merge:合并代码,系统会将视图的select语句,与外部的select语句进行合并后,再执行

temptable:临时表,表示先执行视图的select语句,得到一个临时数据表,然后再供外部进行操作

undefined:未定义,默认的,系统自动的根据自己的理解选择到底是merge还是temptable算法,大部分的时候,系统会选择使用merge算法(效率高)

语法关键

createalgorithm=视图算法view视图名asselect语句

视图算法选择

需要视图先执行,后面的查询语句是对视图结果进行操作的话,那么最好使用算法为temptable。

没有严格的要求,那么可以不指定算法或者使用merge算法,这样执行效率比较高。

PHP操作mysql

mysql是一种c/s结构的软件,只有客户端能够操作服务端。

php操作mysql,php充当的角色就是客户端。

php本身不能操作mysql,必须借助mysql提供的php扩展。

php开启扩展

在php.ini中找到mysql扩展:extension=php_mysql.dll

必须指定扩展路径:extension_dir=D:/server/php/ext

php操作数据库

php操作数据库的步骤

连接认证

mysql_connect(服务器主机地址:地址:端口号,用户名,用户密码),返回一个连接资源

默认的mysql的连接:同一个客户端,多次连接只会得到一个连接资源

可以修改第四个参数得到新连接

准备SQL语句

通过连接将sql语句发送给mysql服务器

接收mysql返回的结果

mysql_query(SQL语句[,指定的连接]),通常不需要第二个参数,是php在发送SQL的时候,会自动查找(mysql连接对于php来讲是一个超全局的)

mysql_query会根据操作语句的不同得到不同类型的结果

布尔结果:如果数据只有受影响的行数(没有数据返回),得到的就是布尔结果。/create/insert/update/delete/drop

结果集资源:在有数据返回的情况下,得到的是结果集资源。show/desc/describle/show

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档