主要内容

执行

使用关系数据库连接执行SQL语句

描述

例子

执行(康涅狄格州sqlquery执行包含非的SQL查询选择SQL语句通过使用关系数据库连接。

例子

执行(康涅狄格州pstmt执行包含非-的SQL准备语句选择SQL语句通过使用关系数据库连接。

例子

全部折叠

使用关系数据库连接,创建并执行非选择删除数据库表的SQL语句。

本例使用Microsoft®SQL Server®Version 11.00.2100数据库和Microsoft SQL Server Driver 11.00.5058。

使用Windows®身份验证创建到Microsoft SQL Server数据库的数据库连接。请指定空用户名和密码。

数据源=“MS SQL Server认证”;Conn =数据库(数据源,'''');

将患者信息加载到MATLAB®工作区中。

患者=可读(“patients.xls”);

创建病人数据库表采用患者信息。

表名=“病人”;sqlwrite(康涅狄格州、表、病人)

中导入数据病人数据库表中。

Data = sqlread(conn,tablename);

删除病人数据库表使用执行函数。

Sqlquery = [“drop table”表名);execute(康涅狄格州,sqlquery)

关闭数据库连接。

关上(康涅狄格州)

与一个微软®SQL Server®数据库,通过使用本机ODBC数据库连接运行存储过程康涅狄格州

定义名为create_table创建一个名为test_table通过执行以下代码。此过程没有输入或输出参数。代码假设您正在使用Microsoft SQL Server数据库。

创建过程create_table作为开始——设置nocount添加防止额外的结果——干扰选择语句。NOCOUNT;创建表格test_table(CATEGORY_ID添加整数身份主要的关键, CATEGORY_DESCCHAR (50));最后去

连接到Microsoft SQL Server数据库。这段代码假设您连接到一个名为MS SQL Server用户名和密码。

Conn =数据库(MS SQL Server“用户名”“pwd”);

调用存储过程create_table

执行(康涅狄格州,“create_table”

创建一个SQL准备语句,使用JDBC数据库连接将数据从MATLAB®插入到Microsoft®SQL Server®数据库。使用插入SQL语句。执行SQL准备语句并显示结果。

使用Windows®身份验证创建到SQL Server数据库的JDBC数据库连接。请指定空用户名和密码。

数据源=“MSSQLServerJDBCAuth”;Conn =数据库(数据源,'''');

方法从数据库导入数据sqlread函数。显示数据库表中的最后几行数据inventoryTable

表名=“inventoryTable”;Data = sqlread(conn,tablename);尾(数据,3)
ans =3×4表productNumber数量价格inventoryDate  _____________ ________ _____ _______________________ 11 567{2012-09-11 00:30:24”}1278 0 {' 2010-10-29 18:17:47}13 1700 14.5 {' 2009-05-24 10:58:59 '}

为使用JDBC数据库连接插入数据创建SQL准备语句。的问号插入SQL语句表示它是SQL准备语句。该语句将MATLAB中的数据插入到数据库表中inventoryTable

查询="INSERT INTO inventoryTable VALUES(?,?,?,?)";pstmt = databasePreparedStatement(conn,query)
SQLQuery: "INSERT INTO inventoryTable values(?,?,?,?)"ParameterCount: 4参数类型:["numeric" "numeric" "numeric" "string"]参数值:{[][][][][]}

pstmt是一个SQLPreparedStatement具有这些属性的对象:

  • SQLQuery- SQL准备语句查询

  • ParameterCount-参数计数

  • ParameterTypes—参数类型

  • ParameterValues—参数值

在SQL准备语句中绑定参数值。使用数值索引选择SQL预备语句中的所有参数。为产品编号、数量、价格和库存日期指定要绑定的值。匹配数据库中的日期格式。的bindParamValues方法中的值ParameterValues的属性pstmt对象。

选择= [1 2 3 4];值= {20,1000,55,“2019-04-25 00:00:00.000”};pstmt = bindParamValues(pstmt,selection,values)
SQLQuery: "INSERT INTO inventoryTable values(?,?,?,?)"ParameterCount: 4参数类型:["numeric" "numeric" "numeric" "string"]参数值:{[20][1000][55]["2019-04-25 00:00:00.000"]}

使用绑定的参数值将MATLAB中的数据插入数据库。执行SQL插入语句,使用执行函数。

execute(康涅狄格州,pstmt)

在数据库表中显示插入的数据inventoryTable.表中的最后一行包含插入的数据。

表名=“inventoryTable”;Data = sqlread(conn,tablename);尾(数据,4)
ans =4×4表productNumber数量价格inventoryDate  _____________ ________ _____ ___________________________ 11 567{2012-09-11 00:30:24”}1278 0 {' 2010-10-29 18:17:47}13 1700 14.5 {' 2009-05-24 10:58:59}1000 55 {' 2019-04-25 00:00:00.000 '}

关闭SQL准备语句和数据库连接。

关闭(pstmt)关闭(康涅狄格州)

输入参数

全部折叠

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

SQL语句,指定为字符向量或字符串标量。SQL语句可以是任何有效的非选择SQL语句。

SQL语句可以是不返回任何结果集的存储过程。对于返回一个或多个结果集的存储过程,请使用获取函数。对于返回输出参数的过程,使用runstoredprocedure函数。

有关SQL查询语言的信息,请参见SQL教程

例子:“DROP TABLE患者”

数据类型:字符|字符串

SQL准备语句,指定为SQLPreparedStatement对象。

版本历史

在R2018b中引入