導航:首頁 > 編程大全 > ubuntu訪問資料庫c

ubuntu訪問資料庫c

發布時間:2021-12-04 07:40:06

❶ 求教高人,linux下c語言如何連接mysql資料庫啊,求高手給點資料,謝謝。

幫你一下吧,我只能粗寫,你自己詳細參考一下函數庫,下面localhost,是資料庫伺服器的地址,
username,password分別為訪問資料庫所需要的用戶名和密碼,database是資料庫的名稱,請你參考MYSQL結構體以獲取更加詳細的參數信息
#include <stdlib.h>
#include<stdio.h>
#include "mysql.h"
int main(int argc,char**argv){
MYSQL *conn_ptr;
conn_ptr=mysql_init(NULL);
if(!conn_ptr){
fprintf(stderr,"mysql_init failed\n");
return EXIT_FAILURE;
}
conn_ptr=mysql_real_connect(conn_ptr,"localhost","username","password","database",0,NULL,0);
if(conn_ptr){
printf("Connection success\n");
}else{
printf("Connection failed\n");
}
mysql_close(conn_ptr);
return EXIT_SUCCESS;
}

❷ ubuntu下怎樣操作mysql資料庫

ubuntu下mysql的常用命令,MySQL資料庫的基本操作命令

一、mysql服務操作
0、查看資料庫版本 sql-> status;

1、net start mysql //啟動mysql服務
2、net stop mysql //停止mysql服務
3、mysql
-h主機地址 -u用戶名 -p用戶密碼 //進入mysql資料庫
4、quit //退出mysql操作
5、mysqladmin -u用戶名
-p舊密碼 password 新密碼 //更改密碼
6、grant select on 資料庫.* to 用戶名@登錄主機 identified by
"密碼" //增加新用戶
exemple:

例2、增加一個用戶test2密碼為abc,讓他只可以在localhost上登錄,並可以對資料庫mydb進行查詢、插入、修改、刪除的操作
(localhost指本地主機,即MYSQL資料庫所在的那台主機),這樣用戶即使用知道test2的密碼,他也無法從internet上直接訪問數據
庫,只能通過MYSQL主機上的web頁來訪問了。
grant select,insert,update,delete on mydb.* to
test2@localhost identified by "abc";
如果你不想test2有密碼,可以再打一個命令將密碼消掉。
grant
select,insert,update,delete on mydb.* to test2@localhost identified by "";

二、資料庫操作
1、show databases; //列出資料庫
2、use
database_name //使用database_name資料庫
3、create database data_name
//創建名為data_name的資料庫
4、drop database data_name //刪除一個名為data_name的資料庫

三、表操作
1、show databases;//列出所有資料庫

use 資料庫名;
//到達某一資料庫

show tables //列出所有表
create table tab_name(
id int(10)
not null auto_increment primary key,
name varchar(40),
pwd varchar(40)

) charset=gb2312; 創建一個名為tab_name的新表
2、drop table tab_name
刪除名為tab_name的數據表
3、describe tab_name //顯示名為tab_name的表的數據結構
4、show
columns from tab_name //同上
5、delete from tab_name //將表tab_name中的記錄清空

6、select * from tab_name //顯示表tab_name中的記錄
7、mysqlmp -uUSER -pPASSWORD
--no-data DATABASE TABLE > table.sql //復製表結構

四、修改表結構

1、 ALTER TABLE tab_name ADD PRIMARY KEY (col_name)

說明:更改表得的定義把某個欄位設為主鍵。
2、ALTER TABLE tab_name DROP PRIMARY KEY (col_name)

說明:把主鍵的定義刪除
3、 alter table tab_name add col_name varchar(20);
//在tab_name表中增加一個名為col_name的欄位且類型為varchar(20)
4、alter table tab_name drop
col_name //在tab_name中將col_name欄位刪除
5、alter table tab_name modify col_name
varchar(40) not null //修改欄位屬性,注若加上not null則要求原欄位下沒有數據
SQL
Server200下的寫法是:Alter Table table_name Alter Column col_name varchar(30) not
null;
6、如何修改表名:alter table tab_name rename to new_tab_name

7、如何修改欄位名:alter table tab_name change old_col new_col varchar(40);
//必須為當前欄位指定數據類型等屬性,否則不能修改
8、create table new_tab_name like old_tab_name
//用一個已存在的表來建新表,但不包含舊表的數據

五、數據的備份與恢復
導入外部數據文本:

1.執行外部的sql腳本
當前資料庫上執行:mysql < input.sql
指定資料庫上執行:mysql [表名] <
input.sql
2.數據傳入命令 load data local infile "[文件名]" into table [表名];

備份資料庫:(dos下)
mysqlmp --opt school>school.bbb
mysqlmp -u
[user] -p [password] databasename > filename (備份)
mysql -u [user] -p
[password] databasename < filename (恢復)

❸ ubuntu怎麼打開mysql資料庫

一、mysql服務操作
0、查看資料庫版本 sql-> status;

1、net start mysql //啟動mysql服務
2、net stop mysql //停止mysql服務
3、mysql
-h主機地址 -u用戶名 -p用戶密碼 //進入mysql資料庫
4、quit //退出mysql操作
5、mysqladmin -u用戶名
-p舊密碼 password 新密碼 //更改密碼
6、grant select on 資料庫.* to 用戶名@登錄主機 identified by
"密碼" //增加新用戶
exemple:

例2、增加一個用戶test2密碼為abc,讓他只可以在localhost上登錄,並可以對資料庫mydb進行查詢、插入、修改、刪除的操作
(localhost指本地主機,即MYSQL資料庫所在的那台主機),這樣用戶即使用知道test2的密碼,他也無法從internet上直接訪問數據
庫,只能通過MYSQL主機上的web頁來訪問了。
grant select,insert,update,delete on mydb.* to
test2@localhost identified by "abc";
如果你不想test2有密碼,可以再打一個命令將密碼消掉。
grant
select,insert,update,delete on mydb.* to test2@localhost identified by "";

❹ 請教如何在ubuntu中進行mysql的C介面編程

手頭沒有現貨哦看看參考手冊章節-「API和庫」,對你有幫助不...

❺ 在linux下使用C語言操作資料庫有哪些方法

兩種方法,一是自己設計表格式,並存儲在相應文件中,然後讀取;
第二種,利用已有的第三方哈希表資料庫,比如qdbm,具體的編程可以參考相應資料庫的幫助文檔

❻ ubuntu下編譯C語言鏈接資料庫

clang++ -o a a.cpp -lmysqlclient

這個報錯是因為沒有加搜索路徑所以找不到。必須用-L指定該動態庫的搜索路徑。
代碼中用到了這個so的函數,編譯的時候就必須鏈接這個文件。
不鏈接編譯會報錯。

❼ ubuntu下用C語言訪問資料庫出現『mysql_init』未定義的引用的錯誤

只要libmysqlclient.so在/usr/lib/mysql 中,-L/usr/lib/mysql -lmysqlclient 就是link libmysqlclient.so
所以,你應該找一下libmysqlclient.so的安裝位置,比如安裝在/usr/lib/i386-linux-gnu
鏈接libmysqlclient.so,就是-L/usr/lib/i386-linux-gnu -lmysqlclient
另外,這種版編譯出現的問題,權請貼出具體的輸出,不要泛泛的講。泛泛的講別人根本不明白是那裡出了問題。。。

❽ Ubuntu下Java程序如何連接MySQL資料庫

linux ubuntu下用C連MySQL接數據mysql資料庫的步驟如下:
1.安裝mysql-server,在Ubuntu10.04下安裝mysql-server-5.1,會自動安裝mysql-client_5.1
sudo apt-get install mysql-server-5.1
2.C APIs包含在mysqlclient庫文件中與MySQL的源代碼一塊發行,用於連接到資料庫和執行資料庫查詢,因此需要安裝libmysqlclient-dev
sudo apt-get install libmysqlclient-dev
假定已安裝成功,相關文件如下:
頭文件在/usr/include/mysql目錄下;
庫文件在/usr/lib/mysql和/usr/lib目錄下
3.啟動和關閉mysql
啟動mysql:sudo start mysql
關閉mysql:sudo stop mysql
使用ps aux |grep mysql 查看mysql啟動狀態
ps命令用於查看當前系統中運行的進程信息,命令格式:ps [選項]
常見參數:
-a 顯示系統中所有進程,包括其他用戶進程
-e 顯示所有進程信息
-f 顯示進程的所有信息
-l 顯示長格式顯示進程的信息
-r 只顯示正在運行的程序
-u 以用戶的格式顯示進程信息
-x 顯示所有終端上的進程信息
最常用的方法是ps aux,然後再利用一個管道符號導向到grep去查找特定的進程,然後再對特定的進程進行操作。例如前面使用的ps aux |grep mysql
4.鏈接庫時需要庫文件,有靜態庫文件,也有動態庫文件,也有名字相同的靜態庫文件和動態庫文件,如何區分:
.o,.a,.so,.lo,.la後綴文件含義
.o: 編譯的目標文件
.a: 靜態庫,其實就是把若干o文件打了個包
.so: 動態鏈接庫(共享庫)
.lo: 使用libtool編譯出的目標文件,其實就是在o文件中添加了一些信息
.la: 使用libtool編譯出的庫文件,其實是個文本文件,記錄同名動態庫和靜態庫的相關信息
la只有在用libtool編譯應用程序或庫時才用,即開發者只指明la文件,至於最終鏈接a還是so由libtool決定,不使用libtool的小程序用不上la。
5.連接MySql
a、連接到本機上的MYSQL:
首先打開終端窗口,再鍵入命令mysql -u root -p,回車後提示你輸密碼,如果剛安裝好MYSQL,超級用戶root是沒有密碼的,故直接回車即可進入
到MYSQL中了,MYSQL的提示符是:mysql>
b.修改密碼,格式:mysqladmin -u用戶名 -p舊密碼 password 新密碼
例1:給root加個密碼ab12。首先打開終端窗口,然後鍵入以下命令:mysqladmin -uroot password ab12.(註:因為開始時root沒有密碼,所以-p舊密碼一項就可以省略了)。
例2:再將root的密碼改為djg345。 mysqladmin -uroot -pab12 password djg345 (注:u與root可以不用加空格,其它也一樣)。
c、退出MYSQL命令: exit
6.增加新用戶(注意:和上面不同,下面的因為是MYSQL環境中的命令,所以後面都帶一個分號作為命令結束符)
格式:grant select on 資料庫.* to 用戶名@登錄主機 identified by "密碼"
例1、增加一個用戶test1密碼為abc,讓他可以在任何主機上登錄,並對所有資料庫有查詢、插入、修改、刪除的許可權。
首先用以root用戶連入MYSQL,然後鍵入以下命令:grant select,insert,update,delete privileges on *.* to "test1"@"%" Identified by "abc" with grant option; 但例1增加的用戶是十分危險的,
你想如某個人知道test1的密碼,那麼他就可以在internet上的任何一台電腦上登錄你的mysql資料庫並對你的數據可以為所欲為了,解決辦法見例2。
例2、增加一個用戶test2密碼為abc,讓他只可以在localhost上登錄,並可以對資料庫mydb進行查詢、插入、修改、刪除的操作(localhost指本地主機,即MYSQL資料庫所在的那台主機),
這樣用戶即使用知道test2的密碼,他也無法從internet上直接訪問資料庫,只能通過MYSQL主機上的web頁來訪問了。
grant select,insert,update,delete on mydb.* to test2@localhost identified by 「abc」;如果你不想test2有密碼,可再打一個命令將密碼消掉。
grant select,insert,update,delete on mydb.* to test2@localhost identified by 「」;
例3、遠程登錄:
a、默認情況下Mysql只允許本地登錄,所以需要修改配置文件將地址綁定給注釋掉:
vi /etc/mysql/my.cnf

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address = 127.0.0.1 <---注釋掉這一行就可以遠程登錄了

b、允許遠程登錄後,還應設置遠程登錄許可權:
mysql>grant all privileges on *.* to "root"@"%" identified by "123456" with grant option;
c、使修改生效:
mysql> flush privileges;
d、在另一台機器上遠程登錄(mysql所在機器地址:192.168.0.30):
mysql -h192.168.0.30 -uroot -p123456
e、如果仍不能登錄,就把遠程mysql關閉,之後重啟
sudo stop mysql
sudo start mysql
7.顯示命令:(註:下面來看看MYSQL中有關資料庫方面的操作。注意:必須首先登錄到MYSQL中,以下操作都是在MYSQL的提示符下進行的,而且每個命令以分號結束)。
a、顯示資料庫列表:show databases; 剛開始時才兩個資料庫:mysql和test。mysql庫很重要它裡面有MYSQL的系統信息,我們改密碼和新增用戶,實際上就是用這個庫進行操作。
b、顯示庫中的數據表:use mysql; show tables;
c、顯示數據表的結構:describe 表名;
d、建庫: create database 庫名;
e、建表: use 庫名; create table 表名 (欄位設定列表);
f、刪庫和刪表: drop database 庫名; drop table 表名;
g、將表中記錄清空:delete from 表名;
h、顯示表中的記錄:select * from 表名;

閱讀全文

與ubuntu訪問資料庫c相關的資料

熱點內容
socket5linux 瀏覽:124
客人結局為什麼小孩進洞 瀏覽:331
eclipse打開app安裝包 瀏覽:33
s7568清除鎖屏密碼 瀏覽:511
台灣電影理論片 瀏覽:560
小說女主重回校園去三次都是被男人強奸 瀏覽:776
苗族雲南電影 瀏覽:336
電影台灣男版紅樓夢全集 瀏覽:608
12306升級後無乘客 瀏覽:34
linux將文件拷貝至目錄下 瀏覽:553
劉海柱和二龍湖浩哥電影叫什麼 瀏覽:52
重生都市主角叫林楓 瀏覽:600
電子文件哪個品牌好 瀏覽:691
怎麼查詢網站關鍵詞 瀏覽:642
激情午夜激情 瀏覽:570
qq說說大全三十字 瀏覽:432
酒吧被撿屍的電影叫什麼 瀏覽:395
閻王的電影 瀏覽:236
為什麼網路連接不穩定 瀏覽:854
葉子楣和午馬一起演的電影叫什麼 瀏覽:483

友情鏈接