zoukankan      html  css  js  c++  java
  • 4.MySQL连接并选择数据库(SQL & C)

    在连接了MySQL数据库之后,可以通过SQL命令或者C、PHP、JAVA等程序来指定需要操作的数据库。这里主要介绍SQL命令和相应的C程序。

    首先创建用户rick(赋予所有权限)

    mysql> grant ALL ON *.* TO rick@localhost IDENTIFIED BY 'rick123'

    然后给rick用户创建两个数据库

    mysql> q
    # mysqladmin -u rick -p create foo;
    
    # mysqladmin -u rick -p create foo2;

    1.SQLl命令

    实例,选择数据库foo

    root@deamon-H55M-S2:/# mysql -u rick -p
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 15
    Server version: 5.7.16-0ubuntu0.16.04.1 (Ubuntu)
    
    Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    
    mysql> use foo;
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
    
    Database changed

    2.C程序

    相关函数:MYSQL *mysql_init(MYSQL *mysql) 该函数初始化一个适合用于mysql_real_connect的连接句柄结构

         MYSQL *mysql_real_connect(MYSQL *mysql,

                       const char *host,

                       const char *user,

                       const char *passwd,

                       const char *db,

                       unsigned int port,

                       const char *unix_socket,

                       unsigned long client_flag);//连接数据库

          MYSQL *mysql_close(MYSQL *mysql) //关闭连接,通常在程序结束退出时,需要调用该函数进行关闭。

    如果mysql是一个空指针,mysql_init函数会分配、初始化以及返回一个新的句柄结构,否则mysql会被重新初始化,并返回该结构的地址。mysql_init 分配的新结构会在调用mysql_close()时被释放。

     例程:

    #include<stdio.h>
    #include<stdlib.h>
    #include<mysql/mysql.h>
    int main()
    {
            MYSQL my_connect;
            mysql_init(&my_connect);
          //以rick的身份连接数据库,并选择使用数据库foo;
    if(mysql_real_connect(&my_connect,"localhost","rick","rick123","foo",0,NULL,0)) printf("Connect success "); else printf("Connect failed ");     //选择数据库foo2; if(!mysql_select_db(&my_connect,"foo2")) printf("Select Database success "); else printf("Select Database failed "); }

    编译程序:

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

    最后执行程序

    ./select_db 
    Connect success
    Select Database success

    注意:如果编译的时候显示mysql.h找不到,那么需要安装libmysqlclient-dev

    对Ubuntu,Debian等
    apt-get install libmysqlclient-dev 
    对Centos等
    apt-get install libmysqlclient-dev

    安装完成后头文件在/usr/include/mysql

     

  • 相关阅读:
    以太坊设计原理
    Merkle Patricia Tree 详解
    Verifiable random function
    压缩工具gzip、bzip2、xz的使用
    压缩工具gzip、bzip2、xz的使用
    Jni中图片传递的3种方式(转)
    Jni中图片传递的3种方式(转)
    短视频sdk:选择一个靠谱的短视频SDK 你需要了解这些
    短视频sdk:选择一个靠谱的短视频SDK 你需要了解这些
    短视频sdk:选择一个靠谱的短视频SDK 你需要了解这些
  • 原文地址:https://www.cnblogs.com/jiandahao/p/6119154.html
Copyright © 2011-2022 走看看