mysql视图学习记录

2016-4-17 寒川 计算机

先说说mysql视图和mysql表的区别,网上copy来的,但说得很准,了解 下。
1.视图是已经编译好的SQL语句,是基于SQL语句的结果集的可视化的表,而表不是。

2.视图没有实际的物理记录,而基本表有。

3.表是内容,视图是窗口。

4.表占用物理空间而视图不占用物理空间,视图只是逻辑概念的存在,表可以即使对它进行修改,但视图只能创建的语句来修改。

5.视图是查看数据表的一种方法,可以查询数据表中某些字段构成的数据,只是一些SQL语句的集合。从安全的角度来看,视图可以防止用户接触数据表,因而用户不知道表的结构。

6.表属于全局模式中的表,是实表;视图属于局部模式的表,是虚表。

7.视图的建立和删除只影响视图本身,不影响对应的基本表。

联系:

视图是在基本表之上建立的表,它的结构和内容都来自基本表,它依据基本表存在而存在。一个视图可以对应一个基本表,也可以对应多个基本表。视图是基本表的抽象和在逻辑意义上建立的新关系。

视图的建,改,删:


--新建
create view myview as select * from mytalbe;

--修改
alter view myview as select * from newtable;
--删除
drop view myview;


标签: mysql mysql视图

评论(0) 浏览(4426)

screen命令让linux关闭ssh后进程继续运行。

2016-4-11 寒川 计算机

如何在关闭ssh连接的情况下,让程序继续运行?

答案就是screen了,不错的软件。

如果服务器没装screen软件,请尝试安装之:


yum install screen


安装完成后就可以用screen了,

#screen
回车后进入Screen子界面,此时putty标题栏会指示处于子界面状态,然后运行你的程序
#应用程序名
然后按下Ctrl+A后抬起,然后按下d键,此时切换回主界面,Putty的窗口标题栏也会指示。
#进行其他的操作,或者exit
 
此时就是断开ssh,程序仍在运行。以后重新ssh连接后,输入
#screen -ls
,查看子界面的代号,然后输入
#screen -r 子界面代号
就可以查看当初你程序运行所在的子界面了。

标签: linux screen ssh

评论(0) 浏览(4623)

MySQL一次查询所有分类前N条记录

2016-4-4 寒川 网页编程

遇到这么一个需求,需要查询所有分类的文章记录,同时要求各分类的前N条,文章的数据表大概如下:

id:文章ID

category_id:分类ID

title:标题

……

其它字段等。

现在要求的就是各分类的前N条记录,此处设N为10,MySQL语句如下:

SELECT a.* FROM article a
WHERE 10>=(
SELECT COUNT(*) FROM article b
WHERE a.category_id=b.category_id AND a.id<=b.id)
ORDER BY a.category_id,a.id desc

标签: mysql sql

评论(0) 浏览(5336)

Powered by emlog 蜀ICP备12030225号

川公网安备 51042102000001号

sitemap