1. 程式人生 > >Ubuntu下資料庫程式設計

Ubuntu下資料庫程式設計

示例

#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <unistd.h>
#include <stdlib.h>
#include <mysql/mysql.h>

int main(int argc, char *argv[])
{
	MYSQL *psql = NULL;
	char sql_buff[1024] = {0};
	//初始化
	psql = mysql_init(NULL);
	if (NULL == psql){
		printf("mysql_init error\n");
		return -1;
	}
	//連線資料庫
	if (NULL == mysql_real_connect(psql, "127.0.0.1", "root", "111", NULL, 0, NULL, 0)){
		printf("mysql_real_connect error\n");
		return -1;
	}
	//選擇資料庫
	if (0 != mysql_select_db(psql, "stu")){
		printf("mysql_select_db error\n");
		return -1;
	}
	//插入語句
	memset(sql_buff, 0x00, 1024);
	sprintf(sql_buff, "%s", "insert into stu values(null, 'wangwu', now());");
	if (mysql_query(psql, sql_buff) != 0){
		printf("mysql_query error\n");
		return -1;
	}
	//執行語句
	memset(sql_buff, 0x00, 1024);
	sprintf(sql_buff, "%s", "select * from stu;");
	if (mysql_query(psql, sql_buff) != 0){
		printf("mysql_query error\n");
		return -1;
	}
	//將執行結果儲存
	MYSQL_RES *sql_res;
	sql_res = mysql_store_result(psql);
	if (NULL == sql_res){
		printf("mysql_store_result error\n");
		return -1;
	}
	//根據儲存結果獲取條數
	int row_num = mysql_num_rows(sql_res);
	if (row_num <= 0){
		printf("mysql_num_rows error\n");
		return -1;
	}
	//根據儲存結果獲取列數
	int col_num = mysql_num_fields(sql_res);
	if (col_num <= 0){
		printf("mysql_num_fields error\n");
		return -1;
	}
	MYSQL_ROW row;
	int i = 0;
	while ((row = mysql_fetch_row(sql_res)) != NULL){
		for (i = 0;i < col_num;i++){
			printf("%s\t", row[i]);
		}
		printf("\n");
	}
	mysql_free_result(sql_res);
	mysql_close(psql);
	return 0;
}

mysql_init()


  呼叫該函式初始化資料庫控制代碼。

mysql_real_connect()


呼叫該函式連線資料庫,傳入引數有資料庫控制代碼,主機地址,資料庫使用者名稱,資料庫密碼,資料庫名稱,資料庫埠號,使用的套接字路徑名;注意埠號預設 0 的情況下為 3306 埠

mysql_select_db()


呼叫該函式選擇連線的資料庫,也可以通過上一部
操作直接指定連線的資料庫名稱。

mysql_query()


呼叫該函式執行資料庫語句。

mysql_store_result()


呼叫該函式將查詢結果進行儲存。

mysql_num_rows()


呼叫該函式獲取查詢結果條數。

mysql_num_fields()


呼叫該函式獲取查詢結果的每條列數。

mysql_fetch_row()


呼叫該迴圈取出每一條資料,每一條資料的結果以字串陣列方式平面儲存,根據列數就可以將每一列資料取出。

mysql_free_result()


呼叫該函式將儲存的結果進行釋放(不釋放的話會造成記憶體溢位)。

mysql_close()


呼叫該函式關閉資料庫。

相關推薦

Ubuntu資料庫程式設計

示例#include <stdio.h> #include <string.h> #include <errno.h> #include <unistd.h> #include <stdlib.h> #include

Ubuntu資料庫常用命令

登入MySQL $ sudo mysql -u root -p 列舉所有的資料庫 mysql> show databases; (*分號) 建立名叫database_name的資料庫 mysql> create database database_name; 進入某一個數據庫

ubuntugcc程式設計入門

準備工作 如果你還沒裝編譯環境或自己不確定裝沒裝,不妨先執行 sudo apt-get install build-essential 如果你需要編譯 Fortran 程式,那麼還需要安裝 gfortran(或 g77) sudo apt-get install g

Ubuntucuda程式設計的基本過程

一:執行程式  按照上一篇文章所述,安裝好cuda軟體以後,就可以使用”nvcc -V“命令檢視所用到的編譯器版本,本人用版本資訊來自:“Cuda compilation tools, release 3.2, V0.2.1221”。 自己建立一個目錄,在裡面新建 c

Ubuntu mysql資料庫存放位置遷移

問題 在使用mysql查詢建表的時候,突然除了這個錯誤 Error writing file '/tmp/MY0BkiqD' (Errcode: 28) 原因 後來才發現是我們伺服器的系統盤滿了,沒辦法儲存快取!!! 我們自己的伺服器有一塊SSD系統盤和另外一塊硬碟,安

Ubuntu程式設計學習(隨書)

##第一個hello程式 用vim編寫一個C程式_百度知道 ##在KDevelop中呼叫Eigen庫進行矩陣運算 https://blog.csdn.net/qq_40313712/article/details/80189651 cmake使用示例與整理總結 - CSDN部

ubuntu pycharm 構建ROS程式設計環境

1    安裝和破解pycharm 1.1    解壓下載好的pycharm包 1.2    下載破解檔案JetbrainsCrack-3.1-release-enc.jar link:http://idea.lanyus.

ubuntu16.04 python程式設計修改資料夾許可權、讀寫資料庫等操作

1. python程式設計修改資料夾許可權 import os os.system('chmod 777 ', file) 擴充套件: Linux系統中,每個使用者的角色和許可權劃分的很細緻也很嚴格,每個檔案(目錄)都設有訪問許可許可權,利用這種機制來決定某個使用者通過某種方

Ubuntu編譯SqlCipher以及解密微信資料庫EnMicroMsg.db過程和坑

wget https://codeload.github.com/sqlcipher/sqlcipher/zip/v3.4.2 ./configure --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC -DSQLITE_TEMP_STORE=

資料庫ubuntu如何安裝MySQL?如何管理和操作MySQL?

文章目錄 1. 如何安裝MySQL? 1.1 安裝資料庫伺服器 1.2 安裝客戶端程式 1.3 安裝一些庫及標頭檔案 2. 如何管理MySQL?開啟、關閉、檢視等 2

Ubunturedis資料庫的安裝和配置詳細過程

Redis 安裝 當前redis最新穩定版本是4.0.9 tar xzf redis-4.0.9.tar.gz step3:移動,放到usr/local目錄下 sudo mv ./redis-4.0.9 /usr/local/redi

Ubuntu遷移MySQL資料庫檔案目錄

用ubuntu的apt包管理工具安裝的mysql資料庫,預設將資料庫檔案儲存在/var/lib/mysql目錄下,時間久了資料庫越來越大,所以準備掛載個新的硬碟專門存放mysql資料庫。 1、確定mysql資料庫檔案存放目錄 一般預設是在/var/lib/mysql目錄下。先登入自己的mys

UbuntuSublime Text3搭建python3.5程式設計環境小記錄

安裝環境: Ubuntu16 x64 sublime text 3 使用系統預裝的python3.5 TIPs: 1.在Ubuntu命令列終端裡輸入“which python3.5”來檢視python3.5的安裝路徑。 在我的Ubuntu裡,python預設是2.7,同時

Ubuntu搭建C/C++程式設計環境

要安裝程式設計環境,在Terminal中執行sudo apt-get install build-essential。 桌面系統的快捷鍵 如果不用桌面系統,可以關閉。 開啟Terminal的快捷鍵是Ctrl+Alt+T,使用快捷鍵Ctrl+Super+Up最大化,Alt+F4關閉。 使用快捷鍵Alt+Ta

UbuntuHBase資料庫的安裝和配置檔案詳解

1.從http://www.apache.org/dyn/closer.cgi/hbase/下載穩定版安裝包,我下的是hbase-1.2.6-bin.tar.gz 2.解壓放在/usr/local的目錄下 3.修改許可權sudo chown -R luanpeng hbase-1.2.6/ 4.修改資料

Ubuntumysql如何建立資料庫

[email protected]:~# mysql -u root -p Enter password: Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 45 Server

ubuntu修改MYSQL資料庫密碼

在介紹修改密碼之前,先介紹一個檔案/etc/mysql/debian.cnf.其主要內容如下圖: 裡面有一個debian-sys-maint使用者,這個使用者只有Debian或Ubuntu伺服器才有,所以如果您的伺服器是Debain或Ubuntu,debi

UbuntuPython建立和連線資料庫

[email protected]:~# mysql -u root -p Enter password: Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connecti

Ubuntu允許遠端連線MySQL資料庫

前幾天把自己的網站搭建起來之後,除錯的時候,直接的Ubuntu的命令列中,對資料庫進行了修改。 後來覺得太不方便了,所以就打算使用本機的視覺化介面操作資料庫,沒想到發生了一些問題。 為了幫助其他的同學我把問題和解決方案放在這裡。 系統:阿里雲伺服器(Ubuntu系統) 首

Ubuntu安裝tokyocabinet資料庫

1. tokyo cabinet 資料庫簡介Tokyo Cabinet 是一個DBM的實現。這裡的資料庫由一系列key-value對的記錄構成。key和value都可以是任意長度的位元組序列,既可以是二進位制也可以是字串。這裡沒有資料型別和資料表的概念。 當做為Hash表資料庫使用時,每個key必須是不同的,