欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網(wǎng)!

C語言

當(dāng)前位置:主頁 > 軟件編程 > C語言 >

linux安裝mysql和使用c語言操作數(shù)據(jù)庫的方法 c語言連接mysql

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C語言|點擊: 次

1. MySQL的安裝與配置:

在Ubuntu下安裝MySQL方法很簡單,使用如下命令:

復(fù)制代碼 代碼如下:

sudo apt-get install mysql-server

安裝的過程中系統(tǒng)會提示設(shè)置root密碼,此過程可以跳過,但是建議在安裝時提示設(shè)置root密碼的時候自行設(shè)置,免得后面設(shè)置麻煩。安裝結(jié)束之后,系統(tǒng)會啟動mysql服務(wù),可以使用命令去查看來驗證mysql服務(wù)是否已經(jīng)安裝成功:

復(fù)制代碼 代碼如下:

ps -el | grep mysql

如果mysql服務(wù)沒有正常的運行,可以使用下面指令對mysql服務(wù)進(jìn)行重啟:

復(fù)制代碼 代碼如下:

sudo service mysql restart

喜歡使用Workbench界面的,還需要安裝Workbench:

復(fù)制代碼 代碼如下:

sudo apt-get install mysql-workbench

Workbench的啟動使用如下命令:

復(fù)制代碼 代碼如下:

mysql-workbench --log-level=debug3 --verbose

2. MySQL命令行:

我們使用root去登錄MySQL,然后做相關(guān)的操作:

復(fù)制代碼 代碼如下:

mysql -u root -p

在此,系統(tǒng)會提示輸入密碼,只需要輸入之前設(shè)置的MySQL密碼即可,然后程序會進(jìn)入mysql命令行模式下,假設(shè)我們需要查看user信息,我們使用如下命令:

復(fù)制代碼 代碼如下:

use mysql
SELECT host, user, password FROM user;

MySQL會返回所有host,user和password等信息。其他比較復(fù)雜的操作,諸如添加數(shù)據(jù)庫,添加表等和普通的數(shù)據(jù)操作命令一致,后面會以一個實例來說明。讓我們趕快進(jìn)入Linux下C操作MySQL的實踐吧!

3. 使用C語言管理MySQL數(shù)據(jù)庫:

首先,我們需要安裝在Linux下操作MySQL多依賴的庫,安裝命令如下:

復(fù)制代碼 代碼如下:

sudo apt-get install libmysqlclient-dev

安裝了這個之后,我們編程所需要的頭文件,庫文件等就齊全了,讓我們開始C編程之旅吧!

首先,讓我們準(zhǔn)備一個我們用來折騰的空間,也就是準(zhǔn)備一個折騰專屬賬戶,一個折騰專屬數(shù)據(jù)庫和數(shù)據(jù)表等:

復(fù)制代碼 代碼如下:

#添加賬戶
GRANT ALL ON *.* TO rick@localhost IDENTIFIED BY 'secret'
\q
#使用新創(chuàng)建的rick賬戶登錄
mysql -u rick -p
#創(chuàng)建數(shù)據(jù)庫
CREATE DATABASE foo;

然后,我們使用一個sql文件插入數(shù)據(jù)表和測試數(shù)據(jù):

復(fù)制代碼 代碼如下:

--
-- Create the table children
--
CREATE TABLE children (
    childno int(11) NOT NULL auto_increment,
    fname varchar(30),
    age int(11),
    PRIMARY KEY (childno)
);
--
-- Populate the table 'children'
--
INSERT INTO children(childno, fname, age) VALUES (1, 'Jenny', 21);
INSERT INTO children(childno, fname, age) VALUES (2, 'Andrew', 17);
INSERT INTO children(childno, fname, age) VALUES (3, 'Gavin', 8);
INSERT INTO children(childno, fname, age) VALUES (4, 'Duncan', 6);
INSERT INTO children(childno, fname, age) VALUES (5, 'Emma', 4);
INSERT INTO children(childno, fname, age) VALUES (6, 'Alex', 15);
INSERT INTO children(childno, fname, age) VALUES (7, 'Adrian', 9);

將上述sql語句存為create_children.sql,然后使用下列命令導(dǎo)入MySQL數(shù)據(jù)庫foo:

復(fù)制代碼 代碼如下:

mysql -u rick --password=secret foo
\. create_children.sql

好了,寫個demo進(jìn)行測試吧:

復(fù)制代碼 代碼如下:

#include <stdlib.h>
#include <stdio.h>

#include "mysql.h"

int main(int argc, char *argv[]) {
    MYSQL my_connection;
    int res;

    mysql_init(&my_connection);
    if (mysql_real_connect(&my_connection, "localhost",
                "rick", "secret", "foo", 0, NULL, 0)) {
        printf("Connection success\n");
        res = mysql_query(&my_connection, "INSERT INTO children(fname, age) VALUES('Ann', 3)");
        if (!res) {
            printf("Inserted %lu rows\n",
                    (unsigned long)mysql_affected_rows(&my_connection));
        } else {
            fprintf(stderr, "Insert error %d: %s\n", mysql_errno(&my_connection), mysql_error(&my_connection));
        }

        mysql_close(&my_connection);
    } else {
        fprintf(stderr, "Connection failed\n");
        if (mysql_error(&my_connection)) {
            fprintf(stderr, "Connection error %d: %s\n", mysql_errno(&my_connection), mysql_error(&my_connection));
        }
    }
    return EXIT_SUCCESS;
}

將上述代碼保存為demo.c。上述代碼中,我們需要包含mysql.h頭文件來使用mysql提供的API對MySQL進(jìn)行操作。程序?qū)懞昧?,編譯過程需要加入需要的鏈接信息:

復(fù)制代碼 代碼如下:

gcc -I/usr/include/mysql demo.c -L/usr/lib/mysql -lmysqlclient -o demo

好了,程序成功編譯,運行一下試試吧:

復(fù)制代碼 代碼如下:

./demo

#結(jié)果如下
Connection success
Inserted 1 rows

上一篇:C/C++判斷傳入的UTC時間是否當(dāng)天的實現(xiàn)方法

欄    目:C語言

下一篇:深入理解c/c++ 內(nèi)存對齊

本文標(biāo)題:linux安裝mysql和使用c語言操作數(shù)據(jù)庫的方法 c語言連接mysql

本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/3818.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有