如何:更新数据库中的记录

如何:更新数据库中的记录,第1张

可以使用 TableAdapterUpdate 方法更新(编辑)数据库中的记录。 TableAdapterUpdate 方法根据传入的参数提供了若干次执行不同 *** 作的重载。 了解调用这些不同方法签名的结果非常重要。 说明 如果您的应用程序不使用 TableAdapter,您就可以使用命令对象更新数据库的记录(例如, ExecuteNonQuery)。 有关使用命令对象更新数据的更多信息,请参见下面的“使用命令对象更新记录”。 下表描述了各种 TableAdapterUpdate 方法的行为: 方法 说明TableAdapterUpdate(DataTable) 尝试将 DataTable 中的所有更改保存到数据库中。 (这包括从表中移除所有删除的行、将插入的行添加到表中、更新表中已更改的所有行。) TableAdapterUpdate(DataSet) 虽然该参数带有一个数据集,但 TableAdapter 仍尝试将 TableAdapter 的关联 DataTable 中的所有更改保存到数据库中。 (这包括从表中移除所有删除的行、将插入的行添加到表中、更新表中已更改的所有行。) 说明 TableAdapter 的关联 DataTable 是最初配置 TableAdapter 时创建的 DataTable。 TableAdapterUpdate(DataRow) 尝试将指示 DataRow 中的更改保存到数据库中。 TableAdapterUpdate(DataRows()) 尝试将 DataRow 数组中任意行中的更改保存到数据库中。 TableAdapterUpdate("new column values", "original column values") 尝试保存由原始列值标识的单行中的更改。 通常,当应用程序使用数据集以独占方式存储数据时,您使用的是带有 DataSet、 DataTable 或 DataRow 的TableAdapterUpdate 方法。 通常,当应用程序使用对象存储数据时,您使用的是带有列值的 TableAdapterUpdate 方法。 如果TableAdapter 没有带列值的 Update 方法,就表示已将 TableAdapter 配置为使用存储过程,或者已将它的 GenerateDBDirectMethods 属性设置为 false。 尝试从 “数据集设计器”内将TableAdapter 的 GenerateDBDirectMethods 属性设置为 true,然后保存该数据集以重新生成 TableAdapter。 如果TableAdapter 仍没有带列值的 Update 方法,该表就可能没有提供足够多的架构信息以区分各行(例如,未在表中设置任何主键)。 使用TableAdapter 更新现有记录 根据应用程序的需要,TableAdapter 提供了更新数据库中记录的不同方法。 如果应用程序使用数据集存储数据,则可以在所需的 DataTable 中简单地更新记录,然后调用 TableAdapterUpdate 方法并传入 DataSet、 DataTable、 DataRow 或 DataRow 数组。 上表描述了不同的 Update 方法。 用带有 DataSet、DataTable、DataRow 或 DataRows() 的 TableAdapterUpdate 方法更新数据库中的记录 通过直接编辑 DataTable 中的 DataRow,编辑所需的 DataTable 中的记录。 有关更多信息,请参见 如何:编辑数据表中的行。 在 DataTable 中对行进行编辑后,请调用 TableAdapterUpdate 方法。 通过传入完整的 DataSet、 DataTable、 DataRow 数组或单个 DataRow,您可以控制要更新的数据量。 下面的代码显示如何编辑 DataTable 中的记录,然后调用 TableAdapterUpdate 方法将更改保存到数据库中。 (此示例使用 Northwind 数据库 Region 表。) ' Locate the row you want to update Dim regionRow As NorthwindDataSetRegionRow regionRow = NorthwindDataSet_RegionFindByRegionID(1) ' Assign the new value to the desired column regionRowRegionDescription = "East" ' Save the updated row to the database MeRegionTableAdapterUpdate(MeNorthwindDataSet_Region) // Locate the row you want to update NorthwindDataSetRegionRow regionRow; regionRow = northwindDataSetRegionFindByRegionID(1); // Assign the new value to the desired column regionRowRegionDescription = "East"; // Save the updated row to the database thisregionTableAdapterUpdate(thisnorthwindDataSetRegion); 如果应用程序使用对象存储应用程序中的数据,您就可以使用 TableAdapter 的 DBDirect 方法将数据从对象中直接发送到数据库。 这些方法可让您将各列的单个值传递为方法参数。 调用此方法用传入该方法的列值更新数据库中的现有记录。 以下过程使用 Northwind Region 表作为示例。 使用带有列值的 TableAdapterUpdate 方法更新数据库中的记录 调用TableAdapter 的 Update 方法,以参数的形式为每一列传入新值和原始值。 说明 如果没有实例可用,请实例化您要使用的 TableAdapter。 Dim regionTableAdapter As New NorthwindDataSetTableAdaptersRegionTableAdapter regionTableAdapterUpdate(1, "East", 1, "Eastern") NorthwindDataSetTableAdaptersRegionTableAdapter regionTableAdapter = new NorthwindDataSetTableAdaptersRegionTableAdapter(); regionTableAdapterUpdate(1, "East", 1, "Eastern"); 使用命令对象更新记录 下面的示例使用命令对象直接更新数据库中的现有记录。 有关使用命令对象执行命令和存储过程的更多信息,请参见 将数据获取到应用程序。 以下过程使用 Northwind Region 表作为示例。 使用命令对象更新数据库中的现有记录 创建新的命令对象;设置它的 Connection、CommandType 和CommandText 属性;然后打开一个连接,并执行该命令。 Dim sqlConnection1 As New SystemDataSqlClientSqlConnection("YOUR CONNECTION STRING") Dim cmd As New SystemDataSqlClientSqlCommand cmdCommandType = SystemDataCommandTypeText cmdCommandText = "UPDATE Region SET [RegionDescription] = @RegionDescription WHERE [RegionID] = @RegionID" cmdParametersAddWithValue("@RegionDescription", "East") cmdParametersAddWithValue("@RegionID", "1") cmdConnection = sqlConnection1 sqlConnection1Open() cmdExecuteNonQuery() sqlConnection1Close() SystemDataSqlClientSqlConnection sqlConnection1 = new SystemDataSqlClientSqlConnection("YOUR CONNECTION STRING"); SystemDataSqlClientSqlCommand cmd = new SystemDataSqlClientSqlCommand(); cmdCommandType = SystemDataCommandTypeText; cmdCommandText = "UPDATE Region SET [RegionDescription] = @RegionDescription WHERE [RegionID] = @RegionID"; cmdParametersAddWithValue("@RegionDescription", "East"); cmdParametersAddWithValue("@RegionID", "1"); cmdConnection = sqlConnection1; sqlConnection1Open(); cmdExecuteNonQuery(); sqlConnection1Close(); 安全性 您必须具有访问正尝试连接到的数据库的权限,以及更新所需表中记录的权限。 请参见任务 如何:删除数据库中的记录 如何:将新记录插入数据库 如何:将数据从对象保存到数据库概念 TableAdapter 概述 准备应用程序以接收数据 将数据获取到应用程序 在Visual Studio 中将控件绑定到数据 在应用程序中编辑数据 验证数据 保存数据其他资源 Visual Studio 的数据应用程序概述 连接到 Visual Studio 中的数据

1、显示当前存在的数据库 mysql> show databases;

2、选择数据库 mysql> USE mysql Database changed (USE 和 QUIT 命令不需要分号结束。),显示当前选择的数据库 mysql> select database();

3、显示当前数据库中存在的表 mysql> SHOW TABLES;

4、显示表(db)的内容 mysql>select from db;

5、命令的取消 当命令输入错误而又无法改变(多行语句情形)时,只要在分号出现前就可以用 c来取消该条命令 mysql> select -> user() -> c

6、创建一个数据库abccs mysql> CREATE DATABASE abccs;

7、选择你所创建的数据库 mysql> USE abccs Database changed;

8、创建一个数据库表 首先看现在你的数据库中存在什么表: mysql> SHOW TABLES; Empty set (000 sec) 说明刚才建立的数据库中还没有数据库表。下面来创建一个数据库表mytable: 我们要建立一个你公司员工的生日表,表的内容包含员工姓名、性别、出生日期、出生城市。 mysql> CREATE TABLE mytable (name VARCHAR(20), sex CHAR(1), birth DATE, birthaddr VARCHAR(20));

9、显示表的结构: mysql> DESCRIBE mytable;

10、 往表中加入记录 我们先用SELECT命令来查看表中的数据: mysql> select from mytable; Empty set (000 sec) 这说明刚才创建的表还没有记录。 加入一条新记录: mysql> insert into mytable values ('abccs','f','1977-07-07','china');

11、用文本方式将数据装入一个数据库表 如果一条一条地输入,很麻烦。我们可以用文本文件的方式将所有记录加入你的数据库表中。 创建一个文本文件“mysqltxt”,每行包含一个记录,用定位符(tab)把值分开,并且以在 CREATE TABLE语句中列出的列次序给出,例如: abccs f 1977-07-07 china mary f 1978-12-12 usa tom m 1970-09-02 usa 使用下面命令将文本文件“mytabletxt”装载到mytable表中: mysql> LOAD DATA LOCAL INFILE "mytabletxt" INTO TABLE pet; 再使用如下命令看看是否已将数据输入到数据库表中: mysql> select from mytable;

12、从数据库表中检索信息 select语句格式一般为: SELECT 检索关键词 FROM 被检索的表 WHERE 检索条件

13、查询所有数据: mysql> select from mytable;

14、修正错误记录: 假如tom的出生日期有错误,应该是1973-09-02,则可以用update语句来修正: mysql> update mytable set birth = "1973-09-02" where name = "tom";

15、 选择特定列 假如你想查看表中的所有人的姓名,则可以这样 *** 作: mysql> SELECT name FROM mytable; 如果想列出姓名和性别两列,则可以用逗号将关键词name和birth分开: myaql> select name,birth from mytable;

16、对行进行排序 我们可以对表中的记录按生日大小进行排序: mysql> SELECT name, birth FROM mytable ORDER BY birth; 我们可以用DESC来进行逆序排序: mysql> SELECT name, birth FROM mytable ORDER BY birth DESC;

17、 行计数 数据库经常要统计一些数据,如表中员工的数目,我们就要用到行计数函数COUNT()。 COUNT()函数用于对非NULL结果的记录进行计数: mysql> SELECT COUNT() FROM mytable; 员工中男女数量: mysql> SELECT sex, COUNT() FROM mytable GROUP BY sex;

18、多表查询 现在我们有了两个表: mytable 和 title。利用这两个表我们可以进行组合查询: 例如我们要查询作者abccs的姓名、性别、文章: mysql> SELECT name,sex,title FROM mytable,title WHERE name=writer AND name='abccs'; 用于查询文章a2的作者、出生地和出生日期: mysql> select title,writer,birthaddr,birth from mytable,title -> where mytablename=titlewriter and title='a2';

19、增加一列: 如在前面例子中的mytable表中增加一列表示是否单身single: mysql> alter table mytable add column single char(1);

20、修改记录 将abccs的single记录修改为“y”: mysql> update mytable set single='y' where name='abccs';

21、增加记录 前面已经讲过如何增加一条记录,为便于查看,重复与此: mysql> insert into mytable values ('abc','f','1966-08-17','china','n');

22、删除记录 用如下命令删除表中的一条记录: mysql> delete from mytable where name='abc'; DELETE从表中删除满足由where给出的条件的一条记录。

23、删除表: mysql> drop table (表1的名字),表2的名字; 可以删除一个或多个表,小心使用。

24、数据库的删除: mysql> drop database

假设你要更新 ID =1,如果用MYSQL是可以实现的(目前只有MYSQL支持这样的语法)。参考下面的语法。

UPDATE employee t1,info t2

SET t1name='abc', t1password='123', t2tell='123456', t2address='zxy'

WHERE t1ID=t2ID and t1ID = 1;

但是按照SQL标准,在其它数据库里SQL 语句不支持 用UPDATE来同时更新两张表。你这么做可移植性不好。而且和拆成两条来比较也没优势的地方。

用其它数据库你必须拆成两条UPDATE,假设你要更新 ID =1的 一个人的两部分信息那么可以参考下面的方法。

UPDATE employee SET name='abc', password='123', WHERE ID = 1

UPDATE info SET tell='123456', address='zxy' WHERE ID = (select ID from employee where ID=1);

mysql 数据库,更新字段语句:

一、UPDATE:

UPDATE的功能是更新表中的数据。这的语法和INSERT的第二种用法相似。必须提供表名以及SET表达式,在后面可以加WHERE以限制更新的记录范围。

UPDATE table_anem SET column_name1 = value1, column_name2 = value2,

WHERE 。

如下面的语句将users表中id等于123的记录的age改为24。

UPDATE users SET age = 24 WHERE id = 123。

按如下语句就行了:

update [表名] set [字段名] = [值];

如果是根据一个表更新此表,套用如下方式:

update [表名] set [字段名] = (select [字段名] from [其他表] where [两表间的关联条件])。

一、简单介绍

1SQL语言,是结构化查询语言(Structured Query Language)的简称。SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

2SQL语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的结构化查询语言作为数据输入与管理的接口。SQL语言语句可以嵌套,这使他具有极大的灵活性和强大的功能。

二、应用信息

结构化查询语言SQL(STRUCTURED QUERY LANGUAGE)是最重要的关系数据库 *** 作语言,并且它的影响已经超出数据库领域,得到其他领域的重视和采用,如人工智能领域的数据检索,第四代软件开发工具中嵌入SQL的语言等。

三、支持标准

SQL 是1986年10 月由美国国家标准局(ANSI)通过的数据库语言美国标准,接着,国际标准化组织(ISO)颁布了SQL正式国际标准。1989年4月,ISO提出了具有完整性特征的SQL89标准,1992年11月又公布了SQL92标准,在此标准中,把数据库分为三个级别:基本集、标准集和完全集。

四、其他版本

1各种不同的数据库对SQL语言的支持与标准存在着细微的不同,这是因为,有的产品的开发先于标准的公布,另外,各产品开发商为了达到特殊的性能或新的特性,需要对标准进行扩展。已有100多种遍布在从微机到大型机上的数据库产品SQL,其中包括DB2、SQL/DS、ORACLE、INGRES、SYBASE、SQLSERVER、DBASEⅣ、PARADOX、MICROSOFTACCESS等。

2SQL语言基本上独立于数据库本身、使用的机器、网络、 *** 作系统,基于SQL的DBMS产品可以运行在从个人机、工作站到基于局域网、小型机和大型机的各种计算机系统上,具有良好的可移植性。可以看出标准化的工作是很有意义的。早在1987年就有些有识之士预测SQL的标准化是“一场革命”,是“关系数据库管理系统的转折点”。数据库和各种产品都使用SQL作为共同的数据存取语言和标准的接口,使不同数据库系统之间的互 *** 作有了共同的基础,进而实现异构机、各种 *** 作环境的共享与移植

31974年,在IBM公司圣约瑟研究实验室研制的大型关系数据库管理系统SYSTEM R 中,使用SEQUEL语言(由BOYCE 和CHAMBERLIN 提出),后来在SEQUEL 的基础上发展了SQL 语言。 SQL语言是一种交互式查询语言,允许用户直接查询存储数据,但它不是完整的程序语言,如它没有DO或FOR 类似的循环语句,但它可以嵌入到另一种语言中,也可以借用VB、C、JAVA等语言,通过调用级接口(CALL LEVEL INTERFACE)直接发送到数据库管理系统。SQL基本上是域关系演算,但可以实现关系代数 *** 作。

五、语言特点

1一体化

SQL集数据定义DDL、数据 *** 纵DML和数据控制DCL于一体,可以完成数据库中的全部工作。

2使用方式灵活

它具有两种使用方式,即可以直接以命令方式交互使用;也可以嵌入使用,嵌入到C、C++、FORTRAN、COBOL、JAVA等主语言中使用。

3非过程化

只提 *** 作要求,不必描述 *** 作步骤,也不需要导航。使用时只需要告诉计算机“做什么”,而不需要告诉它“怎么做”。

4语言简洁,语法简单,好学好用

在ANSI标准中,只包含了94个英文单词,核心功能只用6个动词,语法接近英语口语。

可以使用 TableAdapterUpdate 方法更新(编辑)数据库中的记录。 TableAdapterUpdate 方法根据传入的参数提供了若干次执行不同 *** 作的重载。 了解调用这些不同方法签名的结果非常重要。 说明 如果您的应用程序不使用 TableAdapter,您就可以使用命令对象更新数据库中的记录(例如, ExecuteNonQuery)。 有关使用命令对象更新数据的更多信息,请参见下面的“使用命令对象更新记录”。 下表描述了各种 TableAdapterUpdate 方法的行为: 方法 说明TableAdapterUpdate(DataTable) 尝试将 DataTable 中的所有更改保存到数据库中。 (这包括从表中移除所有删除的行、将插入的行添加到表中、更新表中已更改的所有行。) TableAdapterUpdate(DataSet) 虽然该参数带有一个数据集,但 TableAdapter 仍尝试将 TableAdapter 的关联 DataTable 中的所有更改保存到数据库中。 (这包括从表中移除所有删除的行、将插入的行添加到表中、更新表中已更改的所有行。) 说明 TableAdapter 的关联 DataTable 是最初配置 TableAdapter 时创建的 DataTable。 TableAdapterUpdate(DataRow) 尝试将指示 DataRow 中的更改保存到数据库中。 TableAdapterUpdate(DataRows()) 尝试将 DataRow 数组中任意行中的更改保存到数据库中。 TableAdapterUpdate("new column values", "original column values") 尝试保存由原始列值标识的单行中的更改。 通常,当应用程序使用数据集以独占方式存储数据时,您使用的是带有 DataSet、 DataTable 或 DataRow 的TableAdapterUpdate 方法。 通常,当应用程序使用对象存储数据

以上就是关于如何:更新数据库中的记录全部的内容,包括:如何:更新数据库中的记录、数据库的命令都有哪些、MySQL更新2个表里面数据的命令(向大神们请教)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10190106.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存