主要内容

更新

更换数据库表中的数据MATLAB数据

描述

例子

更新(康涅狄格州,的表,colnames,数据,whereclause)MATLAB的出口®变量数据在当前格式到数据库表中的表使用数据库连接康涅狄格州。您可以使用SQL在哪里声明中指定替换现有记录在数据库中。

例子

全部折叠

连接到一个Microsoft Access®数据库和存储你的数据更新单元阵列。然后,更新数据库中的数据表的一列。关闭数据库连接。

创建数据库连接康涅狄格州Microsoft Access数据库。这段代码假设您是连接到一个数据源dbdemo一个空白的用户名和密码。

康涅狄格州=数据库(“dbdemo”,,);

这个数据库包含了表inventorytable这些列,其中包含:

  • productnumber

  • 数量

  • 价格

  • inventorydate

进口的所有数据inventorytable作为一个单元阵列使用康涅狄格州和显示的前三行数据导入。

sqlquery =“SELECT * FROM inventorytable”;结果=获取(康涅狄格州,sqlquery“DataReturnFormat”,“cellarray”);:结果(1:3)
ans = 3×4单元阵列{[1]}{[1700]}{[15]}{“2014-09-23 09:3…”}{[2]}{[1200]}{[9]}{“2014-07-08 22:5…”}{[3]}{[356]}{[17]}{“2014-05-14 07:1…'}

定义一个单元阵列包含您要更新的列的名称。

colnames = {“数量”};

定义一个包含新数据单元阵列,2000年

数据= {2000};

更新列数量inventorytable产品与productnumber等于1

表名=“inventorytable”;whereclause =“productnumber = 1”;表,更新(康涅狄格州colnames、数据whereclause)

再次导入数据,查看更新内容inventorytable

结果=获取(康涅狄格州,sqlquery“DataReturnFormat”,“cellarray”);:结果(1:3)
ans = 3×4单元阵列{[1]}{[2000]}{[15]}{“2014-09-23 09:3…”}{[2]}{[1200]}{[9]}{“2014-07-08 22:5…”}{[3]}{[356]}{[17]}{“2014-05-14 07:1…'}

inventorytable数据,产品与产品数量等于1有一个更新的数量吗2000年单位。

关闭数据库连接。

关上(康涅狄格州)

连接到一个Microsoft Access数据库和存储你的数据更新表。然后,更新多个数据库中的数据表的列。关闭数据库连接。

创建数据库连接康涅狄格州Microsoft Access数据库。这段代码假设您是连接到一个数据源dbdemo一个空白的用户名和密码。

康涅狄格州=数据库(“dbdemo”,,);

这个数据库包含了表inventorytable这些列,其中包含:

  • productnumber

  • 数量

  • 价格

  • inventorydate

进口的所有数据inventorytable通过使用康涅狄格州,显示几行导入的数据。

sqlquery =“SELECT * FROM inventorytable”;结果=获取(康涅狄格州,sqlquery);(结果)
ans = 8×4表productnumber数量价格inventorydate _________________ ________ _____ _________________________ 1 1700 20 2014-09-23 09:38:34.000的2 1200 9 2014-07-08 22:50:45.000的3 356 17 2014-05-14 07:14:28.000 4 2580 21 2013-06-08 14:24:33.000的5 9000 3 2012-09-14 15:00:25.000的6 4540 8的2013-12-25 19:45:00.000 7 6034 16 2014-08-06 08:38:00.000的8 8350 5 2011-06-18 11:45:35.000的

定义一个单元阵列包含的列的名称你更新inventorytable

colnames = {“价格”,“inventorydate”};

定义一个包含新数据表。更新的价格15美元并设置库存的时间戳“2014-12-01 08:50:15.000”

{data =表(15日“2014-12-01 08:50:15.000”},“VariableNames”,{“价格”,“inventorydate”});

更新的列价格inventorydate表中inventorytable产品数量等于1

表名=“inventorytable”;whereclause =“productnumber = 1”;表,更新(康涅狄格州colnames、数据whereclause)

再次导入数据,查看更新内容inventorytable

结果=获取(康涅狄格州,sqlquery);(结果)
ans = 8×4表productnumber数量价格inventorydate _________________ ________ _____ _________________________ 1 1700 15 2014-12-01 08:50:15.000的2 1200 9 2014-07-08 22:50:45.000的3 356 17 2014-05-14 07:14:28.000 4 2580 21 2013-06-08 14:24:33.000的5 9000 3 2012-09-14 15:00:25.000的6 4540 8的2013-12-25 19:45:00.000 7 6034 16 2014-08-06 08:38:00.000的8 8350 5 2011-06-18 11:45:35.000的

产品与产品数量等于1有一个更新15美元的价格和时间戳的“2014-12-01 08:50:15.000”

关闭数据库连接。

关上(康涅狄格州)

连接到一个Microsoft Access数据库和存储你的数据更新单元阵列。然后,更新多个使用多个表中记录的数据在哪里条款。关闭数据库连接。

创建数据库连接康涅狄格州Microsoft Access数据库。这段代码假设您是连接到一个数据源dbdemo一个空白的用户名和密码。

康涅狄格州=数据库(“dbdemo”,,);

这个数据库包含了表inventorytable这些列,其中包含:

  • productnumber

  • 数量

  • 价格

  • inventorydate

进口的所有数据inventorytable通过使用康涅狄格州,显示进口的前几行数据。

sqlquery =“SELECT * FROM inventorytable”;结果=获取(康涅狄格州,sqlquery);(结果)
ans = 8×4表productnumber数量价格inventorydate _________________ ________ _____ _________________________ 1 1700 20 2014-12-01 08:50:15.000的2 1200 9 2014-07-08 22:50:45.000的3 356 17 2014-05-14 07:14:28.000 4 2580 21 2013-06-08 14:24:33.000的5 9000 3 2012-09-14 15:00:25.000的6 4540 8的2013-12-25 19:45:00.000 7 6034 16 2014-08-06 08:38:00.000的8 8350 5 2011-06-18 11:45:35.000的

定义一个单元阵列包含您要更新的列的名称。

colnames = {“数量”};

定义一个包含新数据单元阵列。更新两个产品的数量。下载188bet金宝搏

一个= 10000;%的新量产品编号5B = 5000;%的新量产品编号8数据= {A, B};%单元阵列与新数量

更新列数量inventorytable产品与产品的数量下载188bet金宝搏等于58。创建一个单元阵列whereclause包含两个在哪里条款,每个产品一个。

表名=“inventorytable”;whereclause = {“在productnumber = 5”;“productnumber = 8”};表,更新(康涅狄格州colnames、数据whereclause)

再次导入数据,查看更新内容inventorytable

结果=获取(康涅狄格州,sqlquery);(结果)
ans = 8×4表productnumber数量价格inventorydate _________________ ________ _____ _________________________ 1 1700 20 2014-12-01 08:50:15.000的2 1200 9 2014-07-08 22:50:45.000的3 356 17 2014-05-14 07:14:28.000 4 2580 21 2013-06-08 14:24:33.000的5 10000 3 2012-09-14 15:00:25.000的6 4540 8的2013-12-25 19:45:00.000 7 6034 16 2014-08-06 08:38:00.000的8 5000 5 2011-06-18 11:45:35.000的

产品与产品数量等于5有一个更新的数量吗10000年单位。产品与产品数量等于8有一个更新的数量吗5000年单位。

关闭数据库连接。

关上(康涅狄格州)

连接到一个Microsoft Access数据库和存储你的数据更新单元阵列。然后,更新多个列的数据通过使用多个表中在哪里条款。关闭数据库连接。

创建数据库连接康涅狄格州Microsoft Access数据库。这段代码假设您是连接到一个数据源dbdemo一个空白的用户名和密码。

康涅狄格州=数据库(“dbdemo”,,);

这个数据库包含了表inventorytable这些列,其中包含:

  • productnumber

  • 数量

  • 价格

  • inventorydate

进口的所有数据inventorytable通过使用康涅狄格州,显示进口的前几行数据。

sqlquery =“SELECT * FROM inventorytable”;结果=获取(康涅狄格州,sqlquery);(结果)
ans = 8×4表productnumber数量价格inventorydate _________________ ________ _____ _________________________ 1 1700 20 2014-12-01 08:50:15.000的2 1200 9 2014-07-08 22:50:45.000的3 356 17 2014-05-14 07:14:28.000 4 2580 21 2013-06-08 14:24:33.000的5 9000 3 2012-09-14 15:00:25.000的6 4540 8的2013-12-25 19:45:00.000 7 6034 16 2014-08-06 08:38:00.000的8 8350 5 2011-06-18 11:45:35.000的

定义一个单元阵列包含您要更新的列的名称。

colnames = {“数量”,“价格”};

定义一个包含新数据单元阵列。更新两个产品的数量和价格。下载188bet金宝搏

%的新产品数量和价格数字5和8%在单元阵列由分号隔开data = {10000、5.5; 9000、10};

更新的列数量价格inventorytable产品与产品的数量下载188bet金宝搏等于58。创建一个单元阵列whereclause包含两个在哪里条款,每个产品一个。

表名=“inventorytable”;whereclause = {“在productnumber = 5”;“productnumber = 8”};表,更新(康涅狄格州colnames、数据whereclause)

再次导入数据,查看更新内容inventorytable

结果=获取(康涅狄格州,sqlquery);(结果)
ans = 8×4表productnumber数量价格inventorydate _________________ ________ _____ _________________________ 1 1700 20 2014-12-01 08:50:15.000的2 1200 9 2014-07-08 22:50:45.000的3 356 17 2014-05-14 07:14:28.000 4 2580 21 2013-06-08 14:24:33.000的5 10000 6 2012-09-14 15:00:25.000的6 4540 8 2013-12-25 19:45:00.000 7 6034 16 2014-08-06 08:38:00.000 8 9000年10“2011-06-18 11:45:35.000”

产品与产品数量等于5有一个更新的数量吗10000年单位和价格等于6,四舍五入为最接近的数字。产品与产品数量等于8有一个更新的数量吗9000年单位和价格等于10

关闭数据库连接。

关上(康涅狄格州)

输入参数

全部折叠

数据库连接,指定为ODBC连接对象或JDBC连接对象创建使用数据库函数。

数据库表名称,指定为字符串标量或字符向量表示数据库中的一个表的名称。

例子:“员工”

数据类型:字符串|字符

数据库表列名称,指定为一个单元阵列的一个或多个特征向量或一个字符串数组来表示现有的数据库表中的列的表

例子:{‘col1’,‘col2’,‘col3}

数据类型:细胞|字符串

更新数据,指定单元阵列,数字矩阵,表,结构或数据集的数组。

如果你是使用JDBC驱动程序连接到一个数据库,更新数据转换为一个支持格式之前运行金宝app更新。如果数据MATLAB包含日期、时间或时间戳,使用这种格式:

  • 日期必须特征向量的形式yyyy-mm-dd

  • *必须特征向量的形式HH: MM: SS

  • 时间戳必须特征向量的形式yyyy-mm-dd HH: MM: SS.FFF

数据库的首选项设置NullNumberWriteNullStringWrite不适用于这个函数。如果数据包含条目和年代,这些条目转换为空值

  • 如果数据是一个结构,然后在结构字段名称必须匹配colnames

  • 如果数据是一个表或一个数据数组,那么数据集表或数组的变量名称必须匹配colnames

SQL在哪里条款,规定作为一个条件的特征向量或字符串标量特征向量的单元阵列或多个条件的字符串数组。

例子:“producttable的地方。productnumber = 1”

数据类型:字符|细胞|字符串

提示

  • 的值自动提交财产的连接对象决定更新自动提交数据到数据库中。

    • 查看自动提交值,使用访问它连接对象;例如,conn.AutoCommit

    • 设置自动提交值,使用相应的名称-值对的论点数据库函数。

    • 提交数据到数据库,使用提交一个SQL函数或问题提交声明使用执行函数。

    • 回滚数据,使用回滚一个SQL或问题回滚声明使用执行函数。

  • 您可以使用datainsert添加新行,而不是取代现有的数据。

  • 更新多个记录,SQL的数量在哪里条款whereclause必须匹配记录的数量数据

  • 如果数据库中记录的顺序不是常数,那么您可以使用列名的值来识别记录。

  • 如果这个错误消息出现在您的数据库表以编辑模式打开:

    (供应商)(产品ODBC驱动程序)数据库引擎无法锁表“表”,因为它已经在使用由另一个人或过程。

    然后,关闭表并重新运行更新函数。

  • 再次运行相同的更新操作会导致出现这个错误消息。

    ? ? ?错误使用= = >数据库。更新Error:Commit/Rollback Problems

版本历史

之前介绍过的R2006a