仓酷云

标题: 公布MySQL数据库函数详解(4) [打印本页]

作者: 不帅    时间: 2015-2-16 00:23
标题: 公布MySQL数据库函数详解(4)
采用DBaaS解决方案,他们也可以使用同大企业一样的技术。在大型组织中,DBaaS可以提供部门级解决MySQL学习教程,而无需IT部门和采购部门的介入,提供更快和更容易的方法来实现小型解决方案。作者:随想 OSO奥索 (13) object MySQL_fetch_object(int result_id [, int result_typ]);
本函式用来将查询了局 result 拆到物件变数中。利用办法和 mysql_fetch_array() 几近不异,分歧的中央在于本函式传回材料是物件而不是阵列。若 result 没有材料,则传回 false 值。别的值得注重的中央是,取回的物件材料的索引只能是文字而不克不及用数字,这是由于物件的特征。物件材料的特征中一切的属性(PRoperty) 称号都不克不及是数字,因而只好乖乖利用文字字串当索引了。参数 result_typ是一个常数值,有以下几种常数 MYSQL_ASSOC、MYSQL_NUM 与 MYSQL_BOTH。关于速度方面,本函式的处置速度几近和mysql_fetch_row() 及 mysql_fetch_array() 二函式差不多,要用哪一个函式仍是看利用的需求决意。

<?php
$link=mysql_pconnect("localhost","sunsoft","suixiang") or die("Could not connect");
mysql_select_db("stamp_db") or die("Could not select database");
$query="SELECT last_name,first_name FROM president";
$result=mysql_query($query) or die("Query failed");
while($row=mysql_fetch_object($result))
printf("%s %s<BR>
",$row->last_name,$row->first_name);
mysql_free_result($result);
?>

(14) array mysql_fetch_row(int result);
作为一个数组前往给定了局集的下一行,假如没有更多的行,则前往假。列值可作为数组元素会见,在0到mysql_num_fields()-1局限内利用列索引。

<?php
$link=mysql_pconnect("localhost","sunsoft","suixiang") or die("Could not connect");
mysql_select_db("stamp_db") or die("Could not select database");
$query="SELECT last_name,first_name FROM president";
$result=mysql_query($query) or die("Query failed");
while($row=mysql_fetch_row($result))
printf("%s %s<BR>
",$row[0],$row[1]);
mysql_free_result($result);
?>

(15) string mysql_field_name(int result, int field_index);
前往了局集的给定列的称号。
col_num 的局限为0到mysql_num_fields()-1.

<?php
$link=mysql_pconnect("localhost","sunsoft","suixiang") or die("Could not connect");
mysql_select_db("stamp_db") or die("Could not select database");
$query="SELECT * FROM president";
$result=mysql_query($query) or die("Query failed");
for($i=0;$i<mysql_num_fields($result);$i++)
{
printf("Name of column %d:",$i);
$name=mysql_field_name($result,$i);
if(!$name)
print("No name available<BR>
");
else
print("$name<BR>
");
}
?>


(16) int mysql_field_seek(int result, int field_offset);
为随后的mysql_fetch_field()挪用设置索引。宣布没有明白列号的mysql_fetch_field()的下一次挪用,将前往列col_num的信息。假如搜刮胜利,前往真,不然前往假。
col_num的局限为0到mysql_num_fields()-1.

<?php
$link=mysql_pconnect("localhost","sunsoft","suixiang") or die("Could not connect");
mysql_select_db("stamp_db") or die("Could not select database");
$query="SELECT * FROM president";
$result=mysql_query($query) or die("Query failed");
for($i=0;$i<mysql_num_fields($result);$i++)
{
printf("Information for column %d:<BR>
",$i);
if(!mysql_field_seek($result,$i))
{
print("Cannot seek to colum<BR>
");
continue;
}
$meta=mysql_fetch_field($result,$i);
if(!$meta)
{
print("No information available<BR>
");
continue;
}
print("<PRE>
");
printf("blob: %s
",$meta->blob);
printf("max_length: %s
",$meta->max_length);
printf("multiple_key: %s
",$meta->multiple_key);
printf("name: %s
",$meta->name);
printf("not_null: %s
",$meta->not_null);
printf("numeric: %s
",$meta->numeric);
printf("primary_key: %s
",$meta->primary_key);
printf("table: %s
",$meta->table);
printf("type: %s
",$meta->type);
printf("unique_key: %s
",$meta->unique_key);
printf("unsigned: %s
",$meta->unsigned);
printf("zerofill: %s
",$meta->zerofill);
print("</PRE>
");
}
?>

用户时常会发现其实自己并不是第一个选用MySQL数据库的先驱者。”
作者: 蒙在股里    时间: 2015-2-16 00:49
连做梦都在想页面结构是怎么样的,绝非虚言
作者: 愤怒的大鸟    时间: 2015-2-24 14:08
我们学到了什么?思考问题的时候从表的角度来思考问
作者: 若天明    时间: 2015-3-7 12:21
入门没那么困难,精通没那么容易
作者: 老尸    时间: 2015-3-11 00:52
入门没那么困难,精通没那么容易
作者: 灵魂腐蚀    时间: 2015-3-17 17:09
很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。
作者: 透明    时间: 2015-3-24 12:50
having子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having条件显示特定的组,也可以使用多个分组标准进行分组。
作者: 仓酷云    时间: 2015-4-4 04:00
分区表效率问题肯定是大家关心的问题。在我的试验中,如果按照分区字段进行的查询(过滤)效率会高于未分区表的相同语句。但是如果按照非分区字段进行查询,效率会低于未分区表的相同语句。
作者: 谁可相欹    时间: 2015-4-21 13:13
如果你是从“学习某一种数据库应用软件,从而获得应聘的资本和工作机会”的角度来问的话。
作者: 变相怪杰    时间: 2015-4-21 18:41
如果处理少量数据,比如几百条记录的数据,我不知道这两种情况哪个效率更高,如果处理大量数据呢?比如有表中有20万条记录.
作者: 小妖女    时间: 2015-4-22 11:59
多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。
作者: 再见西城    时间: 2015-6-21 23:52
也可谈一下你是怎么优化存储过程的?
作者: 冷月葬花魂    时间: 2015-6-25 15:21
还不是性能有问题!否则面向对象的数据库早就实现了!建议使用CLR的地方一般是和应用的复杂程度或操作系统环境有很高的耦合度的场景。如你想构建复杂的算法,并且用到了大量的指针和高级数据模型。
作者: 若相依    时间: 2015-7-9 04:44
换言之,只有在不断的失败中尝试成功,而关于失败的总结却是很少的
作者: 柔情似水    时间: 2015-7-10 20:56
原来公司用过MYSQL自己也只是建个表写个SQL
作者: 只想知道    时间: 2015-7-13 19:35
也可谈一下你是怎么优化存储过程的?
作者: 简单生活    时间: 2015-7-13 19:54
外键的级联更能扩展可能大部分的同行在设计OLTP系统的时候都不愿意建立外键,都是通过程序来控制父子数据的完整性。
作者: 小女巫    时间: 2015-7-25 21:48
分区表是个亮点!从分区表也能看出微软要做大作强SQLServer的信心。资料很多,这里不详细说。但是重点了解的是:现在的SQLServer2005的表,都是默认为分区表的。因为它要支持滑动窗口的这个特性。这种特性对历史数据和实时数据的处理是很有帮助的。
作者: admin    时间: 2015-7-26 01:23
比如,MicrosoftSQLServer2008的某一个版本可以满足现在的这个业务的需要,而且价格还比Oracle11g要便宜,那么这一产品就是适合的。
作者: 第二个灵魂    时间: 2015-7-26 01:50
另一个是把SQL语句写到服务器端,就是所谓的SP(存储过程);




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2