zoukankan      html  css  js  c++  java
  • 34安装+连接数据库

    在Ubuntu下安装Mysql.

    ubuntu上安装mysql非常简单只需要几条命令就可以完成。

     1. sudo apt-get install mysql-server

     2. apt-get isntall mysql-client

     3.  sudo apt-get install libmysqlclient-dev

    可能出现的问题:

    letuknowit@ubuntu:~$ sudo apt-get install mysql-server mysql-client

    [sudo] password for letuknowit:

    Reading package lists… Done

    Building dependency tree   

    Reading state information… Done

    E: Unable to locate package mysql-server

    E: Unable to locate package mysql-client

    letuknowit@ubuntu:~$

    解决方法执行下面的命令:

      sudo apt-get update

    再进行安装。

    安装完成之后可以使用如下命令来检查是否安装成功:

       sudo netstat -tap | grep mysql

    登陆mysql数据库可以通过如下命令:

      mysql -u root -p

    -u 表示选择登陆的用户名, -p 表示登陆的用户密码,上面命令输入之后会提示输入密码,此时输入密码就可以登录到mysql。

    然后通过 show databases; 就可以查看当前的数据库。(注:一定要加上分号)

    显示当前数据库的表单:show tables;

    数据库连接

    #include<mysql/mysql.h>

    mysql_init(MYSQL  *mysql)

    MYSQL* mysql_real_connect(

         MYSQL *mysql,  char   *host,   

         char *user,   char * passwd,  

         char *dbname,   uint port,   

         const char *socket,   ulong client_flag)

     创建数据库连接,通过 mysql 进行数据库操作

    数据库操作

    int  mysql_real_query(

        MYSQL *mysql,

        char *sql,

         int    sql_len)

    对数据库进行操作,sql 可以是 增删改查等语句

    数据库操作 获取结果

    MYSQL_RES  *res = my_use_result(MYSQL* mysql)

      获取查询结果

       

    MYSQL_ROW   row = mysql_fetch_row(MYSQL *res)

      获取查询结果某行,指针自动偏移,末尾返回NULL

      row[0], ...., row[N]   分别为各项的值    

    数据库操作  获取结果

      char *mysql_error(MYSQL* mysql)

    int mysql_num_fields(MYSQL_ROW  row)

      获取记录域个数

     mysql_close(MYSQL *mysql)

      关闭数据库连接

    mysql_select_db(MYSQL* mysql, char *dbname);

       数据库操作  选择数据库

    编译

    编译时需要链接动态库 libmysqlclient.so

    gcc   mysql_demo.c  -o  mysql_demo   -lmysqlclient

    简单查询数据库例子:

    #include <mysql/mysql.h>
    #include <stdio.h>
    #include <stdlib.h>
    int main() 
    {
        MYSQL *conn;
        MYSQL_RES *res;
        MYSQL_ROW row;
        char server[] = "localhost";
        char user[] = "root";
        char password[] = "123";		//your password  when you crete database
        char database[] = "mysql";
        
        conn = mysql_init(NULL);
        
        if (!mysql_real_connect(conn, server,user, password, database, 0, NULL, 0)) 
        {
            fprintf(stderr, "%s
    ", mysql_error(conn));
            exit(1);
        }
        
        if (mysql_query(conn, "show tables")) 
        {
            fprintf(stderr, "%s
    ", mysql_error(conn));
            exit(1);
        }
        
        res = mysql_use_result(conn);
        
        printf("MySQL Tables in mysql database:
    ");
        
        while ((row = mysql_fetch_row(res)) != NULL)
        {
            printf("%s 
    ", row[0]);
        }
        
        mysql_free_result(res);
        mysql_close(conn);
        
        printf("finish! 
    ");
        return 0;
    }
    

      

  • 相关阅读:
    看动画学算法之:栈stack
    asp.net core使用identity+jwt保护你的webapi(三)——refresh token
    asp.net core使用identity+jwt保护你的webapi(二)——获取jwt token
    与 Python 之父聊天:更快的 Python!
    Oracle使用SPM对含有绑定变量SQL做固定的方法
    Oracle Hint no_merge(merge)、no_unnest(unnest)的作用对象陷阱
    Oracle全表扫描导致的direct path read第一次慢第二次以后变快
    Oracle OEM13C添加主机监控遇到一些问题汇总
    还傻傻分不清楚equals和==的区别吗?看完就明白了
    从0到1实现一个简单计算器
  • 原文地址:https://www.cnblogs.com/gd-luojialin/p/10371607.html
Copyright © 2011-2022 走看看