在连接了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 -ADatabase 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\n");elseprintf("Connect failed\n");//选择数据库foo2;if(!mysql_select_db(&my_connect,"foo2"))printf("Select Database success\n");elseprintf("Select Database failed\n");}

编译程序:

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

 

转载于:https://www.cnblogs.com/jiandahao/p/6119154.html

4.MySQL连接并选择数据库(SQL C)相关推荐

  1. linux连接本机mysql数据库,Linux中MySQL连接本机数据库客户端

    Linux中MySQL连接本机数据库客户端 Linux中MySQL连接本机数据库客户端 1.登入mysql数据库 2.找到要修改的位置 // 选定要用的数据库(用show databases;看完再u ...

  2. MySQL中操作关系型数据库 SQL

    数据库(database) 常见的数据库: 关系型数据库: SQL server 微软 Oracle oracle (甲骨文) MySQL oracle DB2 IBM SQLIte 安卓 NoSQL ...

  3. mysql连接池_数据库技术:数据库连接池,Commons DbUtils,批处理,元数据

    Database Connection Pool Introduction to Database Connection Pool 实际开发中"获得连接"或"释放资源&q ...

  4. mysql连接不上数据库

    1.打开 DOS 窗口,输入 mysql 连接命令时,提示报错 Cannot connect to MySQL server on 'localhost' (10061),如下图: 2.上面问题原因 ...

  5. mysql union all sum_[数据库]SQL Server UNION ALL 结果 SUM函数造成精度丢失

    [数据库]SQL Server UNION ALL 结果 SUM函数造成精度丢失 0 2020-08-03 18:00:30 SQL Server 数据类型 使用场景: 在进行多维度汇总数据时,需要将 ...

  6. php连接mysql执行sql语句_php+mysql 连接服务器、数据库以及执行SQL语句的类库

    展开全部 我这里有个很好的通用数据62616964757a686964616fe78988e69d8331333262363066库连接类,我就喜欢用这个,试试看. class DB_Handle{ ...

  7. win7系统mysql连接不上数据库吗_Win7系统使用数据库时mysql频繁掉线无法连接的两种解决方法...

    近日有windows7 64位旗舰版系统用户在使用mysql数据库的时候,发现mysql总是频繁掉线,导致无法连接,遇到这样的问题该如何解决呢?接下来为大家带来Win7系统使用数据库时mysql频繁掉 ...

  8. 连接Azure云数据库SQL Server

    因为本科毕设要用到云数据库,华为云.阿里云都要收费,但是Azure(新用户注册12个月免费?),所以采用了Azure云数据库. 且Azure云连接SQL Server十分方便,步骤如下: 1. 登录A ...

  9. erlang mysql连接超时_Erlang数据库-(一)Erlang与Mysql的连接

    下载:http://download.csdn.net/detail/hjhjava/7088277 把该文件的东西全部编译好,然后根据下面的解释就可以操作Mysql的.很简单~ -record(ro ...

最新文章

  1. java如何监控cpu耗时_超级干货:3个性能监控和优化命令讲解
  2. [BZOJ] 1634: [Usaco2007 Jan]Protecting the Flowers 护花
  3. android 弹出一个在桌面上出现的window
  4. Python之re模块 —— 正则表达式操作
  5. mysqldump 导出某几张表
  6. 将Auth0 OIDC(OAUTH 2)与授权(组和角色)集成
  7. 关于之前的函数式编程
  8. 在正式使用计算机账务系统的银行对账功能,用友ERP-U8管理系统认证考试理论题...
  9. python对数组缺失值进行填充
  10. mac linux win三系统安装教程,【教程】Windows、Linux、MacOS安装adb工具的方法
  11. 玩转python字典与列表(下)
  12. NHibernate初学者指南(18):验证单个属性
  13. Windows10系统的MSDN下载和通过U盘进行安装的步骤(亲测有效)
  14. 推荐几本数据库基础书
  15. 加密与解密工具大礼包 2010年新品
  16. Jellybean 4.1.1 精简列表+谷歌服务包精简列表
  17. 重装系统后开机启动项菜单如何删除
  18. CentOS 8 Error: Failed to download metadata for repo ‘appstream‘: Cannot prepare internal mirrorlist
  19. PDF文件如何快速转换成Word文件?两个方法教你搞定
  20. 微信小程序开发入门(二)image标签及图片样式

热门文章

  1. 2022-2028年中国多肽药物市场研究及前瞻分析报告
  2. Redis 预防缓存穿透“神器” — 布隆过滤器
  3. Linux shell 学习笔记(6)— vim 编辑器使用方法及技巧
  4. debian10 apache2使用ssl
  5. 使用注解开发SpringMVC详细配置教程
  6. 自动驾驶公司尴尬处境
  7. TensorFlow优化器及用法
  8. 推荐系统的个性化排名
  9. 人体姿态和形状估计的视频推理:CVPR2020论文解析
  10. CVPR2020行人重识别算法论文解读