$conn01 = mysql_connect("localhost",'root','123456');//root是帳號,123456是密碼
創(chuàng)新互聯(lián)公司成立十年來,這條路我們正越走越好,積累了技術與客戶資源,形成了良好的口碑。為客戶提供成都做網(wǎng)站、網(wǎng)站制作、網(wǎng)站策劃、網(wǎng)頁設計、主機域名、網(wǎng)絡營銷、VI設計、網(wǎng)站改版、漏洞修補等服務。網(wǎng)站是否美觀、功能強大、用戶體驗好、性價比高、打開快等等,這些對于網(wǎng)站建設都非常重要,創(chuàng)新互聯(lián)公司通過對建站技術性的掌握、對創(chuàng)意設計的研究為客戶提供一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進步。
$mycon=mysql_select_db('testdatabase',$conn01); //testdatabase是mysql數(shù)據(jù)庫名
if($mycon){
echo("數(shù)據(jù)庫連接成功");
}else{
echo("數(shù)據(jù)庫連接失敗");
}
mysql_query("set name utf8");//設置數(shù)據(jù)庫連接字符集
連接方法如下:
1.建立一個web項目
2.把數(shù)據(jù)庫驅(qū)動復制到lib目錄下。數(shù)據(jù)庫驅(qū)動有:mysql,sqlserver,oracle等 是什么樣類型的數(shù)據(jù)導入相應驅(qū)動。
3.編寫一個連接數(shù)據(jù)庫的工具類,獲取一個連接。下面以mysql數(shù)據(jù)庫為例。
核心代碼:
public class DataUtils {
/**
* 從數(shù)據(jù)中獲取一個連接
* @return
*/
public static Connection getConn(){
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
//表為test,用戶名root,密碼admin。
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "admin");
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
}
4.獲取到與相應數(shù)據(jù)庫的連接后,就可以做增刪改查操作了。記得做完操作后,關閉連接,釋放資源。
//vc工具中添加E:\WAMP\BIN\MYSQL\MYSQL5.5.8\LIB 路徑
//在工程設置-》鏈接》庫模塊中添加 libmysql.lib
#include stdio.h
#include time.h
#include string.h
#include winsock.h
#include "E:\wamp\bin\mysql\mysql5.5.8\include\mysql.h"
void main(){
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char *server ="localhost";
char *user ="root";
char *password="";
char *database="test";
char sql[1024]="select * from chinaren";
conn=mysql_init(NULL);
if(!mysql_real_connect(conn,server,user,password,database,0,NULL,0)){
fprintf(stderr,"%s\n",mysql_error(conn));
exit(1);
}
if(mysql_query(conn,sql)){
fprintf(stderr,"%s\n",mysql_error(conn));
exit(1);
}
res=mysql_use_result(conn);
while((row = mysql_fetch_row(res))!=NULL){
printf("%s\n",row[2]);
}
mysql_free_result(res);
mysql_close(conn);
}
===============================
#if defined(_WIN32) || defined(_WIN64) //為了支持windows平臺上的編譯
#include windows.h
#endif
#include stdio.h
#include stdlib.h
#include "mysql.h"
//定義數(shù)據(jù)庫操作的宏,也可以不定義留著后面直接寫進代碼
#define SELECT_QUERY "show tables;"
int main(int argc, char **argv) //char **argv 相當于 char *argv[]
{
MYSQL mysql,*handle; //定義數(shù)據(jù)庫連接的句柄,它被用于幾乎所有的MySQL函數(shù)
MYSQL_RES *result; //查詢結果集,結構類型
MYSQL_FIELD *field ; //包含字段信息的結構
MYSQL_ROW row ; //存放一行查詢結果的字符串數(shù)組
char querysql[160]; //存放查詢sql語句字符串
//初始化
mysql_init(mysql);
//連接數(shù)據(jù)庫
if (!(handle = mysql_real_connect(mysql,"localhost","user","pwd","dbname",0,NULL,0))) {
fprintf(stderr,"Couldn't connect to engine!\n%s\n\n",mysql_error(mysql));
}
sprintf(querysql,SELECT_QUERY,atoi(argv[1]));
//查詢數(shù)據(jù)庫
if(mysql_query(handle,querysql)) {
fprintf(stderr,"Query failed (%s)\n",mysql_error(handle));
}
//存儲結果集
if (!(result=mysql_store_result(handle))) {
fprintf(stderr,"Couldn't get result from %s\n", mysql_error(handle));
}
printf("number of fields returned: %d\n",mysql_num_fields(result));
//讀取結果集的內(nèi)容
while (row = mysql_fetch_row(result)) {
printf("table: %s\n",(((row[0]==NULL)(!strlen(row[0]))) ? "NULL" : row[0]) ) ;
}
//釋放結果集
mysql_free_result(result);
//關閉數(shù)據(jù)庫連接
mysql_close(handle);
system("PAUSE");
//為了兼容大部分的編譯器加入此行
return 0;
}
這樣:
jdbc:mysql://hostname[:3306]/dbname
jdbc:mysql://localhost:3306/db_librarySys
Connection?conn?=?DriverManager.getConnection?("jdbc:mysql://localhost:3306/db_librarySys?user=rootpassword=1234");
Connection?conn?=?DriverManager.getConnection?("jdbc:mysql://localhost:3306/db_librarySys",?"root",?"1234");
擴展資料:
注意事項
URL=協(xié)議名+子協(xié)議名+數(shù)據(jù)源名。
1、協(xié)議名總是“jdbc”。
2、子協(xié)議名由JDBC驅(qū)動程序的編寫者決定。
3、數(shù)據(jù)源名也可能包含用戶與口令等信息;這些信息也可單獨提供。
URL:jdbc:oracle:thin:@machine_name:port:dbname
注:machine_name:數(shù)據(jù)庫所在的機器的名稱;
port:端口號,默認是1521
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl";
//orcl為數(shù)據(jù)庫的SID
String user="test";
String password="test";
Connection conn= DriverManager.getConnection(url,user,password);
注意:Oracle的URL有兩種寫法:
1、jdbc:oracle:thin:@localhost:1521:databaseName? ?常用操作sql的工具:sqlDeveloper.exe,還可以用其他數(shù)據(jù)庫,如mysql等
2、jdbc:oracle:oci:@localhost:1521:databaseName? ? 用來操作SQL的工具只能用:PL/SQL Developer;數(shù)據(jù)庫集群時候常用此連接,比上面那個多點功能,性能好點。
首先創(chuàng)建一個連接工廠import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;public class ConnectionFactory {
private Connection conn=null;
private Statement stmt=null;
private ResultSet rs=null;
public ConnectionFactory() {
super();
// TODO Auto-generated constructor stub
} public void OpenConn() throws Exception{
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url="jdbc:mysql://127.0.0.1:3306/guestbook";
String user="root";
String password="root";
conn=DriverManager.getConnection(url,user,password);
}catch(Exception e){
System.out.println("創(chuàng)建鏈接拋出異常為:"+e.getMessage());
}
} public ResultSet executeQuery(String sql) throws Exception{
try{
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs=stmt.executeQuery(sql);
}catch(Exception e){
System.out.println("執(zhí)行查詢拋出的異常為:"+e.getMessage());
}
return rs;
} public void close() throws Exception{
try{
rs.close();
stmt.close();
conn.close();
}catch(Exception e){
System.out.println("關閉對象拋出的異常:"+e.getMessage());
}
} }
測試類 import java.sql.ResultSet;public class TestJDBC {
public static void main(String[] args) {
ConnectionFactory c= new ConnectionFactory();
try {
c.OpenConn();
String sql="select * from tb_guestbook";
ResultSet rs=c.executeQuery(sql);
while(rs.next()){
System.out.println(rs.getString(2));
}
c.close();
System.out.println();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}