登录后进入了右上角“管理首页”,在左边点击“数据库管理”,
此时进入了数据库列表里,请选择您要管理的主机,点击“主机名”
此时您已进入了管理界面,可以进行各项管理 *** 作了。
很多应用往往只展示最新或最热门的几条记录,但为了旧记录仍然可访问,所以就需要个分页的导航栏。然而,如何通过MySQL更好的实现分页,始终是比较令人头疼的问题。虽然没有拿来就能用的解决办法,但了解数据库的底层或多或少有助于优化分页查询。
我们先从一个常用但性能很差的查询来看一看。
SELECT
FROM city
ORDER BY id DESC
LIMIT 0, 15
这个查询耗时000sec。So,这个查询有什么问题呢?实际上,这个查询语句和参数都没有问题,因为它用到了下面表的主键,而且只读取15条记录。
CREATE TABLE city (
id int(10) unsigned NOT NULL AUTO_INCREMENT,
city varchar(128) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB;
真正的问题在于offset(分页偏移量)很大的时候,像下面这样:
SELECT
FROM city
ORDER BY id DESC
LIMIT 100000, 15;
上面的查询在有2M行记录时需要022sec,通过EXPLAIN查看SQL的执行计划可以发现该SQL检索了100015行,但最后只需要15行。大的分页偏移量会增加使用的数据,MySQL会将大量最终不会使用的数据加载到内存中。就算我们假设大部分网站的用户只访问前几页数据,但少量的大的分页偏移量的请求也会对整个系统造成危害。Facebook意识到了这一点,但Facebook并没有为了每秒可以处理更多的请求而去优化数据库,而是将重心放在将请求响应时间的方差变小。
对于分页请求,还有一个信息也很重要,就是总共的记录数。我们可以通过下面的查询很容易的获取总的记录数。
SELECT COUNT()
FROM city;
然而,上面的SQL在采用InnoDB为存储引擎时需要耗费928sec。一个不正确的优化是采用 SQL_CALC_FOUND_ROWS,SQL_CALC_FOUND_ROWS 可以在能够在分页查询时事先准备好符合条件的记录数,随后只要执行一句 select FOUND_ROWS(); 就能获得总记录数。但是在大多数情况下,查询语句简短并不意味着性能的提高。不幸的是,这种分页查询方式在许多主流框架中都有用到,下面看看这个语句的查询性能。
SELECT SQL_CALC_FOUND_ROWS
FROM city
ORDER BY id DESC
LIMIT 100000, 15;
这个语句耗时2002sec,是上一个的两倍。事实证明使用 SQL_CALC_FOUND_ROWS 做分页是很糟糕的想法。
下面来看看到底如何优化。文章分为两部分,第一部分是如何获取记录的总数目,第二部分是获取真正的记录。
高效的计算行数
如果采用的引擎是MyISAM,可以直接执行COUNT()去获取行数即可。相似的,在堆表中也会将行数存储到表的元信息中。但如果引擎是InnoDB情况就会复杂一些,因为InnoDB不保存表的具体行数。
我们可以将行数缓存起来,然后可以通过一个守护进程定期更新或者用户的某些 *** 作导致缓存失效时,执行下面的语句:
SELECT COUNT()
FROM city
USE INDEX(PRIMARY);
获取记录
下面进入这篇文章最重要的部分,获取分页要展示的记录。上面已经说过了,大的偏移量会影响性能,所以我们要重写查询语句。为了演示,我们创建一个新的表“news”,按照时事性排序(最新发布的在最前面),实现一个高性能的分页。为了简单,我们就假设最新发布的新闻的Id也是最大的。
CREATE TABLE news(
id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(128) NOT NULL
) ENGINE=InnoDB;
一个比较高效的方式是基于用户展示的最后一个新闻Id。查询下一页的语句如下,需要传入当前页面展示的最后一个Id。
SELECT
FROM news WHERE id < $last_id
ORDER BY id DESC
LIMIT $perpage
查询上一页的语句类似,只不过需要传入当前页的第一个Id,并且要逆序。
SELECT
FROM news WHERE id > $last_id
ORDER BY id ASC
LIMIT $perpage
上面的查询方式适合实现简易的分页,即不显示具体的页数导航,只显示“上一页”和“下一页”,例如博客中页脚显示“上一页”,“下一页”的按钮。但如果要实现真正的页面导航还是很难的,下面看看另一种方式。
SELECT id
FROM (
SELECT id, ((@cnt:= @cnt + 1) + $perpage - 1) % $perpage cnt
FROM news
JOIN (SELECT @cnt:= 0)T
WHERE id < $last_id
ORDER BY id DESC
LIMIT $perpage $buttons
)C
WHERE cnt = 0;
通过上面的语句可以为每一个分页的按钮计算出一个offset对应的id。这种方法还有一个好处。假设,网站上正在发布一片新的文章,那么所有文章的位置都会往后移一位,所以如果用户在发布文章时换页,那么他会看见一篇文章两次。如果固定了每个按钮的offset Id,这个问题就迎刃而解了。Mark Callaghan发表过一篇类似的博客,利用了组合索引和两个位置变量,但是基本思想是一致的。
如果表中的记录很少被删除、修改,还可以将记录对应的页码存储到表中,并在该列上创建合适的索引。采用这种方式,当新增一个记录的时候,需要执行下面的查询重新生成对应的页号。
SET p:= 0;
UPDATE news SET page=CEIL((p:= p + 1) / $perpage) ORDER BY id DESC;
当然,也可以新增一个专用于分页的表,可以用个后台程序来维护。
UPDATE pagination T
JOIN (
SELECT id, CEIL((p:= p + 1) / $perpage) page
FROM news
ORDER BY id
)C
ON Cid = Tid
SET Tpage = Cpage;
现在想获取任意一页的元素就很简单了:
SELECT
FROM news A
JOIN pagination B ON Aid=BID
WHERE page=$offset;
还有另外一种与上种方法比较相似的方法来做分页,这种方式比较试用于数据集相对小,并且没有可用的索引的情况下—比如处理搜索结果时。在一个普通的服务器上执行下面的查询,当有2M条记录时,要耗费2sec左右。这种方式比较简单,创建一个用来存储所有Id的临时表即可(这也是最耗费性能的地方)。
CREATE TEMPORARY TABLE _tmp (KEY SORT(random))
SELECT id, FLOOR(RAND() 0x8000000) random
FROM city;
ALTER TABLE _tmp ADD OFFSET INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, DROP INDEX SORT,ORDER BY random;
接下来就可以向下面一样执行分页查询了。
SELECT
FROM _tmp
WHERE OFFSET >= $offset
ORDER BY OFFSET
LIMIT $perpage;
简单来说,对于分页的优化就是。。。避免数据量大时扫描过多的记录。
MySQL数据库:
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。
MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。
MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。
数据库简介:MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。
由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。
MySQL这个名字,起源不是很明确。一个比较有影响的说法是,基本指南和大量的库和工具带有前缀“my”已经有10年以上,而且不管怎样,MySQL AB创始人之一的Monty Widenius的女儿也叫My。这两个到底是哪一个给出了MySQL这个名字至今依然是个迷,包括开发者在内也不知道。
MySQL的海豚标志的名字叫“sakila”,它是由MySQL AB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者Ambrose Twebaze提供。根据Ambrose所说,Sakila来自一种叫SiSwati的斯威士兰方言,也是在Ambrose的家乡乌干达附近的坦桑尼亚的Arusha的一个小镇的名字。
MySQL,虽然功能未必很强大,但因为它的开源、广泛传播,导致很多人都了解到这个数据库。它的历史也富有传奇性。
MySQL数据库历史:MySQL的历史最早可以追溯到1979年,那时Oracle也才小打小闹,微软的SQL Server影子都没有。有一个人叫Monty Widenius, 为一个叫TcX的小公司打工,并用BASIC设计了一个报表工具,可以在4M主频和16KB内存的计算机上运行。过了不久,又将此工具,使用C语言重写,移植到Unix平台,当时,它只是一个很底层的面向报表的存储引擎。这个工具叫做Unireg。
可是,这个小公司资源有限,Monty天赋极高,面对资源有限的不利条件,他反而更能发挥潜能,总是力图写出最高效的代码。并因此养成了习惯。与Monty同在一起的还有一些别的同事,很少有人能坚持把那些代码持续写到20年后,而Monty却做到了。
1990年,TcX的customer 中开始有人要求要为它的API提供SQL支持,当时,有人想到了直接使用商用数据库算了,但是Monty觉得商用数据库的速度难令人满意。于是,他直接借助于mSQL的代码,将它集成到自己的存储引擎中。但不巧的是,效果并不太好。于是, Monty雄心大起,决心自己重写一个SQL支持。
1996年,MySQL 10发布,只面向一小拨人,相当于内部发布。到了96年10月,MySQL 3111发布了,呵呵,没有2x版本。最开始,只提供了Solaris下的二进制版本。一个月后,Linux版本出现了。
紧接下来的两年里,MySQL依次移植到各个平台下。它发布时,采用的许可策略,有些与众不同:允许免费商用,但是不能将MySQL与自己的产品绑定在一起发布。如果想一起发布,就必须使用特殊许可,意味着要花银子。当然,商业支持也是需要花银子的。其它的,随用户怎么用都可以。这种特殊许可为MySQL带来了一些收入,从而为它的持续发展打下了良好的基础。(细想想,PostgreSQL曾经有几年限入低谷,可能与它的完全免费,不受任何限制有关系)。
MySQL322应该是一个标志性的版本,提供了基本的SQL支持。
MySQL关系型数据库于1998年1月发行第一个版本。它使用系统核心提供的多线程机制提供完全的多线程运行模式,提供了面向C、C++、Eiffel、Java、Perl、PHP、Python以及Tcl等编程语言的编程接口(APIs),支持多种字段类型并且提供了完整的 *** 作符支持查询中的SELECT和WHERE *** 作。
MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适应性而备受关注。
1999-2000年,有一家公司在瑞典成立了,叫MySQL AB (AB是瑞典语“股份公司”的意思)。 雇了几个人,与Sleepycat合作,开发出了 Berkeley DB引擎, 因为BDB支持事务处理,所以,MySQL从此开始支持事务处理了。
2000年4月,MySQL对旧的存储引擎进行了整理,命名为MyISAM。同时,2001年,Heikiki Tuuri向MySQL提出建议,希望能集成他们的存储引擎InnoDB,这个引擎同样支持事务处理,还支持行级锁。
如今,遗憾的是,BDB和InnoDB好像都被Oracle收购了,为了消灭竞争对手,哪怕是开源的,都是不择手段。
MySQL与InnoDB的正式结合版本是40。
到了MySQL50,2003年12月,开始有View,存储过程之类的东东,当然,其间, bug也挺多。
在2008年1月16号 MySQL被Sun公司收购。
最近,MySQL的创始人Monty Widenius已经向Sun提交了辞呈。head都要走了。
据说,被Sun收购的公司多薄命,不知道MySQL今后前途如何,希望一路走好。相信MySQL的生命力还是很长久的。
时至今日 mysql 和 php 的结合绝对是完美很多大型的网站也用到mysql数据库mysql的发展前景是非常光明的!
MySQL常用命令:1:使用SHOW语句找出在服务器上当前存在什么数据库:
mysql> SHOW DATABASES;
2:2、创建一个数据库MYSQLDATA
mysql> CREATE DATABASE MYSQLDATA;
3:选择你所创建的数据库
mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明 *** 作成功!)
4:查看现在的数据库中存在什么表
mysql> SHOW TABLES;
5:创建一个数据库表
mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
6:显示表的结构:
mysql> DESCRIBE MYTABLE;
7:往表中加入记录
mysql> insert into MYTABLE values (”hyq”,”M”);
8:用文本方式将数据装入数据库表中(例如D:/mysqltxt)
mysql> LOAD DATA LOCAL INFILE “D:/mysqltxt” INTO TABLE MYTABLE;
9:导入sql文件命令(例如D:/mysqlsql)
mysql>use database;
mysql>source d:/mysqlsql;
10:删除表
mysql>drop TABLE MYTABLE;
11:清空表
mysql>delete from MYTABLE;
12:更新表中数据
mysql>update MYTABLE set sex=”f” where name=’hyq’;
全局管理权限对应解释:
FILE: 在MySQL服务器上读写文件。
PROCESS: 显示或杀死属于其它用户的服务线程。
RELOAD: 重载访问控制表,刷新日志等。
SHUTDOWN: 关闭MySQL服务。
数据库/数据表/数据列权限:
ALTER: 修改已存在的数据表(例如增加/删除列)和索引。
CREATE: 建立新的数据库或数据表。
DELETE: 删除表的记录。
DROP: 删除数据表或数据库。
INDEX: 建立或删除索引。
INSERT: 增加表的记录。
SELECT: 显示/搜索表的记录。
UPDATE: 修改表中已存在的记录。
特别的权限:
ALL: 允许做任何事(和root一样)。
USAGE: 只允许登录–其它什么也不允许做。
MySQL数据库导入方法:MySQL数据库的导入,有两种方法:
1) 先导出数据库SQL脚本,再导入;
2) 直接拷贝数据库目录和文件。
在不同 *** 作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生。
所以一般推荐用SQL脚本形式导入。下面分别介绍两种方法。
2 方法一 SQL脚本形式
*** 作步骤如下:
21 导出SQL脚本
在原数据库服务器上,可以用phpMyAdmin工具,或者mysqldump命令行,导出SQL脚本。
211 用phpMyAdmin工具
导出选项中,选择导出“结构”和“数据”,不要添加“DROP DATABASE”和“DROP TABLE”选项。
选中“另存为文件”选项,如果数据比较多,可以选中“gzipped”选项。
将导出的SQL文件保存下来。
212 用mysqldump命令行
命令格式
mysqldump -u 用户名 -p 数据库名 > 数据库名sql
范例:
mysqldump -u root -p abc > abcsql
(导出数据库abc到abcsql文件)
提示输入密码时,输入该数据库用户名的密码。
22 创建空的数据库
通过主控界面/控制面板,创建一个数据库。假设数据库名为abc,数据库全权用户为abc_f。
23 将SQL脚本导入执行
同样是两种方法,一种用phpMyAdmin(mysql数据库管理)工具,或者mysql命令行。
231 用phpMyAdmin工具
从控制面板,选择创建的空数据库,点“管理”,进入管理工具页面。
在"SQL"菜单中,浏览选择刚才导出的SQL文件,点击“执行”以上载并执行。
注意:phpMyAdmin对上载的文件大小有限制,php本身对上载文件大小也有限制,如果原始sql文件
比较大,可以先用gzip对它进行压缩,对于sql文件这样的文本文件,可获得1:5或更高的压缩率。
gzip使用方法:
# gzip xxxxxsql
得到
xxxxxsqlgz文件。
提示输入密码时,输入该数据库用户名的密码。
3 直接拷贝
如果数据库比较大,可以考虑用直接拷贝的方法,但不同版本和 *** 作系统之间可能不兼容,要慎用。
31 准备原始文件
用tar打包为一个文件
32 创建空数据库
33 解压
在临时目录中解压,如:
cd /tmp
tar zxf mydbtargz
34 拷贝
将解压后的数据库文件拷贝到相关目录
cd mydb/
cp /var/lib/mysql/mydb/
对于FreeBSD:
cp /var/db/mysql/mydb/
35 权限设置
将拷贝过去的文件的属主改为mysql:mysql,权限改为660
chown mysql:mysql /var/lib/mysql/mydb/
chmod 660 /var/lib/mysql/mydb/
Mssql转换mysql的方法:1导表结构
使用MySQL生成create脚本的方法。找到生成要导出的脚本,按MySQL的语法修改一下到MySQL数据库中创建该表的列结构什么的。
2导表数据
在MSSQL端使用bcp导出文本文件:
bcp “Select FROM dbnamedbotablename;” queryout tablenametxt -c -Slocalhost\db2005 -Usa
其中”"中是要导出的sql语句,-c指定使用\t进行字段分隔,使用\n进行记录分隔,-S指定数据库服务器及实例,-U指定用户名,-P指定密码
在MySQL端使用mysqlimport 导入文本文件到相应表中
mysqlimport -uroot -p databasename /home/test/tablenametxt
其中-u指定用户名,-p指定密码,databasename指定数据库名称,表名与文件名相同
MySQL备份与恢复:MySQL备份恢复数据的一般步骤
备份一个数据库的例子:
1、备份前读锁定涉及的表
mysql>LOCK TABLES tbl1 READ,tbl1 READ,…
如果,你在mysqldump实用程序中使用--lock-tables选项则不必使用如上SQL语句。
2、导出数据库中表的结构和数据
shell>mysqldump --opt db_name>db_namesql
3、启用新的更新日志
shell>mysqladmin flush-logs
这样可以记录你备份后的数据改变为恢复数据准备。
4、解除表的读锁
mysql>UNLOCK TABLES;
为了加速上述过程,你可以这样做:
shell> mysqldump --lock-tables --opt db_name>db_namesql; mysqladmin flush-logs
但是这样可能会有点小问题。上命令在启用新的更新日志前就恢复表的读锁,
在更新繁忙的站点,可能有备份后的更新数据没有记录在新的日志中。
现在恢复上面备份的数据库
1、对涉及的表使用写锁
mysql>LOCK TABLES tbl1 WRITE,tbl1 WRITE,…
2、恢复备份的数据
shell>mysql db_name < db_namesql
3、恢复更新日志的内容
shell>mysql --one-database db_name < hostnamennn
假设需要使用的日志名字为hostnamennn
4、启用新的更新日志
shell>mysqladmin flush-logs
5、解除表的写锁
mysql>UNLOCK TABLES;
希望上面的例子能给你启发,因为备份数据的手法多种多样,你所使用的和上面所述可能大不一样,但是对于备份和恢复中,表的锁定、启用新的更新日志的时机应该是类似的,仔细考虑这个问题。
MySQL数据库优化:选择InnoDB作为存储引擎
大型产品的数据库对于可靠性和并发性的要求较高,InnoDB作为默认的MySQL存储引擎,相对于MyISAM来说是个更佳的选择。
优化数据库结构
组织数据库的schema、表和字段以降低I/O的开销,将相关项保存在一起,并提前规划,以便随着数据量的增长,性能可以保持较高的水平。
设计数据表应尽量使其占用的空间最小化,表的主键应尽可能短。·对于InnoDB表,主键所在的列在每个辅助索引条目中都是可复制的,因此如果有很多辅助索引,那么一个短的主键可以节省大量空间。
仅创建你需要改进查询性能的索引。索引有助于检索,但是会增加插入和更新 *** 作的执行时间。
InnoDB的ChangeBuffering特性
InnoDB提供了changebuffering的配置,可减少维护辅助索引所需的磁盘I/O。大规模的数据库可能会遇到大量的表 *** 作和大量的I/O,以保证辅助索引保持最新。当相关页面不在缓冲池里面时,InnoDB的changebuffer将会更改缓存到辅助索引条目,从而避免因不能立即从磁盘读取页面而导致耗时的I/O *** 作。当页面被加载到缓冲池时,缓冲的更改将被合并,更新的页面之后会刷新到磁盘。这样做可提高性能,适用于MySQL55及更高版本。
InnoDB页面压缩
InnoDB支持对表进行页面级的压缩。当写入数据页的时候,会有特定的压缩算法对其进行压缩。压缩后的数据会写入磁盘,其打孔机制会释放页面末尾的空块。如果压缩失败,数据会按原样写入。表和索引都会被压缩,因为索引通常是数据库总大小中占比很大的一部分,压缩可以显著节约内存,I/O或处理时间,这样就达到了提高性能和伸缩性的目的。它还可以减少内存和磁盘之间传输的数据量。MySQL51及更高版本支持该功能。
注意,页面压缩并不能支持共享表空间中的表。共享表空间包括系统表空间、临时表空间和常规表空间。
使用批量数据导入
在主键上使用已排序的数据源进行批量数据的导入可加快数据插入的过程。否则,可能需要在其他行之间插入行以维护排序,这会导致磁盘I/O变高,进而影响性能,增加页的拆分。关闭自动提交的模式也是有好处的,因为它会为每个插入执行日志刷新到磁盘。在批量插入期间临时转移唯一键和外键检查也可显著降低磁盘I/O。对于新建的表,最好的做法是在批量导入后创建外键/唯一键约束。
一旦你的数据达到稳定的大小,或者增长的表增加了几十或几百兆字节,就应该考虑使用OPTIMIZETABLE语句重新组织表并压缩浪费的空间。对重新组织后的表进行全表扫描所需要的I/O会更少。
优化InnoDB磁盘I/O
增加InnoDB缓冲池大小可以让查询从缓冲池访问而不是通过磁盘I/O访问。通过调整系统变量innodb_flush_method来调整清除缓冲的指标使其达到最佳水平。
MySQL的内存分配
在为MySQL分配足够的内存之前,请考虑不同领域对MySQL的内存需求。要考虑的关键领域是:并发连接——对于大量并发连接,排序和临时表将需要大量内存。在撰写本文时,对于处理3000+并发连接的数据库,16GB到32GB的RAM是足够的。
内存碎片可以消耗大约10%或更多的内存。像innodb_buffer_pool_size、key_buffer_size、query_cache_size等缓存和缓冲区要消耗大约80%的已分配内存。
日常维护
定期检查慢的查询日志并优化查询机制以有效使用缓存来减少磁盘I/O。优化它们,以扫描最少的行数,而不是进行全表扫描。
其他可以帮助DBA检查和分析性能的日志包括:错误日志、常规查询日志、二进制日志、DDL日志(元数据日志)。
定期刷新缓存和缓冲区以降低碎片化。使用OPTIMIZETABLE语句重新组织表并压缩任何可能被浪费的空间。
一个不带limit 一个带limit。以php+mysql为例首先,连接数据库,写一条sql语句把你要查询的信息总量查找出来sql = select count() from tb,$all_page ;设定每页显示条数, $display 。然后,当前页为$page ;在写一句sql = select from tb limit $dispaly($page - 1),$display;最后,在页面显示分页信息把当前页传回给分页处理页,一定要把相关的条件一起传回去,get 方式传值,否则查询条件改变查询信息就不正确。 网上有好多封装好的分页类。我也有一个很好用的分页类,如果请我吃肉就发给你一份哈。。\(^o^)/~ 追问: 这个$all_page用在哪儿,怎么将当前页传回给分页处理页。显示的时候那些“首页”“上一页”“下一页”“末页”是链接吗、链到什么地方,还是别的什么 回答: $all_page是查询总数,总是页数等于查询总数除以每页显示的信息。$num_page = ceil($all_page/$display); 用get方式把当前页传给分页处理页,就是<a href = "连接到本页或着不写也就是当前页?page=当前页码"></a>标签 别的我也想不起来,让我自己写分页,我只会最简单的那种,一般我都是调用一个现成的分页类。只需传个参数就Ok,连样式都不用写的。。。
一般指四叶的车轴草、苜蓿、或酢浆草。
第一片叶子代表真爱
第二片叶子代表健康
第三片叶子代表名誉
第四片叶子代表幸福
传说中的四叶草是夏娃从天国伊甸园带到大地上,花语是幸福。
学名苜蓿草,是多年生草本植物,一般只有三片小叶子,
叶形呈心形状,叶心较深色的部分亦是心形。
最为有趣也最特别的是,在十万株苜蓿草中,
你可能只会发现一株是‘四叶草’,因为机率大约是十万分之一。
因此‘四叶草’是国际公认为幸运的象征。
它的每片叶子都有着不同的意义,
当中包含了人生梦寐以求的四样东西:
名誉、财富、爱情及健康,倘若同时拥有这些东西,那就是幸运了
启动四叶草的魔法:幸运草
Oneleafforname,(一叶带来荣誉)
Oneleafforwealth,(一叶带来财富)
Oneforafaithfullylover,(一叶带来爱情)
Oneforglorioushealth,(一叶带来健康)
Allinthisfour-leafedclover(四叶草啊!你拥有了这四种能力)
喃喃念完上述四叶草的颂曲后,用右手的两只手指握着四叶草,慢慢的转动四叶草,许下你的愿望
大约每十万朵中才能找出一朵来
相传发现4片小叶的白车轴草,就能带来幸运与幸福
最正统的"四叶草"来自于白车轴草,它们的小叶片通常是三片只有极少数在基因变异的情况下才会长出第四片叶子所以说找到了四叶草是幸运的,一点也不为过
其实,比白车轴草分布更为广泛的"三叶草"是开**小花的酢浆草,但酢浆草发生变异的几率很小,很难找到4片小叶的个体
关于四叶草,还有一个很美的传说呢!以前有一对恋人,他们真的很相爱,一起住在一片很美
的桃林里,但是因为一件特别小的事,他们闹别扭了,彼此不肯让步,终于有一天,爱神看不下去
了,他飘到他们住的那片桃林,悄悄撒了一个谎:告诉他们各方会有难,只有在桃林的最深处找到
那片四叶草才可以挽救他们,他们听后装作十分无所谓,可是心里还是为对方担忧着,那晚下雨了,
是暴雨,可是他们仍偷偷为对方到桃林最深处寻找四叶草,当他们知道对方都很在乎自己,都好感
动,决定让四叶草见证他们的爱情,爱神笑了这是爱神开的一个玩笑,因为她并不想让幸福来
得过于容易,只有彼此在乎,彼此珍惜的人才配拥有幸福
四叶草,爱情的见证!
如今,四叶草已被制作成首饰,还被做成书出版了。这说明四叶草已深受人们的喜爱。人们都认为四叶草能带来幸运,即使这不是真实的,但要是能找到四叶草,心里还是会有一种说不出满足感。
呵呵,网页中嵌入数据库,就是所谓的“动态网页”,它的作用是,能够及时更新,交换网页中的信息内容数据。 打个比方说吧,你做了一个新闻的页面,然后在页面后台连接数据库,然后你在数据库里输入某些触发器新闻代码。然后指向一个新闻网。当这个新闻网里的信息内容更新时,你的数据库则会触发到你的页面,你的页面受数据库触发的影响而自动更改页面的新闻内容,从而达到不用手动去更新的必要!
以上就是关于如何进入数据库管理页面全部的内容,包括:如何进入数据库管理页面、mysql数据库分页、什么是MySql数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)