导航:首页 > 程序命令 > 数据库更新命令

数据库更新命令

发布时间:2023-06-04 02:28:11

1. 第八十二章 SQL命令 UPDATE(一)

为指定表中的指定列设置新值。

UPDATE 命令更改表中列的现有值。
可以直接更新表中的数据,也可以通过视图进行更新,或者使用括在括号中的子查询进行更新。
通过视图进行更新受制于需求和限制,如 CREATE view 中所述。

UPDATE 命令为包含这些列的一个或多个现有基表行提供一个或多个新列值。
将数据值赋给列是使用值赋值语句完成的。
默认情况下,值赋值语句更新表中的所有行。

更常见的是, UPDATE 根据条件表达式指定对特定的行(或行)进行更新。
默认情况下, UPDATE 操作遍历表中的所有行,并更新满足条件表达式的所有行。
如果没有行满足条件表达式, UPDATE 将成功完成并设置 SQLCODE=100 (不再有数据)。

可以指定 WHERE 子句或 WHERE CURRENT OF 子句(但不能同时指定两者)。
如果使用了 WHERE CURRENT OF 子句, UPDATE 将更新游标当前位置的记录。
定位操作请参见 WHERE CURRENT OF 。

UPDATE 操作将 %ROWCOUNT 局部变量设置为更新的行数,将 %ROWID 局部变量设置为更新的最后一行的 ROWID 值。

默认情况下, UPDATE 操作是一个全有或全无事件。
要么更新所有指定的行和列,要么不更新。

INSERT OR UPDATE 语句是 INSERT 语句的变体,执行插入和更新操作。
首先,它尝试执行一个插入操作。
如果插入请求失败由于违反唯一键(字段( s )的一些独特的关键,存在这一行已经有相同的值( s )为插入指定的行),然后它会自动变成一个更新请求这一行,并插入或更新使用指定的字段值来更新现有的行。

默认情况下,多行UPDATE是一个原子操作。
如果不能更新一行或多行,则 UPDATE 操作失败,不会更新任何行。
IRIS设置 SQLCODE 变量,该变量指示 UPDATE 的成功或失败,如果操作失败,还设置 %msg 。
要更新表,更新必须满足所有表、列名和值要求,如下所示。

表:

列名和值:

唯一的例外是将 SERIAL (%Library.Counter) 字段添加到具有现有数据的表时。
对于这个添加的计数器字段,现有的记录将具有NULL值。
在这种情况下,可以使用 UPDATE 将 NULL 更改为整数值。

可以通过多种方式为指定的列分配新值。

当将标量表达式值赋给列列表时,每个指定的列必须有一个标量表达式。

在为隐式列列表赋值时,必须按照 DDL 中定义的列的顺序为每个可更新字段提供一个值。
(没有指定不可更新的 RowID 列。)
这些值可以是指定新值的文字,也可以是指定现有值的字段名。
不能指定占位符逗号或省略尾随字段。

只能使用主机变量在嵌入式 SQL 中执行此值赋值。
与所有其他值赋值不同,这种用法允您延迟指定哪些列要更新到运行时(通过在运行时填充数组)。
所有其他类型的更新都要求必须在编译时指定要更新的列。
此语法不能用于链接表;
尝试这样做会导致 SQLCODE=-155 错误。

2. SQL修改表数据的命令是什么

SQL语言中修改表中数据的命令是update。

Update 语句用于修改表中原有的数据。单独使用,使用where匹配字段,set后面,更新字段值,既可以一次一项,中樱也可以一次多项。语法:UPDATE 表名称 SET 列名称1 = 新值,...,列名称2 = 新值 WHERE 列名称3 = 某值。

(2)数据库更新命令扩展阅读:樱塌

Update 语句扩展应用:

更新某一行中卖颂丛的一个列的例子:将表中LastName是 "Wilson" 的元组的FirstName改为“Fred”:UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson' 。

更新某一行中的若干列的例子:将表中LastName是 "Wilson" 的元组的Addres改为“Zhongshan 23”City改为“Nanjing”:UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing' WHERE LastName = 'Wilson'。

3. 数据库增删改查的基本命令

以下是总结的mysql的常用语句,欢迎指正和补充~
一、创建库,删除库,使用库
1.创建数据库:create database 库名;

2.删除数据库:drop database 库名;

3.使用数据库:use 库名;

二、创建数据表
1.创建表语句:create table 表名(字段名1 字段类型 字段约束,字段2 字段类型 字段约束...);

2.创建与现有表一样字段的新表:create table 表名 like 已有表名;

3.将查询结果创建新表:create table 表名 select * from 现有表 where...(查询语句);

三、查看表结构,查看建表语句,删除表
1.查看表结构:desc 表名;

2.查看建表语句:show create table 表名;

3.删除表:drop table 表名;

四、修改表结构
1.对数据表重命名:alter table 表名 rename 新表名;

2.增加字段:alter table 表名 add 字段名 字段类型 字段约束; (PS:可用first/after函数调整字段位置)

3.删除字段:alter table 表名 drop 字段名;

4.修改字段类型及约束:alter table 表名 modify 字段名 新类型 新约束;(PS:如不加新约束,会将建表时的约束清空,主键、外键、唯一约束除外)

5.修改字段名称:alter table 表名 change 字段名 新字段名 新字段类型 新约束条件;

6.修改数据库引擎:alter table 表名 engine=;(PS:主要有InnoDB和MyISAM,InnoDB对经常修改表数据友好,MyISAM对经常查询表友好)

7.增加主键:alter table 表名 add primary key(字段名);

8.删除主键:alter table 表名 drop primary key;

9.增加外键:alter table 表名 add constraint 外键名 foreign kek(字段名) references 主表(主键);

10.删除外键:alter table 表名 drop foreign key 外键名;

11.删除唯一约束:alter table 表名 drop index 字段名;

12.设置自动增长的初始位置:alter table 表名 auto_increment=n;

五、向表中插入数据
1.向表指定字段插入多条数据:insert into 表名(字段1,字段2...) values(数据1,数据2...),(数据1,数据2...),(数据1,数据2...),(数据1,数据2...);

2.将查询结果插入表:insert into 表名 select 字段名 from 表名(查询语句);

3.加载外部数据到表:Load data local infile ‘数据路径’Into table 表名 Fields terminated by ‘分隔符’Ignored 1 lines;

六、更新表数据、删除表数据
1.更改满足条件的字段数据:update 表名 set 字段计算1,字段计算2... where 条件;

2.删除满足条件的数据:delele from 表名 where 条件;

3.删除所有数据:方式一:delete from 表名; 方式二:truncate table 表名; 方式一会逐条进行删除,速度较慢,方式二直接删除,速度快;另外对自增字段,方式一不能重置自增字段的初始位置,方式二可以重置自增字段的其实位置;

阅读全文

与数据库更新命令相关的资料

热点内容
想创app软件怎么操作 浏览:199
为啥电脑总是显示没有文件夹 浏览:674
iphone显示无法验证app怎么回事 浏览:968
推荐解压好游戏 浏览:275
cpu服务器过载怎么办 浏览:618
zip内存压缩 浏览:311
阿里云99元服务器不可以退款 浏览:337
linux下安装vnc 浏览:656
微信图片加密编辑可见 浏览:704
江恩操盘术pdf 浏览:931
本机构所属的服务器是什么意思 浏览:785
c编译器有哪些段 浏览:863
qq原创表情在哪个文件夹 浏览:626
点点赚app现在怎么不能用了 浏览:365
网红阿里程序员事件 浏览:205
算法设计心得体会 浏览:118
java修改ip 浏览:151
php不需要编译吗 浏览:136
特斯拉新车如何用app控制 浏览:187
文档拖到文件夹就不见了 浏览:816