-
在mysql数据库中 以下sql_在 MySQL 数据库中使用C 执行SQL的语句
2021-02-11 22:00:41从 Professional Linux Programming 中第 5 章有关 MySQL 的下列章节中,Neil Matthew 和 Richard Stones 使用详尽的 MySQL C 接口向我们介绍了如何在 MySQL 数据库中执行 SQL 语句。他们将看看返回数据的语句...与 PostgreSQL 相似,可使用许多不同的语言来访问 MySQL,包括 C、C++、Java 和 Perl。从 Professional Linux Programming 中第 5 章有关 MySQL 的下列章节中,Neil Matthew 和 Richard Stones 使用详尽的 MySQL C 接口向我们介绍了如何在 MySQL 数据库中执行 SQL 语句。他们将看看返回数据的语句,例如 INSERT 以及不返回数据的语句,例如 UPDATE 和 DELETE。然后,他们将编写从数据库检索数据的简单程序。
执行 SQL 语句
现在,我们已经有了一个连接,并且知道如何处理错误,是时候讨论使用我们的数据库来作一些实际工作了。执行所有类型的 SQL 的主关键字是
以下为引用的内容:
mysql_query:
int mysql_query(MYSQL *connection, const char *query)
正如您所见,它非常简单。它取一个指向连接结构的指针和包含要执行的 SQL 的文本字符串;与命令行工具不同,将不使用结束分号。成功之后,返回 0。在需要包含二进制数据的特殊情况下,可以使用相关的函数,mysql_real_query。虽然出于本章的目的,我们仅需要讨论 mysql_query。
不返回数据的 SQL 语句
我们将先讨论 UPDATE、DELETE 和 INSERT 语句。因为它们不返回数据,所以更易于使用。
这里我们将介绍的另一个重要函数是检查受影响的行数的函数:
以下为引用的内容:
my_ulonglong mysql_affected_rows(MYSQL *connection);
可能关于这一函数的最显而易见的事就是其非同寻常的返回结果。由于可移植性原因,这是一个特殊的无符号类型。为了在 printf 中使用,建议将其强制转换成使用 %lu 格式规范的无符号长整数。这个函数返回受以前的 UPDATE、INSERT 或 DELETE 查询影响的行数,这些查询是使用 mysql_query 执行的。
通常对于 mysql_ 函数,返回码 0 表示没有行受影响;正数表示实际结果,通常是受影响的行数。
如前所述,当使用 mysql_affected_rows 时可能出现未期望的结果。让我们先讨论受 INSERT 语句影响的行数,它将按预期进行操作。将下列代码添加到程序 connect2.c 中,并且称其为 insert1.c:
以下为引用的内容:
#include
#include
#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", "bar", "rick", 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_errno(&my_connection)) {
fprintf(stderr, "Connection error %d: %s\n",
mysql_errno(&my_connection),mysql_error(&my_connection));
}
}
return EXIT_SUCCESS;
}
正如预期,插入的行数为 1。
现在,我们更改代码,所以 'insert' 部分被替换成:
以下为引用的内容:
mysql_errno(&my_connection), mysql_error(&my_connection));
}
}
res = mysql_query(&my_connection, "UPDATE children SET AGE = 4
WHERE fname = 'Ann'");
if (!res) {
printf("Updated %lu rows\n",
(unsigned long)mysql_affected_rows(&my_connection));
} else {
fprintf(stderr, "Update error %d: %s\n",
mysql_errno(&my_connection),
关键词标签:语句,执行,使用,数据库
-
在MySQL数据库中使用C执行SQL语句的方法
2020-09-11 00:54:08与PostgreSQL相似,可使用许多不同的语言来访问...从Professional Linux Programming中第5章有关MySQL的下列章节中,Neil Matthew和Richard Stones使用详尽的MySQL C接口向我们介绍了如何在MySQL数据库中执行SQL语句。 -
c 如何执行mysql语句_在 MySQL 数据库中使用C 执行SQL的语句
2021-01-26 07:11:42从 Professional Linux Programming 中第 5 章有关 MySQL 的下列章节中,Neil Matthew 和 Richard Stones 使用详尽的 MySQL C 接口向我们介绍了如何在 MySQL 数据库中执行 SQL 语句。他们将看看返回数据的语句...与 PostgreSQL 相似,可使用许多不同的语言来访问 MySQL,包括 C、C++、Java 和 Perl。从 Professional Linux Programming 中第 5 章有关 MySQL 的下列章节中,Neil Matthew 和 Richard Stones 使用详尽的 MySQL C 接口向我们介绍了如何在 MySQL 数据库中执行 SQL 语句。他们将看看返回数据的语句,例如 INSERT 以及不返回数据的语句,例如 UPDATE 和 DELETE。然后,他们将编写从数据库检索数据的简单程序。
执行 SQL 语句
现在,我们已经有了一个连接,并且知道如何处理错误,是时候讨论使用我们的数据库来作一些实际工作了。执行所有类型的 SQL 的主关键字是
以下为引用的内容:
mysql_query:
int mysql_query(MYSQL *connection, const char *query)
正如您所见,它非常简单。它取一个指向连接结构的指针和包含要执行的 SQL 的文本字符串;与命令行工具不同,将不使用结束分号。成功之后,返回 0。在需要包含二进制数据的特殊情况下,可以使用相关的函数,mysql_real_query。虽然出于本章的目的,我们仅需要讨论 mysql_query。
不返回数据的 SQL 语句
我们将先讨论 UPDATE、DELETE 和 INSERT 语句。因为它们不返回数据,所以更易于使用。
这里我们将介绍的另一个重要函数是检查受影响的行数的函数:
以下为引用的内容:
my_ulonglong mysql_affected_rows(MYSQL *connection);
可能关于这一函数的最显而易见的事就是其非同寻常的返回结果。由于可移植性原因,这是一个特殊的无符号类型。为了在 printf 中使用,建议将其强制转换成使用 %lu 格式规范的无符号长整数。这个函数返回受以前的 UPDATE、INSERT 或 DELETE 查询影响的行数,这些查询是使用 mysql_query 执行的。
通常对于 mysql_ 函数,返回码 0 表示没有行受影响;正数表示实际结果,通常是受影响的行数。
如前所述,当使用 mysql_affected_rows 时可能出现未期望的结果。让我们先讨论受 INSERT 语句影响的行数,它将按预期进行操作。将下列代码添加到程序 connect2.c 中,并且称其为 insert1.c:
以下为引用的内容:
#include
#include
#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", "bar", "rick", 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_errno(&my_connection)) {
fprintf(stderr, "Connection error %d: %s\n",
mysql_errno(&my_connection),mysql_error(&my_connection));
}
}
return EXIT_SUCCESS;
}
-
在MySQL数据库中使用C执行SQL语句的方法.pdf
2020-11-23 09:42:54在在MySQL数数据据库库中中使使用用C执执行行SQL语语句句的的方方法法 与PostgreSQL相似可使用许多不同的语言来访问MySQL包括CC++Java和Perl从Professional Linux ...向我们介 绍了如何在MySQL数据库中执行SQL语句 -
mysql怎么使用sql语句_在MySQL数据库中使用C执行SQL语句(1)
2021-02-02 09:22:02从Professional Linux Programming中第5章有关MySQL的下列章节中,Neil Matthew和Richard Stones使用详尽的MySQL C接口向我们介绍了如何在MySQL数据库中执行SQL语句。他们将讨论返回数据的语句,例如INSERT以及不...与PostgreSQL相似,可使用许多不同的语言来访问MySQL,包括C、C++、Java和Perl。从Professional Linux Programming中第5章有关MySQL的下列章节中,Neil Matthew和Richard Stones使用详尽的MySQL C接口向我们介绍了如何在MySQL数据库中执行SQL语句。他们将讨论返回数据的语句,例如INSERT以及不返回数据的语句,例如UPDATE和DELETE。然后,他们将编写从数据库检索数据的简单程序。
执行SQL语句
现在,我们已经有了一个连接,并且知道如何处理错误,是时候讨论使用我们的数据库来作一些实际工作了。执行所有类型的SQL的主关键字是mysql_query:int mysql_query(MYSQL *connection, const char *query)
正如您所见,它非常简单。它取一个指向连接结构的指针和包含要执行的SQL的文本字符串;与命令行工具不同,将不使用结束分号。成功之后,返回0。在需要包含二进制数据的特殊情况下,可以使用相关的函数,mysql_real_query。虽然出于本章的目的,我们仅需要讨论mysql_query。
不返回数据的SQL语句
我们将先讨论UPDATE、DELETE和INSERT语句。因为它们不返回数据,所以更易于使用。
这里我们将介绍的另一个重要函数是检查受影响的行数的函数:
my_ulonglong mysql_affected_rows(MYSQL *connection);
可能关于这一函数的最显而易见的事就是其非同寻常的返回结果。由于可移植性原因,这是一个特殊的无符号类型。为了在printf中使用,建议将其强制转换成使用%lu格式规范的无符号长整数。这个函数返回受以前的UPDATE、INSERT或DELETE查询影响的行数,这些查询是使用mysql_query执行的。
通常对于mysql_函数,返回码0表示没有行受影响;正数表示实际结果,通常是受影响的行数。
如前所述,当使用mysql_affected_rows时可能出现未期望的结果。让我们先讨论受INSERT语句影响的行数,它将按预期进行操作。将下列代码添加到程序 connect2.c 中,并且称其为insert1.c:
#include
#include
#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", "bar", "rick", 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_errno(&my_connection)) {
fprintf(stderr, "Connection error %d: %s\n",
mysql_errno(&my_connection),
mysql_error(&my_connection));
}
}
return EXIT_SUCCESS;
}
正如预期,插入的行数为1。
现在,我们更改代码,所以 'insert' 部分被替换成:
mysql_errno(&my_connection), mysql_error(&my_connection));
}
}
res = mysql_query(&my_connection, "UPDATE children SET AGE = 4
WHERE fname = 'Ann'");
if (!res) {
printf("Updated %lu rows\n",
(unsigned long)mysql_affected_rows(&my_connection));
} else {
fprintf(stderr, "Update error %d: %s\n",
mysql_errno(&my_connection),
mysql_error(&my_connection));
}
现在假设子表中有的数据,如下:
childno
fname
age
1
2
3
4
5
6
7
8
9
10
11
Jenny
Andrew
Gavin
Duncan
Emma
Alex
Adrian
Ann
Ann
Ann
Ann
14
10
4
2
0
11
5
3
4
3
4
如果我们执行update1,希望报告的受影响行数为4,但是实际上程序报告2,因为它仅必须更改2行,虽然WHERE子句标识了4行。如果想让mysql_affected_rows报告的结果为4这可能是熟悉其它数据库的人所期望的),则需要记住将CLIENT_FOUND_ROWS标志传递到mysql_real_connect,在 update2.c中的程序如下:
if (mysql_real_connect(&my_connection, "localhost",
"rick", "bar", "rick", 0, NULL, CLIENT_FOUND_ROWS)) {
如果我们在数据库中复位数据,然后运行带有这种修改的程序,则它报告的行数为4。
函数mysql_affected_rows还有最后一个奇怪之处,它发生在从数据库中删除数据时。如果使用WHERE子句,则mysql_affected_rows将按预期返回删除行数。但是,如果没有WHERE子句,则删除所有行,报告受影响的行数却为0。这是因为由于效率原因优化删除整个表。这种行为不受CLIENT_FOUND_ROWS选项标志的影响。
-
sql 如何更新excel数据_如何在EXCEL中很简便地使用SQL语言
2020-12-04 01:09:47SQL结构化查询语言(Structured Query Language)是主流关系型数据库管理与操作...那么在大家最常用的EXCEL工具中能否直接使用SQL语言呢?当然是可以的。今天就给大家做一个简单示例。首先打开“数据”菜单,找到“现...SQL结构化查询语言(Structured Query Language)是主流关系型数据库管理与操作的通用语言,应用及普及度极其广泛。对于普通的业务数据分析人员来说,掌握基本的SQL语句与操作,可以在数据的查询、清理、汇总以及数据的灵活调取等方面达到事半功倍的效果。
那么在大家最常用的EXCEL工具中能否直接使用SQL语言呢?当然是可以的。今天就给大家做一个简单示例。
首先打开“数据”菜单,找到“现有连接”并打开,在打开的对话框中点击左下角的“浏览更多”:
然后找到需要调用的数据源文件,本例是EXCEL文件,当然也可以是EXCEL支持的其它类型的文件,并点击“打开”按钮:
然后选择需要具体调用的工作表(其实就是把EXCEL文件当成一个数据库,调用其中的一张数据表):
在随后的“导入数据”兑换框中选择左下角的“属性”:
在“属性”对话框中,选择“定义”,然后就可以在下方的“命令文本”框中输入SQL查询语句了:
输入完成后,点击“确定”回到“导入数据”对话框,选择数据的导入位置,然后就可以成功地把所需要的数据导入到EXCEL工作表了:
-
如何在R语言中使用SQL
2015-05-03 02:08:19R中还有一个有趣的sqldf包,它可以让你用SQL来操作dataframe,这种功能能让会R的人能练习SQL,会SQL的人能练习R,不得不感叹R语言的强大技能和神奇魅力。 当然也可以将R与外部数据库连接,直接在R中操作数据库,并... -
c web mysql数据库_在MySQL数据库中使用C执行SQL语句(1)
2021-01-26 18:10:27从Professional Linux Programming中第5章有关MySQL的下列章节中,Neil Matthew和Richard Stones使用详尽的MySQL C接口向我们介绍了如何在MySQL数据库中执行SQL语句。他们将讨论返回数据的语句,例如INSERT以及不... -
如何在Mac中使用Sql server恢复Idf及mdf日志的数据库
2020-07-15 01:18:42导师发来两个文件,分别是IDF和MDF,目标是还原出数据库文件并转换为excel可读取格式,由于我使用的是MBP,Sql server无法直接安装使用,因此就产生了两种解决方案:1.传统方法,使用Windows虚拟机读取并GUI软件转换... -
c mysql 执行sql语句_在MySQL数据库中使用C执行SQL语句_mysql
2021-01-19 22:33:14从Professional linux Programming中第5章有关MySQL的下列章节中,Neil Matthew和Richard Stones使用详尽的MySQL C接口向我们介绍了如何在MySQL数据库中执行SQL语句。他们将讨论返回数据的语句,例如INSERT以及不... -
c 写mysql 语句_在 MySQL 数据库中使用C 执行SQL的语句
2021-01-18 19:14:46从 Professional Linux Programming 中第 5 章有关 MySQL 的下列章节中,Neil Matthew 和 Richard Stones 使用详尽的 MySQL C 接口向我们介绍了如何在 MySQL 数据库中执行 SQL 语句。他们将看看返回数据的语句... -
在MySQL数据库中使用C执行SQL语句
2009-07-25 21:46:00从Professional Linux Programming中第5章有关MySQL的下列章节中,Neil Matthew和Richard Stones使用详尽的MySQL C接口向我们介绍了如何在MySQL数据库中执行SQL语句。他们将讨论返回数据的语句,例如INSERT以及不... -
如何使用R语言链接数据库并对数据库中的表进行查询操作
2018-03-15 09:14:18需求:1、安装R 2、安装数据库,我的是SQL Server 2005, ,我在数据库里事先创建了一个名叫scott的数据库,并且scott数据库里包含了名叫emp的表,用于查询操作,如下图所示:下面先放上R语言代码,然后我再一步步给... -
数据库入门:如何选择SQL和NoSQL数据库
2020-11-25 07:05:02数据是数据科学所有子...近年来,在数据库领域出现了另一个术语,即NoSQL数据库。如果您刚开始学习数据科学,则可能听说过SQL和NoSQL数据库。 但是,它们之间有什么区别以及何时使用它们? 让我们从最简单的知识开始, -
MySQL 数据库中使用 C 执行 SQL语句
2013-04-27 16:43:44从 Professional Linux Programming 中第 5 章有关 MySQL 的下列章节中,Neil Matthew 和 Richard Stones 使用详尽的 MySQL C 接口向我们介绍了如何在 MySQL 数据库中执行 SQL 语句。他们将讨论返回数据的语句 -
如何使用sql查询collection内容_Excel | 如何在Excel中使用SQL查询语句?
2021-01-25 19:40:27结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。 在Excel表格中当数据量行数不太多的时候,使用... -
Java 中如何使用 SQL 查询文本
2019-02-12 19:14:16使用 SQL 查询语言,你只能查询位于数据库里面的数据,但是当你面对的数据是一些 Excel 表格或者 Txt ...而 SQL 语言是基于数据库的查询语言,这就要求被查询的数据只能位于数据库中。但在实际工作中,时常会碰到... -
SQLServer如何创建数据库
2020-05-12 14:15:24使用SQL语言进行创建数据库 --在SQL语言中注释使用“--”,SQL代码不区分大小写 --创建数据库 CREATE DATABASE NetStudent ON PRIMARY --设置主数据文件 ( --设置库文件逻辑名称,SQL中字符串不能用双引号,全部... -
学会用数据库的方式思考 SQL 是如何执行的
2019-07-05 10:58:40虽然 SQL 是声明式语言,我们可以像使用英语一样使用它,不过在 RDBMS(关系型数据库管理系统)中,SQL 的实现方式还是有差别的。今天我们就从数据库的角度来思考一下 SQL 是如何被执行的。 关于今天的内容,你会从... -
如何在.NET中使用MySQL数据库
2012-05-21 10:08:41在.NET中一直使用Sql Server做数据库。前几天学习通过JDBC使用Java连接MySql数据库,我就想.NET是否同样可以使用MySql数据库呢?答案是肯定的,方法也很简单,在这里我使用C#作为编程语言,将自己整理出来的方法同... -
转-学会用数据库的方式思考 SQL 是如何执行的
2019-07-05 09:52:43虽然 SQL 是声明式语言,我们可以像使用英语一样使用它,不过在 RDBMS(关系型数据库管理系统)中,SQL 的实现方式还是有差别的。今天我们就从数据库的角度来思考一下 SQL 是如何被执行的。 关于今天的内容,你会从... -
C#中连接使用Windows身份验证的sql server数据库
2019-07-15 17:24:16C#中连接使用Windows身份验证的sql server数据库 最近在写一个系统,主要使用C#语言完成系统内各功能模块的编写。系统包含数据库,需要对数据库内的数据进行增删改查,这就涉及到了数据库的连接工作。 我使用的... -
SQL VS NoSQL如何选择数据库?
2021-01-19 22:06:40接下来,我们将会利用上一篇中的知识来确定在特定的场景中如何确定比较好的选择。 首先我们先来总结一下: SQL数据库: · 使用表存储相关的数据 · 在使用表之前需要先定义标的模式 · 鼓励使用规范... -
python–数据库 00 初识数据库和SQL
2021-01-19 22:01:19在本教程中,您将学到如何使用 SQL 访问和处理数据系统中的数据,这类数据库包括:Oracle, Sybase, SQL Server, DB2, Access 等等。 数据库引入 socket编程中,客户端从服务端下载一个文件,这个文件应该存在哪? ...