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\n");
else
printf("Connect failed\n");
//选择数据库foo2;
if(!mysql_select_db(&my_connect,"foo2"))
printf("Select Database success\n");
else
printf("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
4.MySQL连接并选择数据库(SQL & C)的更多相关文章
- 【MySQL】使用MySQL(连接、选择数据库、显示数据库和表信息)
第3章 使用MySQL 文章目录 第3章 使用MySQL 连接 选择数据库 了解数据库和表 小结 简单记录 - MySQL必知必会 - [英]Ben Forta 将学习如何连接和登录到MySQL,如何 ...
- 配置phpmyadmin使登录时可填写IP管理多台MySQL 连接多个数据库 自动登录
一.如何设置phpMyAdmin自动登录? 首先在根目录找到config.sample.inc.php复制一份文件名改为config.inc.php(如果已经存在 config.inc.php 文件, ...
- Java 使用 DBCP mysql 连接池 做数据库操作
需要的jar包有 commons-dbutils , commons-dbcp , commons-pool , mysql-connector-java 本地database.propertties ...
- hue mysql连接不上数据库排查
由于CDH所有的组件都会进行agent检测,所以先到/var/log/cloudera-scm-agent(mysql所在节点进行日志排查),可以发现每次连接会产生一个log路径作为记录hue连接my ...
- (办公)mysql连接不上(java.sql.SQLException: null, message from server: "Host 'LAPTOP-O0GA2P8J' is not allowed to connect to this MySQL server")(转)
转载自csdn文章:https://blog.csdn.net/Tangerine_bisto/article/details/803461511.对所有主机进行访问授权 GRANT ALL PRIV ...
- Sequelize 连接微软云数据库 SQL Azure
function getConnection(){ var sequelize=new Sequelize("DBName","sa","000000 ...
- MySql学习 (一) —— 基本数据库操作语句、三大列类型
注:该MySql系列博客仅为个人学习笔记. 在使用MySql的时候,基本都是用图形化工具,如navicat.最近发现连最基本的创建表的语法都快忘了... 所以,想要重新系统性的学习下MySql,为后面 ...
- 数据库管理工具神器-DataGrip,可同时管理多个主流数据库[SQL Server,MySQL,Oracle等]连接
前言 DataGrip:Jet Brains出品的一款数据库管理工具(没错,是Jet Brains出品,必属精品).DataGrip整合集成了当前主流数据库(如:SQL Server, MySQL, ...
- (笔记)Mysql命令select:当前选择(连接)的数据库
select命令表示当前选择(连接)的数据库. select命令格式:mysql> select database(); MySQL中SELECT命令类似于其他编程语言里的print或者writ ...
随机推荐
- linux快速入门 1.1命令行操作
http://lovesoo.org/linux-command-line-operation.html 1.1命令行操作 目录: <wp_nokeywordlink>Shell简介 &l ...
- CentOS 6.5 下载地址
CentOS 6.5 主要改动 Precision Time Protocol(精确时间协议)—— 原先是项技术预览 —— 现在已获全面支持.以下驱动程序支持网络时间戳印:bnx2x.tg3.e100 ...
- 将string转换成UTF8在进行请求
在请求服务器时,如果参数中带有中文字符.就会报参数格式错误,需要将其转换成UTF8 @interface NSString (NSURLUtilities) /* Adds all percent e ...
- js 如何将无限级分类展示出来
这个需要运用递归. 案例:将数据以 ul li ul li形式展现在div中. <div id="div"></div> 数据格式为json: var da ...
- C++文件读写(转载)
原网页地址:http://blog.csdn.net/kingstar158/article/details/6859379 下文全部转载自以上网页,感谢原作者的贡献. 在看C++编程思想中,每个练习 ...
- PCL 点云数据操作 OpenCV遍历数据
1.对于点云类型实例cloud,对其第i个点进行赋值操作,使用cloud.point[i].x 和 cloud.point[i].y 和cloud.point[i].z 分别对其XYZ坐标赋值. cl ...
- Ledongli
Ledongli.rar
- Fixflow引擎解析(一)(介绍) - Fixflow开源流程引擎介绍
Fixflow引擎解析(四)(模型) - 通过EMF扩展BPMN2.0元素 Fixflow引擎解析(三)(模型) - 创建EMF模型来读写XML文件 Fixflow引擎解析(二)(模型) - BPMN ...
- Flex学习第一天(两个数相加)
<?xml version="1.0" encoding="utf-8"?><s:Application xmlns:fx="htt ...
- 聊聊css盒子模型
css盒子模型原理: 在网页设计中常听的属性名:内容(content).填充/内边距(padding).边框(border).外边距(margin), CSS盒子模式都具备这些属性. 这些属性我们可以 ...