sqlwrite
插入MATLAB数据进入数据库表
描述
例子
将数据追加到现有表中
使用ODBC连接将MATLAB®表中的产品数据附加到Microsoft®SQL Server®数据库中的现有表中。
使用Windows®身份验证创建到Microsoft SQL Server数据库的ODBC数据库连接。请指定空白的用户名和密码。数据库中包含该表productTable
。
数据源=“MS SQL Server认证”;Conn = database(数据源,”,”);
检查数据库连接。如果消息
属性为空,则连接成功。
conn.Message
Ans = []
查看现有数据库表productTable
在添加数据之前,将其内容导入MATLAB并显示最后几行。
表名=“productTable”;Rows = sqlread(conn,tablename);尾(行,3)
ans = 3×5表productNumber stockNumber supplierNumber unitCost productDescription _____________ ___________ ______________ ________ __________________ 13 4.7082 e + 05 1012 17“煎饼”14 5.101 e + 05 1011 19“披肩”15 8.9975 e + 05 1011 20“零食”
创建一个包含一个产品数据的MATLAB表。
Data = table(30,500000,1000,25,“魔方”,…“VariableNames”, {“productNumber”“stockNumber”…“supplierNumber”“unitCost”“productDescription”});
将产品数据追加到数据库表中productTable
。
sqlwrite(康涅狄格州、表、数据)
再次将数据库表的内容导入MATLAB并显示最后几行。结果包含插入产品的新行。
Rows = sqlread(conn,tablename);尾(行,4)
ans = 4×5表productNumber stockNumber supplierNumber unitCost productDescription _____________ ___________ ______________ ________ __________________ 13 4.7082e+05 1012 17 ' pancake ' 14 5.101e+05 1011 19 '披肩' 15 8.9975e+05 1011 20 'Snacks' 30 5e+05 1000 25 'Rubik's Cube'
关闭数据库连接。
关上(康涅狄格州)
将数据插入新表
使用ODBC连接将MATLAB®中的产品数据插入到Microsoft®SQL Server®数据库中的新表中。
使用Windows®身份验证创建到Microsoft SQL Server数据库的ODBC数据库连接。请指定空白的用户名和密码。
数据源=“MS SQL Server认证”;Conn = database(数据源,”,”);
检查数据库连接。如果消息
属性为空,则连接成功。
conn.Message
Ans = []
创建一个包含两个产品数据的MATLAB表。下载188bet金宝搏
数据表=((30、40)(500000;600000),(1000;2000),[25;30],…[“魔方”;“娃娃家”],“VariableNames”, {“productNumber”…“stockNumber”“supplierNumber”“unitCost”“productDescription”});
将产品数据插入到新的数据库表中toyTable
。
表名=“toyTable”;sqlwrite(康涅狄格州、表、数据)
将数据库表的内容导入MATLAB并显示行。结果包含两行用于插入的产品。下载188bet金宝搏
Rows = sqlread(conn,tablename)
行= 2×5表productNumber stockNumber supplierNumber unitCost productDescription _____________ ___________ ______________ ________ __________________ 1000 5 e + 05年25“魔方”40 6 e + 05 2000 30“娃娃家”
关闭数据库连接。
关上(康涅狄格州)
在向新表插入数据时指定列类型
使用ODBC连接将MATLAB®中的产品数据插入到Microsoft®SQL Server®数据库中的新表中。指定新数据库表中列的数据类型。
使用Windows®身份验证创建到Microsoft SQL Server数据库的ODBC数据库连接。请指定空白的用户名和密码。
数据源=“MS SQL Server认证”;Conn = database(数据源,”,”);
检查数据库连接。如果消息
属性为空,则连接成功。
conn.Message
Ans = []
创建一个包含两个产品数据的MATLAB表。下载188bet金宝搏
数据表=((30、40)(500000;600000),(1000;2000),[25;30],…[“魔方”;“娃娃家”],“VariableNames”, {“productNumber”…“stockNumber”“supplierNumber”“unitCost”“productDescription”});
将产品数据插入到新的数据库表中toyTable
。使用“ColumnType”
名称-值对参数和字符串数组,以指定数据库表中所有列的数据类型。
表名=“toyTable”;Coltypes = [“数字”“数字”“数字”“数字”“varchar(255)”];sqlwrite(康涅狄格州、表、数据“ColumnType”coltypes)
将数据库表的内容导入MATLAB并显示行。结果包含两行用于插入的产品。下载188bet金宝搏
Rows = sqlread(conn,tablename)
行= 2×5表productNumber stockNumber supplierNumber unitCost productDescription _____________ ___________ ______________ ________ __________________ 1000 5 e + 05年25“魔方”40 6 e + 05 2000 30“娃娃家”
关闭数据库连接。
关上(康涅狄格州)
向表中插入单元格数组
使用ODBC连接将MATLAB®中的产品数据插入到Microsoft®SQL Server®数据库中的新表中。将存储为单元格数组的数据插入到新的数据库表中。
使用Windows®身份验证创建到Microsoft SQL Server数据库的ODBC数据库连接。请指定空白的用户名和密码。
数据源=“MS SQL Server认证”;Conn = database(数据源,”,”);
检查数据库连接。如果消息
属性为空,则连接成功。
conn.Message
Ans = []
创建包含两个产品数据的单元格数组。下载188bet金宝搏
C = {30,500000,1000,25,“魔方”30岁的;40、600000、2000“娃娃家”};
通过指定列名将单元格数组转换为MATLAB表。
Colnames = {“productNumber”“stockNumber”“supplierNumber”“unitCost”…“productDescription”};数据= cell2table(c,“VariableNames”, colnames);
将产品数据插入到新的数据库表中toyTable
。
表名=“toyTable”;sqlwrite(康涅狄格州、表、数据)
将数据库表的内容导入MATLAB并显示行。结果包含两行用于插入的产品。下载188bet金宝搏
Rows = sqlread(conn,tablename)
行= 2×5表productNumber stockNumber supplierNumber unitCost productDescription _____________ ___________ ______________ ________ __________________ 1000 5 e + 05年25“魔方”40 6 e + 05 2000 30“娃娃家”
关闭数据库连接。
关上(康涅狄格州)
向表中插入结构
使用ODBC连接将MATLAB®中的产品数据插入到Microsoft®SQL Server®数据库中的新表中。将作为结构存储的数据插入到新的数据库表中。
使用Windows®身份验证创建到Microsoft SQL Server数据库的ODBC数据库连接。请指定空白的用户名和密码。
数据源=“MS SQL Server认证”;Conn = database(数据源,”,”);
检查数据库连接。如果消息
属性为空,则连接成功。
conn.Message
Ans = []
创建一个包含两个产品数据的结构数组。下载188bet金宝搏
(1)。productNumber = 30;(1)。stockNumber = 500000;(1)。supplierNumber = 1000;(1)。unitCost = 25;(1)。productDescription =“魔方”;(2)。productNumber = 40;(2)。stockNumber = 600000;(2)。supplierNumber = 2000;(2)。unitCost = 30;(2)。productDescription =“娃娃家”;
将结构转换为MATLAB表。
Data = struct2table(s);
将产品数据插入到新的数据库表中toyTable
。
表名=“toyTable”;sqlwrite(康涅狄格州、表、数据)
将数据库表的内容导入MATLAB并显示行。结果包含两行用于插入的产品。下载188bet金宝搏
Rows = sqlread(conn,tablename)
行= 2×5表productNumber stockNumber supplierNumber unitCost productDescription _____________ ___________ ______________ ________ __________________ 1000 5 e + 05年25“魔方”40 6 e + 05 2000 30“娃娃家”
关闭数据库连接。
关上(康涅狄格州)
向表中插入数字数组
使用ODBC连接将来自MATLAB®的销售量数据插入到Microsoft®SQL Server®数据库中的现有表中。将作为数字数组存储的数据插入到现有数据库表中。
使用Windows®身份验证创建到Microsoft SQL Server数据库的ODBC数据库连接。请指定空白的用户名和密码。该数据库包含salesVolume
表格
数据源=“MS SQL Server认证”;Conn = database(数据源,”,”);
检查数据库连接。如果消息
属性为空,则连接成功。
conn.Message
Ans = []
创建一个数字数组,其中包含特定库存号的每月销售量数据。指定现有数据库表的列名salesVolume
。
N = [100000 10000 2000 500 3000 450 600 700 750 1450 00];Colnames = {“StockNumber”“1月”“2”“3”“4”“可能”…“6月”“7”“八月”“9”“十月”11月的12月的};
将数值数组转换为MATLAB表。
Data = array2table(n,“VariableNames”, colnames);
将销售量数据插入数据库表中salesVolume
。
表名=“salesVolume”;sqlwrite(康涅狄格州、表、数据)
将数据库表的内容导入MATLAB并显示最后三行。结果包含插入的销售量数据的新行。
Rows = sqlread(conn,tablename);尾(行,3)
ans = 3×13表StockNumber一月二月三月四月五月六月七月八月九月十月十一月十二月___________ _______ ________ __________ ________ __________ _________ _______ ________ ________ 5.101e+05 235 1800 1040 900 750 700 400 350 500 100 3000 18000 8.9975e+05 123 1700 823 689 621 545 421 495 650 4200 11000 1e+05 1000 2000 500 3000 450 600 700 750 1450 00
关闭数据库连接。
关上(康涅狄格州)
在表中插入日期号
使用ODBC连接将MATLAB®中的库存数据插入到Microsoft®SQL Server®数据库中的现有表中。将存储为日期号的日期插入到现有数据库表中。
使用Windows®身份验证创建到Microsoft SQL Server数据库的ODBC数据库连接。请指定空白的用户名和密码。数据库中包含该表inventoryTable
。
数据源=“MS SQL Server认证”;Conn = database(数据源,”,”);
检查数据库连接。如果消息
属性为空,则连接成功。
conn.Message
Ans = []
创建一个数字数组,其中包含特定产品的库存数据,包括日期号731011
。指定现有数据库表的列名inventoryTable
。
N = [25 1000 50 731011];Colnames = {“productNumber”“数量”“价格”“inventoryDate”};
将数值数组转换为MATLAB表。
Data = array2table(n,“VariableNames”, colnames);
将库存数据中的日期值转换为datetime
数组中。的sqlwrite
函数不接受日期数字作为插入的有效数据类型。
n = data.inventoryDate;数据。inventoryDate =日期时间(n,“ConvertFrom”,“datenum”);
导入数据库表的内容inventoryTable
输入MATLAB并显示最后几行。
表名=“inventoryTable”;Rows = sqlread(conn,tablename);尾(行,3)
ans = 3×4表productNumber inventoryDate数量价格 _____________ ________ _____ _________________________ 11 567年11 1278年“2012-09-11 00:30:24.000”12日22 2010-10-29 18:17:47.000 13 1700年17“2009-05-24 10:58:59.000”
将库存数据插入数据库表inventoryTable
。属性指定存储表的模式“模式”
名称-值对参数。
sqlwrite(康涅狄格州、表、数据“模式”,“dbo”)
再次将数据库表的内容导入MATLAB并显示最后几行。结果包含插入的库存数据的新行。
Rows = sqlread(conn,tablename);尾(行,4)
ans = 4×4表productNumber inventoryDate数量价格 _____________ ________ _____ _________________________ 11 567年11 1278年“2012-09-11 00:30:24.000”12日22 2010-10-29 18:17:47.000 13 1700年17 2009-05-24 10:58:59.000 25 1000 50 2001-06-09 00:00:00.000的
关闭数据库连接。
关上(康涅狄格州)
插入零
入表编号
使用ODBC连接将来自MATLAB®的销售量数据插入到Microsoft®SQL Server®数据库中的现有表中。插入零
编号到现有的数据库表中。
使用Windows®身份验证创建到Microsoft SQL Server数据库的ODBC数据库连接。请指定空白的用户名和密码。数据库中包含该表salesVolume
。
数据源=“MS SQL Server认证”;Conn = database(数据源,”,”);
检查数据库连接。如果消息
属性为空,则连接成功。
conn.Message
Ans = []
创建一个数字数组,其中包含特定库存号的月销售量数据,并包含一个零
号码。的值正
表明零
价值。指定现有数据库表的列名salesVolume
。
n = [100000 Inf 0 2000 500 3000 450 600 700 750 1450 00];Colnames = {“StockNumber”“1月”“2”“3”“4”“可能”…“6月”“7”“八月”“9”“十月”11月的12月的};
将数值数组转换为MATLAB表。
Data = array2table(n,“VariableNames”, colnames);
转换正
的值1月
变量来南
。的sqlwrite
功能不接受正
值作为插入的有效缺失数据。
数据。一月=一月;
导入数据库表的内容salesVolume
输入MATLAB并显示最后几行。
表名=“salesVolume”;Rows = sqlread(conn,tablename);尾(行,3)
ans = 3×13表StockNumber 1月2月3月4月5月6月7月8月9月10月11月12月___________ _______ ________ __________ ________ __________ _________ _______ ________ ________ 4.7082e+05 3100 9400 1540 1500 1350 1190 900 867 923 1400 3000 35000 5.101e+05 235 1800 1040 900 750 700 400 350 500 100 3000 18000 8.9975e+05 123 1700 823 701 689 621 545 421 495 650 4200 11000
将销售量数据插入数据库表中salesVolume
。
sqlwrite(康涅狄格州、表、数据)
再次将数据库表的内容导入MATLAB并显示最后几行。结果包含插入的销售量数据的新行。
Rows = sqlread(conn,tablename);尾(行,4)
ans = 4×13表StockNumber 1月2月3月4月5月6月7月8月9月10月11月12月 ___________ _______ ________ _____ _____ ____ ____ ____ ______ _________ _______ ________ ________ 4.7082 e + 05年3100 9400 1540 1500 1350 1190 900 867 923 1400 3000 35000 5.101 e + 05年235 1800 1040 900 750 700 400 350 500 100 3000 18000 8.9975 e + 05年123 1700 823 701 689 621 545 421 495 650 4200 11000 1 e + 05南0 2000 500 3000 450 600 700 750 1450 0 0
关闭数据库连接。
关上(康涅狄格州)
插入零
字符串到表
使用ODBC连接将MATLAB®中的产品数据插入到Microsoft®SQL Server®数据库中的现有表中。插入一个零
字符串添加到现有数据库表中。
使用Windows®身份验证创建到Microsoft SQL Server数据库的ODBC数据库连接。请指定空白的用户名和密码。数据库中包含该表productTable
。
数据源=“MS SQL Server认证”;Conn = database(数据源,”,”);
检查数据库连接。如果消息
属性为空,则连接成功。
conn.Message
Ans = []
创建一个MATLAB表,其中包含一个产品的数据,并包含一个零
的值productDescription
变量。
Data = table([30],[500000],[1000],[30],…[“零”],“VariableNames”, {“productNumber”…“stockNumber”“supplierNumber”“unitCost”“productDescription”});
转换零
的值productDescription
变量来”“
。的sqlwrite
功能不接受零
值作为插入的有效缺失数据。
data.productDescription (1) =”“;
导入现有数据库表的内容productTable
输入MATLAB并显示最后几行。
表名=“productTable”;Rows = sqlread(conn,tablename);尾(行,3)
ans = 3×5表productNumber stockNumber supplierNumber unitCost productDescription _____________ ___________ ______________ ________ __________________ 13 4.7082 e + 05 1012 17“煎饼”14 5.101 e + 05 1011 19“披肩”15 8.9975 e + 05 1011 20“零食”
将产品数据插入数据库表productTable
。
sqlwrite(康涅狄格州、表、数据)
再次将数据库表的内容导入MATLAB并显示最后几行。结果包含插入产品的新行。
Rows = sqlread(conn,tablename);尾(行,4)
ans = 4×5表productNumber stockNumber supplierNumber unitCost productDescription _____________ ___________ ______________ ________ __________________ 13 4.7082 e + 05 1012 17“煎饼”14 5.101 e + 05 1011 19“披肩”15 8.9975 e + 05 1011 20“零食”30 5 e + 05 1000 25”
关闭数据库连接。
关上(康涅狄格州)
向表中插入部分数据
使用ODBC连接将MATLAB®库存数据的两列插入到Microsoft®SQL Server®数据库中具有几列的现有表中。在插入数据之后,数据库表将包含前两列中的数据。其他列对插入的数据行有空白条目。
使用Windows®身份验证创建到SQL Server数据库的ODBC连接。请指定空白的用户名和密码。数据库中包含该表inventoryTable
有库存数据。
数据源=“MS SQL Server认证”;Conn = database(数据源,”“,”“);
创建一个包含产品编号和数量两列数据的表。该数据表示要插入的两个产品。下载188bet金宝搏
Data = table([14;15],[350;400],“VariableNames”, (“productNumber”“数量”]);
将库存数据插入数据库表inventoryTable
。该表包含四列:产品编号、数量、价格和库存日期。在这种情况下,每个产品插入的产品编号和数量是已知的,但价格和库存日期是未知的。
表名=“inventoryTable”;sqlwrite(康涅狄格州、表、数据)
将数据库表的内容导入MATLAB并显示最后几行。结果包含插入的库存数据的两个新行。的sqlwrite
函数为最后两列插入空白项。
Rows = sqlread(conn,tablename);尾(行,3)
ans =3×4表productNumber数量价格inventoryDate _____________ ________ _____ _______________________ 13 1700 14.5{' 2009-05-24 10:58:59} 14 350 15 400年南南{0×0字符}{0×0字符}
关闭数据库连接。
关上(康涅狄格州)
输入参数
的表
- - - - - -数据库表名
特征向量|字符串标量
数据库表名,指定为字符向量或字符串标量,表示数据库中表的名称。
例子:“员工”
数据类型:字符
|字符串
数据
- - - - - -要插入的数据
表格
要插入数据库表的数据,指定为表。
MATLAB表中有效的数据类型有:
数字数组
数值数组的单元格数组
字符向量的单元数组
字符串数组
Datetime数组
持续时间数组
逻辑阵列
逻辑阵列的单元阵列
数字数组可以包含以下数据类型:
int8
uint8
int16
uint16
int32
uint32
int64
uint64
单
双
对于日期和时间数据,支持的格式是:金宝app
日期-
“yyyy-MM-dd”
时间:
“hh: mm: ss”
时间戳,
“yyyy-MM-dd HH: mm: ss”
如果以无效格式指定日期和时间数据,则sqlwrite
函数自动将数据转换为支持的格式。金宝app
如果以无效格式指定字符向量的单元格数组或字符串数组,则sqlwrite
函数使数据库驱动程序能够检查格式。如果格式出乎意料,则数据库驱动程序抛出错误。
可以在现有数据库表或新数据库表中插入数据。中的变量的数据类型数据
根据数据库表是否存在而变化。有关有效的数据类型,请参见现有表的数据类型和新表的数据类型。
请注意
的sqlwrite
函数只支持金宝app表格
的数据类型。数据
输入参数。若要插入存储在结构、单元格数组或数字矩阵中的数据,请将数据转换为表格
通过使用struct2table
,cell2table
,array2table
函数,分别。
的sqlwrite
函数不支持数据库首选项金宝appNullNumberWrite
和NullStringWrite
。要插入丢失的数据,请参见接受的缺失数据。
例子:表((10、20),{' M '; ' F '})
现有表的数据类型
MATLAB表的变量名必须与数据库表中的列名相匹配。的sqlwrite
函数区分大小写。
在向数据库表中插入数据时,使用下表所示的数据类型确保数据具有正确的数据类型。该表将MATLAB表变量的有效数据类型与数据库列的数据类型相匹配。例如,当您将数据插入到具有布尔
数据类型,确保MATLAB表中对应的变量是逻辑数组或逻辑数组的单元数组。
MATLAB表变量的数据类型 | 现有数据库列的数据类型 |
---|---|
数值数组或数值数组的单元格数组 | 数字 |
|
日期 ,时间 ,或DATETIME |
逻辑阵列或逻辑阵列的cell阵列 | 位 或布尔 |
字符向量或字符串数组的单元格数组 |
|
新表的数据类型
为新数据库表指定的表名在数据库中的所有表中必须是唯一的。
MATLAB表中有效的数据类型有:
数字数组
字符向量的单元数组
字符串数组
Datetime数组
持续时间数组
逻辑阵列
的sqlwrite
函数忽略任何无效的变量类型,只将MATLAB中的有效变量作为列插入到新的数据库表中。
的sqlwrite
函数将变量的数据类型转换为数据库表中列的默认数据类型。下表将MATLAB表变量的有效数据类型与数据库列的默认数据类型进行匹配。
MATLAB表变量的数据类型 | 数据库列的默认数据类型 |
---|---|
数值数组或数值数组的单元格数组 | 数字 |
Datetime数组 |
时间戳 |
持续时间数组 |
时间 |
逻辑阵列 | 数字 |
字符串数组 |
请注意 该列的大小等于字符串数组中字符串的最大长度与100的和。 |
字符向量的单元数组 |
请注意 该列的大小等于单元格数组中字符向量的最大长度与100的和。 |
要指定特定于数据库的列数据类型而不是默认值,请使用“ColumnType”
名称-值对参数。例如,您可以指定“ColumnType”、“长整型数字”
创建一个长整型数字
列中的新数据库表。
同样,使用“ColumnType”
参数时,可以指定不在默认列表中的其他数据类型。例如,要插入图像,请指定“ColumnType”、“图像”
。
接受的缺失数据
在数据库中插入数据所接受的缺失数据取决于MATLAB表变量的数据类型和数据库中列的数据类型。下表将MATLAB表变量的数据类型与数据库列的数据类型进行匹配,并指定每种情况下可接受的缺失数据。
MATLAB表变量的数据类型 | 数据库列的数据类型 | 接受的缺失数据 |
---|---|---|
datetime 数组 |
日期 ,时间 ,或时间戳 |
NaT |
持续时间 数组 |
时间 |
南 |
双 或单 数组 |
|
南 |
单元阵列双 或单 数组 |
|
南 ,[] ,或” |
字符向量的单元数组 | 日期 ,时间 ,或时间戳 |
NaT的 或” |
字符向量的单元数组 | 字符 ,Varchar ,或其他文本数据类型 |
” |
字符串数组 | 日期 ,时间 ,或时间戳 |
”“ ,“NaT” ,或失踪 |
字符串数组 | 字符 ,Varchar ,或其他文本数据类型 |
失踪 |
数据类型:表格
名称-值参数
指定可选的逗号分隔对名称,值
参数。名字
是参数名和吗价值
是对应的值。名字
必须出现在引号内。可以以任意顺序指定多个名称和值对参数,如Name1, Value1,…,的家
。
sqlwrite(conn,"tablename",data, " ColumnType ", ["numeric" "timestamp" "image"])
将数据插入到名为的表
通过为新数据库表中的所有列指定数据类型。
目录
- - - - - -数据库目录名称
特征向量|字符串标量
数据库编目名称,指定为由“目录”
以及字符向量或字符串标量。目录充当数据库中模式的容器,并包含相关的元数据信息。一个数据库可以有许多目录。
例子:“目录”、“toy_store”
数据类型:字符
|字符串
模式
- - - - - -数据库模式名称
特征向量|字符串标量
数据库模式名称,指定为由“模式”
以及字符向量或字符串标量。模式定义数据库表、视图、表之间的关系和其他元素。一个数据库编目可以有多个模式。
例子:“模式”、“dbo”
数据类型:字符
|字符串
ColumnType
- - - - - -数据库列类型
特征向量|字符串标量|字符向量的单元数组|字符串数组
指定为字符向量、字符串标量、字符向量的单元格数组或字符串数组的数据库列类型。使用此名称-值对参数为数据库表中的列定义自定义数据类型。为表中的每一列指定列类型。
例子:“ColumnType”,“数字”“varchar (400)”)
数据类型:字符
|字符串
|细胞
另请参阅
MATLAB命令
您点击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
你亦可选择下列网址:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家网站没有针对您所在位置的访问进行优化。