本文是C、C
、python、Java、php、C#六种语言连接mysql数据库的代码展示,在LZ尝试的过程中,无论是语言环境搭建、mysql依赖库的导入还是代码的风格,各种语言都各有千秋。接下来,我们就让这些语言一一登场吧。
Java(最具噱头的语言)
Java给新人的印象应该是入门简单、代码优雅、活跃度高、跨平台、开源大家庭等等,实在是当之无愧的明星语言,而且是偶像派的。不过可惜的是,偶像派明星很容易被干掉。Java语言是LZ赖以生存的语言,因此LZ不希望做个偶像派,只能奋起直追,争取做实力派的Javaer。
说起这次Java连接mysql的编写,实在没什么好说的,毕竟本身就是做这个的,所以这一路非常顺利,算是最无感的一个。下面是LZ写的代码。
Java代码
packagecn.zxl.jmysql;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.Statement;
publicclassJMysql {
privatestaticfinalString DRIVER ="com.mysql.jdbc.Driver";
privatestaticfinalString URL ="jdbc:mysql://localhost/test";
privatestaticfinalString USERNAME ="root";
privatestaticfinalString PASSWORD ="123456";
privatestaticfinalString SQL ="select * from test";
publicstaticvoidmain( String[] args ) {
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
try{
Class.forName(DRIVER);
connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
statement = connection.createStatement();
resultSet = statement.executeQuery(SQL);
while(resultSet.next()) {
System.out.println("|"resultSet.getString("id")"|"resultSet.getString("name")"|");
}
} catch(Exception e) {
System.out.println("query failed!");
} finally{
try{
resultSet.close();
statement.close();
connection.close();
} catch(Exception e) {
thrownewRuntimeException(e);
}
}
}
}
以下是输出结果,表示程序是正确的。
总的来说,Java的mysql连接编写是最无感的一个,因为这是LZ比较熟悉的。就Java本身而言,LZ对它的打分如下。这里要特别说明的是,由于其它几种语言LZ都只是略知皮毛,因此本次只从最直观的两个感受去评分。
入门难度:★★★
代码优雅度:★★★★
C(最令人崇拜的语言)
这个语言在大学里LZ就学过一点皮毛,不过当时很厌烦这个无用的家伙,LZ想要写的是大型网游,而不是输出一个矩阵,或者打印个“心形”去泡妞。不过说来也怪,到得现在,LZ已经做了两年的程序猿,近半年的PM,却忽然之间对C这个老家伙情有独钟,敬意油然而生,实在是怪哉怪哉。
废话不多说,下面是LZ写的代码。
C 代码
《c_mysql.h》
#ifndef C_MYSQL_H_
#define C_MYSQL_H_
#include
#include
#include
#include
#include
voidexecute_sql(char* sql);
#endif
C 代码
《c_mysql.c》
#include "c_mysql.h"
#define HOST "localhost"
#define USERNAME "root"
#define PASSWORD "123456"
#define DATABASE "test"
intmain()
{
char*sql ="select * from test";
execute_sql(sql);
return0;
}
voidexecute_sql(char* sql)
{
MYSQL connection;
MYSQL_RES *result_pointer;
MYSQL_ROW result_row;
intresult, row, column, i, j;
mysql_init(&connection);
if(NULL == mysql_real_connect(&connection, HOST, USERNAME, PASSWORD, DATABASE, 0, NULL, CLIENT_FOUND_ROWS))
{
printf("Error:connection failed!\n");
return;
}
mysql_query(&connection, "set names gbk");
result = mysql_query(&connection, sql);
if(result)
{
printf("Error:query failed!\n");
mysql_close(&connection);
return;
}
result_pointer = mysql_store_result(&connection);
if(result_pointer)
{
row = mysql_num_rows(result_pointer);
for(i = 1; i
)
{
result_row = mysql_fetch_row(result_pointer);
printf("|%s|%s|\n", result_row[0] ,result_row[1]);
}
}
mysql_close(&connection);
system("pause");
}
以下是程序的输出,代表代码是可正确运行的。
或许是因为Java无法操纵指针,所以在写C语言的时候,使用&、*、->这些符号感觉特别爽,不知道真正的Cer是否有这样的感觉呢。下面是LZ对C语言的打分。
入门难度:★★
代码优雅度:★★★
C (最神秘莫测的语言)
C 作为难度最高的语言,称之为神秘莫测一点都不过分,能游刃有余使用C 的,实在是少之又少。对C
有此印象,主要是因为当时LZ看Java虚拟机源码的悲惨经历,那满屏幕的宏定义,实在令LZ为自己的智商捉急,同时也被编写Java虚拟机的大神们深深折服。
以下是最高深的语言连接mysql的代码,请过目。
C 代码
《c
_mysql.h》
#ifndef C___MYSQL_H_
#define C___MYSQL_H_
#include
#include
#include
#include
usingnamespacesql;
usingnamespacestd;
voidexecute_sql(constSQLString sql);
#endif
C 代码
《c
_mysql.cpp》
#include "c _mysql.h"
#define HOST "localhost"
#define USERNAME "root"
#define PASSWORD "123456"
#define DATABASE "test"
intmain()
{
constSQLString sql ="select * from test";
execute_sql(sql);
return0;
}
voidexecute_sql(constSQLString sql)
{
mysql::MySQL_Driver *driver;
Connection *connection;
Statement *statement;
ResultSet *result_set;
driver = mysql::get_mysql_driver_instance();
connection = driver->connect("tcp://localhost:3306","root","123456");
statement = connection->createStatement();
statement->execute("use test");
statement->execute("set names gbk");
result_set = statement->executeQuery(sql);
while(result_set->next())
{
cout <getInt("id") <getString("name") <
}
deletestatement;
deleteconnection;
system("pause");
}
以下是输出结果,代表程序可以正确运行。
C 这个mysql连接的方式,其API与Java的相似度极高,粗略估计大约有90%左右。因此C
的程序除了异常捕捉和内存清理与Java有些区别之外,其它的代码非常相似,但LZ始终觉得使用“.”没有使用“->”显得高端,0.0。以下是LZ的评分。
入门难度:★★★★
代码优雅度:★★★
php(最低调奢华的语言)
PHP虽然近期也很火,但是总觉得它有点低调,但又不失内涵。作为网站制作最适合的语言之一,它总是默默的在发挥自己的力量。
以下是PHP连接mysql低调的代码。
PHP代码