導航:首頁 > 編程語言 > mysqlc語言api編程

mysqlc語言api編程

發布時間:2022-08-12 12:33:31

㈠ 如何使用mysql的C介面訪問mysql資料庫

調用mysql資料庫API。
去官網下載mysql c API庫文件,然後安裝一下,每個調用資料庫的函數都有相關解釋,直接參照函數解釋進行編程就行了。
注意編寫makefile的時候把相關依賴庫加入

㈡ 如何使用mysql的API在c/c++的代碼中,創建一個存儲過程

MySQL的概述
MySQL是一個小型關系型資料庫管理系統,開發者為瑞典MySQL AB公司。在2008年1月16號被Sun公司收購。目前MySQL被廣泛地應用在Internet上的中小型網站中。由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網站為了降低網站總體擁有成本而選擇了MySQL作為網站資料庫。MySQL的官方網站的網址是:
[編輯本段]MySQL的特性
1.使用C和C++編寫,並使用了多種編譯器進行測試,保證源代碼的可移植性
2.支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種操作系統
3.為多種編程語言提供了API。這些編程語言包括C、C++、Eiffel、Java、Perl、php、Python、Ruby和Tcl等。
4.支持多線程,充分利用CPU資源
5.優化的SQL查詢演算法,有效地提高查詢速度
6.既能夠作為一個單獨的應用程序應用在客戶端伺服器網路環境中,也能夠作為一個庫而嵌入到其他的軟體中提供多語言支持,常見的編碼如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作數據表名和數據列名
7.提供TCP/IP、ODBC和JDBC等多種資料庫連接途徑
8.提供用於管理、檢查、優化資料庫操作的管理工具
9.可以處理擁有上千萬條記錄的大型資料庫
[編輯本段]MySQL的應用
與其他的大型資料庫例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之處,如規模小、功能有限(MySQL Cluster的功能和效率都相對比較差)等,但是這絲毫也沒有減少它受歡迎的程度。對於一般的個人使用者和中小型企業來說,MySQL提供的功能已經綽綽有餘,而且由於MySQL是開放源碼軟體,因此可以大大降低總體擁有成本。
目前Internet上流行的網站構架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作為操作系統,Apache作為Web伺服器,MySQL作為資料庫,PHP作為伺服器端腳本解釋器。由於這四個軟體都是遵循GPL的開放源碼軟體,因此使用這種方式不用花一分錢就可以建立起一個穩定、免費的網站系統。
[編輯本段]MySQL管理
可以使用命令行工具管理MySQL資料庫(命令mysql 和 mysqladmin),也可以從MySQL的網站下載圖形管理工具MySQL Administrator和MySQL Query Browser。
phpMyAdmin是由php寫成的MySQL資料庫系統管理程式,讓管理者可用Web介面管理MySQL資料庫。
phpMyBackupPro也是由PHP寫成的,可以透過Web介面創建和管理資料庫。它可以創建偽cronjobs,可以用來自動在某個時間或周期備份MySQL 資料庫。
另外,還有其他的GUI管理工具,例如早先的mysql-front 以及 ems mysql manager,navicat 等等。
[編輯本段]Mysql存儲引擎
MyISAM Mysql的默認資料庫,最為常用。擁有較高的插入,查詢速度,但不支持事務
InnoDB 事務型資料庫的首選引擎,支持ACID事務,支持行級鎖定
BDB 源自Berkeley DB,事務型資料庫的另一種選擇,支持COMMIT和ROLLBACK等其他事務特性
Memory 所有數據置於內存的存儲引擎,擁有極高的插入,更新和查詢效率。但是會佔用和數據量成正比的內存空間。並且其內容會在Mysql重新啟動時丟失
Merge 將一定數量的MyISAM表聯合而成一個整體,在超大規模數據存儲時很有用
Archive 非常適合存儲大量的獨立的,作為歷史記錄的數據。因為它們不經常被讀取。Archive擁有高效的插入速度,但其對查詢的支持相對較差
Federated 將不同的Mysql伺服器聯合起來,邏輯上組成一個完整的資料庫。非常適合分布式應用
Cluster/NDB 高冗餘的存儲引擎,用多台數據機器聯合提供服務以提高整體性能和安全性。適合數據量大,安全和性能要求高的應用
CSV 邏輯上由逗號分割數據的存儲引擎
BlackHole 黑洞引擎,寫入的任何數據都會消失,一般用於記錄binlog做復制的中繼
另外,Mysql的存儲引擎介面定義良好。有興趣的開發者通過閱讀文檔編寫自己的存儲引擎。
[編輯本段]Mysql最常見的應用架構
單點(Single),適合小規模應用
復制(Replication),適合中小規模應用
集群(Cluster),適合大規模應用
[編輯本段]mysql歷史版本
MySQL公司目前在同時開發兩個版本的軟體,4.1版以及5.0版。4.1版本的代碼已經發布並有望在8個月後公布最終代碼。而5.0版本的最後產品將在6個月後發布。
MySQL4.1版本中增加了不少新的性能,包括對主鍵的更高速度的緩存,對子查詢的更好的支持,以及應網路約會網站所要求的,基於地理信息的查詢。
而其同步開發的5.0版本則把目標對准了企業用戶,對於4.1版本中的所有新特性,5.0版本悉數收入囊中,並且獨具以下特點:對外鍵的良好支持;系統自動報錯機制以及對存儲過程的充分支持。

SQL全稱是「結構化查詢語言(Structured Query Language)」
SQL(STructured Query Language)是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統。
SQL同時也是資料庫腳本文件的擴展名。
SQL是高級的非過程化編程語言,允許用戶在高層數據結構上工作。他不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同資料庫系統可以使用相同的SQL語言作為數據輸入與管理的介面。它以記錄集合作為操作對象,所有SQL語句接受集合作為輸入,返回集合作為輸出,這種集合特性允許一條SQL語句的輸出作為另一條SQL語句的輸入,所以SQL語句可以嵌套,這使他具有極大的靈活性和強大的功能,在多數情況下,在其他語言中需要一大段程序實現的功能只需要一個SQL語句就可以達到目的,這也意味著用SQL語言可以寫出非常復雜的語句。
結構化查詢語言(Structured Query Language)最早是IBM的聖約瑟研究實驗室為其關系資料庫管理系統SYSTEM R開發的一種查詢語言,它的前身是SQUARE語言。SQL語言結構簡潔,功能強大,簡單易學,所以自從IBM公司1981年推出以來,SQL語言得到了廣泛的應用。如今無論是像Oracle、Sybase、Informix、SQL Server這些大型的資料庫管理系統,還是像Visual Foxporo、PowerBuilder這些PC上常用的資料庫開發系統,都支持SQL語言作為查詢語言。
美國國家標准局(ANSI)與國際標准化組織(ISO)已經制定了SQL標准。ANSI是一個美國工業和商業集團組織,負責開發美國的商務和通訊標准。ANSI同時也是ISO和International Electrotechnical Commission(IEC)的成員之一。ANSI 發布與國際標准組織相應的美國標准。1992年,ISO和IEC發布了SQL國際標准,稱為SQL-92。ANSI隨之發布的相應標準是ANSI SQL-92。ANSI SQL-92有時被稱為ANSI SQL。盡管不同的關系資料庫使用的SQL版本有一些差異,但大多數都遵循 ANSI SQL 標准。SQL Server使用ANSI SQL-92的擴展集,稱為T-SQL,其遵循ANSI制定的 SQL-92標准。
SQL語言包含4個部分:
※ 數據定義語言(DDL),例如:CREATE、DROP、ALTER等語句。
※ 數據操作語言(DML),例如:INSERT、UPDATE、DELETE語句。
※ 數據查詢語言(DQL),例如:SELECT語句。
※ 數據控制語言(DCL),例如:GRANT、REVOKE、COMMIT、ROLLBACK等語句。
SQL語言包括三種主要程序設計語言類別的陳述式:數據定義語言(DDL),數據操作語言(DML)及數據控制語言(DCL)。

㈢ C程序中怎麼用mysql C API 創建新表table

應該是可以建表的,
沒有理由只能用手動建表。
我找了一段代碼,還沒試。誰能給個可用的代碼

Here is an extract.....
I hope it helps.
please remember....u need to compile it with
-lmysqlclient -lz options.

#include <string.h>
#include <stdio.h>
#include "/usr/include/mysql/mysql.h"

MYSQL imysql ;
MYSQL_RES * mydata;
unsigned int num_fields;
unsigned int num_rows;
unsigned long *lengths;

MYSQL_ROW row,;
MYSQL_FIELD *fields;

char a[241]="";
char querystring[241]="";

void mysqlinit(char user[20], char password[20], char db[20]);

void main()
{
mysqlinit("username","userpassword","database");

a[0] ='\0';
strcat(a,"Create Table ");
strcat(a,tablename);
strcat(a,"(pepsi bigint Not Null Primary,coke bigint Not Null);");
printf(a);
strcpy(querystring,a);

if (!mysql_real_query(&imysql,querystring,strlen(querystring)))
{ mydata = mysql_store_result(&imysql); }
else
{ printf("Oops ! Error %d:
%s\n",mysql_errno(&imysql),mysql_error(&imysql));
mysql_close(&imysql);
exit(0);
}

mysql_close(&imysql);
}

void mysqlinit(char user[20], char password[20], char db[20])
{
mysql_init(&imysql);
mysql_options(&imysql,MYSQL_READ_DEFAULT_GROUP,"your_prog_name");
if (!mysql_real_connect(&imysql,"",user,password,db,0,NULL,0))
{
fprintf(stderr,"FAILED !!!! Error %s\n",mysql_error(&imysql));
}
else
{
printf( "Connection with Database established !\n");
}
}

㈣ 如何用C語言連接MYSQL資料庫

1、配置ODBC數據源。
2、使用SQL函數進行連接。
對於1、配置數據源,配置完以後就可以編程操作資料庫了。
對於2、使用SQL函數進行連接,參考代碼如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44

#include<windows.h>
#include<sql.h>
#include<sqlext.h>
void main()
{
HENV henv; //環境句柄
HDBC hdbc; //數據源句柄
HSTMT hstmt; //執行語句句柄
unsigned char datasource[]="數據源名稱"; //即源中設置的源名稱
unsigned char user[]= "用戶名"; //資料庫的帳戶名
unsigned char pwd[]= "密碼"; //資料庫的密碼
unsigned char search[]="select xm from stu where xh=0";
SQLRETURN retcode; //記錄各SQL函數的返回情況
// 分配環境句柄
retcode= SQLAllocEnv(&henv); // 等介於 SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL
, &henv);
// 設置ODBC環境版本號為3.0
retcode= SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0);
// 分配連接句柄
retcode= SQLAllocConnect(henv,&hdbc); // 等介於 SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
//設置連接屬性,登錄超時為*rgbValue秒(可以沒有)
// SQLSetConnectAttr(hdbc, SQL_LOGIN_TIMEOUT, (SQLPOINTER)(rgbValue), 0);
//直接連接數據源
// 如果是windows身份驗證,第二、三參數可以是

㈤ 用C語言如何對MySQL資料庫進行操作

有時為了性能,我們會直接用C語言來開發相關的模塊,尤其在我們的web應用中,雖然PHP、JSP等腳本均提供了MySQL的介面,但是顯然直接使用C語言具有更好的安全性和性能,Michael以前用PHP開發的多個項目中就使用了C語言編寫的這類介面,然後再編譯到php裡面,供php腳本直接使用,這方面的話題就不多說了,下面主要說一下在Linux下如何用C語言連接MySQL資料庫,並且讀取裡面的數據返回,同時如何進行編譯。 if defined(_WIN32) || defined(_WIN64)為了支持windows平台上的編譯#include<windows.h#endif#include<stdio.h#include<stdlib.h #includemysql.h 我的機器上該文件在/usr/local/include/mysql下 定義MySQL資料庫操作的宏,也可以不定義留著後面直接寫進代碼 defineSELECT_QUERYselectusernamefromtbb_userwhereuserid=%dintmain(intargc,char**argv)char**argv相當於char*argv[]{MYSQL mysql,*sock;定義資料庫連接的句柄,它被用於幾乎所有的MySQL函數 MYSQL_RES *res;查詢結果集,結構類型 MYSQL_FIELD *fd ;包含欄位信息的結構 MYSQL_ROW row ;存放一行查詢結果的字元串數組 char qbuf[160];存放查詢sql語句字元串 if(argc!=2){//檢查輸入參數 fprintf(stderr,usage:mysql_select<userid\n\n);exit(1);}mysql_init(&mysql);if(!(sock=mysql_real_connect (&mysql,localhost,dbuser,dbpwd,9tmd_bbs_utf8,0,NULL,0))){ fprintf(stderr,Couldn'tconnecttoengine!\n%s\n\n,mysql_error(&mysql));perror();exit(1);}sprintf(qbuf,SELECT_QUERY,atoi(argv[1])); if(mysql_query(sock,qbuf)){ fprintf(stderr,Queryfailed(%s)\n,mysql_error(sock));exit(1);}if(!(res=mysql_store_result(sock))){fprintf(stderr,Couldn'tgetresultfrom%s\n,mysql_error(sock));exit(1);}printf(numberoffieldsreturned:%d\n,mysql_num_fields(res));while(row=mysql_fetch_row(res)){printf(Theruserid#%d'susernameis:%s\n,atoi(argv[1]),(((row[0]==NULL)&&(!strlen(row[0])))?NULL:row[0])); puts(queryok!\n);}mysql_free_result(res); mysql_close(sock);exit(0);return0;為了兼容大部分的編譯器加入此行} 編譯的時候,使用下面的命令 gcc -o mysql_select ./mysql_select.c -I/usr/local/include/mysql -L/usr/local/lib/mysql -lmysqlclient (-lz) (-lm) 後面兩個選項可選,根據您的環境情況運行的時候,執行下面的命令 ./mysql_select 1 將返回如下結果: numberoffieldsreturned:1 Theruserid#1'susernameis:Michaelqueryok!上面的代碼我想大部分都能看明白,不明白的可以參考一下MySQL提供的有關C語言API部分文檔源碼天空 ,各個函數都有詳細說明,有時間我整理一份常用的API說明出來。

㈥ 如何用C語言操作MySQL資料庫(給個參考)

C連接MySQL資料庫需要 MySQL的頭文件和庫

可以參考

㈦ mysql資料庫

MySQL資料庫一般指MySQL,MySQL是一個關系型資料庫管理系統,由瑞典MySQL AB 公司開發。

mysql是目前網站以及APP應用上用得較多的一個開源的關系型資料庫系統,可以對數據進行保存,分段化的數據保存,也可以對其數據進行檢索,查詢等功能的資料庫。

默認的mysql資料庫中存有一個庫這個就是mysql的系統資料庫,可以對其保存系統的數據包括mysql資料庫的信息,資料庫root賬號,普通賬號,以及資料庫的名稱,還有資料庫的一些表還有一些數字型的數據類型結構都會有所保存。

mysql資料庫的優點

(1)MySQL資料庫是用C和C++語言編寫的,並且使用了多種編輯器進行測試,以保證源碼的可移植性。

(2)支持多個操作系統例如:Windows、Linux、Mac OS等等。

(3)支持多線程,可以充分的利用CPU資源。

(4)為多種編程語言提供API,包括C語言、Java、PHP、Python語言等。

(5)MySQL優化了SQL演算法,有效的提高了查詢速度。

(6)MySQL內提供了用於管理,檢查以及優化資料庫操作的管理工具。

(7)它能夠作為一個單獨的應用程序應用在客戶端伺服器網路環境中,也可以作為一個庫嵌入到其他的軟體中並提供多種語言支持。

㈧ 如何在c語言中編程訪問資料庫

第一種,資料庫廠商提供的C變種,比如oracle的proc-c,簡單點說,就是在C嵌入sql代碼來實現資料庫的訪問。
第二種,資料庫廠商提供的api,比如oracle的OCI。

閱讀全文

與mysqlc語言api編程相關的資料

熱點內容
如何把掃描文件做成pdf格式 瀏覽:624
php個性qq源碼 瀏覽:821
初學c語言顯示源未編譯 瀏覽:245
資產概況源碼 瀏覽:472
dos命令建文件夾命令 瀏覽:379
解壓的密碼htm被屏蔽 瀏覽:502
冬天太冷冰箱壓縮機不啟動怎麼辦 瀏覽:83
手機打開vcf需要什麼編譯器 瀏覽:910
加密磁碟後開機很慢 瀏覽:271
長沙智能雲控系統源碼 瀏覽:258
阿里雲伺服器如何設置操作系統 瀏覽:1001
超級命令的英文 瀏覽:784
做賬為什麼要用加密狗 瀏覽:586
考研群體怎麼解壓 瀏覽:159
linux修改命令提示符 瀏覽:226
圓圈裡面k圖標是什麼app 瀏覽:63
pdf加空白頁 瀏覽:948
linux伺服器如何看網卡狀態 瀏覽:318
解壓新奇特視頻 瀏覽:707
圖書信息管理系統java 瀏覽:554