PHP、Python、Ruby的比较(一)
主题:数据库、文件的操作
侯惠阳(PHPer.yang)
我和大家讨论的是(PHP、Python、Ruby)这三种脚本语言各自的特性。今后每期主题不同,分别阐述他们的效率以及特点。这一期讨论的是:数据库、文件的操作。
一:PHP部分:
A:读取数据库方面
PHP对于数据库操作方面比较简单,可以使用MySQL给PHP写的扩展mysql*、mysqli*,以及PHP官方自己写的Mysqlnd。
这里其实我主要想说的是mysql_connect();这个函数。注意第三个参数new_link(bool)。如果用同样的参数第二次调用mysql_connect(),将不会建立新连接,而将返回已经打开的连接标识。参数new_link 改变此行为并使mysql_connect() 总是打开新的连接,甚至当mysql_connect() 曾在前面被用同样的参数调用过。
普通操作:
<?php
$conn = mysql_connect(“localhost”,”root”,””,true);
mysql_select_db(“test”,$conn);
$query = mysql_query(“select * from test”);
while($rows = mysql_fetch_array($query)) {
…
}
…
带存储过程的操作:
Mysql
create procedure hhy(in yumail varchar(20),out _s int,out _uid int)
begin
if exists(select * from user where umail = yumail) then
set _s = 1;
select uid into _uid from user where umail = yumail;
else
set _s = 0;
end if;
end
PHP中使用:
mysql_query(“call hhy('test@test',@_s,@_uid);”);
mysql_query(“select @_s,@_uid;”);
…
这部分以后在详细叙述。
B:文件操作
我这里想说的对于大文件的操作,比如一个文件有300M。怎么读?
虽然可以在PHP中申请比较大的内存。
mysql怎么读英语<?php
ini_set('memory_limit', '300M');
但是如果服务器暂时不能提供很大的内存。需要怎么来优化读取大文件呢。
在统计系统的开发中,这个我和同事有一些交流和改进。我总结如下:
总结:对于PHP来说无论是库操作还是稳健操作都比较快。
二:Python部分:
A:读取数据库方面
Python 在这方面其实也比较简单。类似于PHP。
以Ubuntu 为例:
apt-get install python-mysqldb
代码:
#!/usr/bin/python
import MySQLdb
conn = t(host="localhost",user="root",passwd="",db="find")
cursor = conn.cursor()
sel = ute('select uid,umail from user')
results = cursor.fetchall()
for i in results:
print i;
conn.close()
B:文件操作
读取:
f = open("u.txt","r")
text = f.read()
print text
有木有发现和PHP很相似
<?php
$fp = fopen('u.txt',"r");
$c = fread($fp,filesize('u.txt'));
echo $c;
fclose($fp);
f = open('py.txt',"w")
f.write('phper.yang')
f.close()
和PHP的函数差不多,用法也差不多。
三:Ruby部分:
A:读取数据库方面
Ruby 我了解有两种方式连接mysql
vb编程基础知识for while使用MySQL C客户端API。/en/mysql/ruby/
Ruby Mysql DBI。/frs/download.php/12368/dbi-0.1.
require'rubygems';
require "mysql"
conn = al_connect("localhost","root","","find")
puts "Mysql version:" + _server_info
res = conn.query("select uid,umail from user")
while row = res.fetch_row do
print "%s,%s/n",row[0],row[1]
end
B:文件操作
file = File.open("u.txt","r")
while(lines = s)
puts lines
end
写文件:
file = w("","w")
file.puts "phper.yang@gmail"
file.close
Ruby on rails 这个框架开发起来比较快速
Ruby install
gem install
gem install rails
比较快速的开发一个站点
linux系统可以干什么进入项目文件夹
rails server
总结:
从皮上面看:我们做了这三种语言在数据库(mysql)和文件的读写操作。我个人感觉在程序的难易程度以及书写上PHP比较简洁。由于Ruby和Python一样。一切皆是对象。所以其实在程序内部都是实例化的。消耗一些资源。据了解PHP7也将准备一切皆是对象的
改进。
从程序运行上来看:
先总结一些函数
PHP的常用函数
mariadb修改用户密码mysql_connect();
mysql_query();react17和16的区别
mysql_fetch_array();
fopen();
fread();
fwrite();
等等
Python的常用函数
open(“filename”,”属性”)
句柄.fread(数量)
句柄.fwrite()
句柄.close()
句柄.readlines()
搭建svn服务器详细教程句柄.cursor()
cursor.fetchone() 读取一行
cursor.fetchmany(5) 读取5行
cursor.fetchall() 所有
句柄.close()
Ruby的常用函数
File.open(“filename”,”属性”)
句柄.gets 读取资源
句柄.close
以MYSQL API
句柄.query()
句柄资源.fetch_row
个人感觉Python 和Ruby 好多对象的大小写要求严格。所以必须注意。至于效率个人感觉PHP还是很有优势。书写简单,相应的资源也很多。下一期我们有机会讨论一下form表单和抓取部分。
个人网站
www.imop.us
www.u85.us
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论