精华内容
下载资源
问答
  • 从 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),

    关键词标签:语句,执行,使用,数据库

    展开全文
  • 与PostgreSQL相似,可使用许多不同的语言来访问...从Professional Linux Programming中第5章有关MySQL的下列章节中,Neil Matthew和Richard Stones使用详尽的MySQL C接口向我们介绍了如何在MySQL数据库中执行SQL语句。
  • 从 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语语句句的的方方法法 与PostgreSQL相似可使用许多不同的语言来访问MySQL包括CC++Java和Perl从Professional Linux ...向我们介 绍了如何在MySQL数据库中执行SQL语句
  • 从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结构化查询语言(Structured Query Language)是主流关系型数据库管理与操作...那么大家最常用的EXCEL工具能否直接使用SQL语言呢?当然是可以的。今天就给大家做一个简单示例。首先打开“数据”菜单,找到“现...

    SQL结构化查询语言(Structured Query Language)是主流关系型数据库管理与操作的通用语言,应用及普及度极其广泛。对于普通的业务数据分析人员来说,掌握基本的SQL语句与操作,可以在数据的查询、清理、汇总以及数据的灵活调取等方面达到事半功倍的效果。

    那么在大家最常用的EXCEL工具中能否直接使用SQL语言呢?当然是可以的。今天就给大家做一个简单示例。

    首先打开“数据”菜单,找到“现有连接”并打开,在打开的对话框中点击左下角的“浏览更多”:​

    a33e73fff4dc04b7ff78ab4bf171717a.png

    ​然后找到需要调用的数据源文件,本例是EXCEL文件,当然也可以是EXCEL支持的其它类型的文件,并点击“打开”按钮:​

    cfed57f3918a2fe87508c8f6f0795bdc.png

    ​然后选择需要具体调用的工作表(其实就是把EXCEL文件当成一个数据库,调用其中的一张数据表):​

    f7bcb5420d55cb70f9c96b1129462c1d.png

    ​在随后的“导入数据”兑换框中选择左下角的“属性”:

    c9c2f57e798ead6649dc0fdf04ef27c8.png

    在“属性”对话框中,选择“定义”,然后就可以在下方的“命令文本”框中输入SQL查询语句了:​​

    b47197ae270f4f3ddc3b2f327f8c945b.png

    ​输入完成后,点击“确定”回到“导入数据”对话框,选择数据的导入位置,然后就可以成功地把所需要的数据导入到EXCEL工作表了:​

    68b08e9fa7b6c682cfe3fdefc7dbf480.png

    ​​​​​

    展开全文
  • 如何在R语言中使用SQL

    千次阅读 2015-05-03 02:08:19
    R还有一个有趣的sqldf包,它可以让你用SQL来操作dataframe,这种功能能让会R的人能练习SQL,会SQL的人能练习R,不得不感叹R语言的强大技能和神奇魅力。 当然也可以将R与外部数据库连接,直接R操作数据库,并...
  • 从Professional Linux Programming中第5章有关MySQL的下列章节中,Neil Matthew和Richard Stones使用详尽的MySQL C接口向我们介绍了如何在MySQL数据库中执行SQL语句。他们将讨论返回数据的语句,例如INSERT以及不...
  • 导师发来两个文件,分别是IDF和MDF,目标是还原出数据库文件并转换为excel可读取格式,由于我使用的是MBP,Sql server无法直接安装使用,因此就产生了两种解决方案:1.传统方法,使用Windows虚拟机读取并GUI软件转换...
  • 从Professional linux Programming中第5章有关MySQL的下列章节中,Neil Matthew和Richard Stones使用详尽的MySQL C接口向我们介绍了如何在MySQL数据库中执行SQL语句。他们将讨论返回数据的语句,例如INSERT以及不...
  • 从 Professional Linux Programming 中第 5 章有关 MySQL 的下列章节中,Neil Matthew 和 Richard Stones 使用详尽的 MySQL C 接口向我们介绍了如何在 MySQL 数据库中执行 SQL 语句。他们将看看返回数据的语句...
  • 从Professional Linux Programming中第5章有关MySQL的下列章节中,Neil Matthew和Richard Stones使用详尽的MySQL C接口向我们介绍了如何在MySQL数据库中执行SQL语句。他们将讨论返回数据的语句,例如INSERT以及不...
  • 需求:1、安装R 2、安装数据库,我的是SQL Server 2005, ,我在数据库里事先创建了一个名叫scott的数据库,并且scott数据库里包含了名叫emp的表,用于查询操作,如下图所示:下面先放上R语言代码,然后我再一步步给...
  • 数据是数据科学所有子...近年来,在数据库领域出现了另一个术语,即NoSQL数据库。如果您刚开始学习数据科学,则可能听说过SQL和NoSQL数据库。 但是,它们之间有什么区别以及何时使用它们? 让我们从最简单的知识开始,
  • 从 Professional Linux Programming 中第 5 章有关 MySQL 的下列章节中,Neil Matthew 和 Richard Stones 使用详尽的 MySQL C 接口向我们介绍了如何在 MySQL 数据库中执行 SQL 语句。他们将讨论返回数据的语句
  • 结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。 Excel表格当数据量行数不太多的时候,使用...
  • 使用 SQL 查询语言,你只能查询位于数据库里面的数据,但是当你面对的数据是一些 Excel 表格或者 Txt ...而 SQL 语言是基于数据库的查询语言,这就要求被查询的数据只能位于数据库中。但实际工作中,时常会碰到...
  • 使用SQL语言进行创建数据库 --SQL语言注释使用“--”,SQL代码不区分大小写 --创建数据库 CREATE DATABASE NetStudent ON PRIMARY --设置主数据文件 ( --设置库文件逻辑名称,SQL字符串不能用双引号,全部...
  • 虽然 SQL 是声明式语言,我们可以像使用英语一样使用它,不过 RDBMS(关系型数据库管理系统)SQL 的实现方式还是有差别的。今天我们就从数据库的角度来思考一下 SQL如何被执行的。 关于今天的内容,你会从...
  • 如何在.NET中使用MySQL数据库

    千次阅读 2012-05-21 10:08:41
    .NET一直使用Sql Server做数据库。前几天学习通过JDBC使用Java连接MySql数据库,我就想.NET是否同样可以使用MySql数据库呢?答案是肯定的,方法也很简单,这里我使用C#作为编程语言,将自己整理出来的方法同...
  • 虽然 SQL 是声明式语言,我们可以像使用英语一样使用它,不过 RDBMS(关系型数据库管理系统)SQL 的实现方式还是有差别的。今天我们就从数据库的角度来思考一下 SQL如何被执行的。 关于今天的内容,你会从...
  • C#连接使用Windows身份验证的sql server数据库 最近写一个系统,主要使用C#语言完成系统内各功能模块的编写。系统包含数据库,需要对数据库内的数据进行增删改查,这就涉及到了数据库的连接工作。 我使用的...
  • 接下来,我们将会利用上一篇中的知识来确定特定的场景中如何确定比较好的选择。  首先我们先来总结一下:  SQL数据库:  · 使用表存储相关的数据  · 在使用表之前需要先定义标的模式  · 鼓励使用规范...
  • 本教程,您将学到如何使用 SQL 访问和处理数据系统的数据,这类数据库包括:Oracle, Sybase, SQL Server, DB2, Access 等等。 数据库引入 socket编程,客户端从服务端下载一个文件,这个文件应该存在哪? ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 948
精华内容 379
关键字:

在数据库中如何使用sql语言