SQL中UPDATE更新语句、REPLACE()替换函数

更新、替换

  • 1、UPDATE
  • 2、replace( )

1、UPDATE

语法

update <表名>
set <列名>=<表达式>

用法

\quad \quad 更改数据表中的数据

1、将登记日期更新为“2009-10-10”

update product
set regist_date='2009-10-10';

2、指定条件的UPDATE语句

语法:

update <表名>
set <列名>=<表达式>
where<条件>

将商品种类为厨房用具的记录的销售单价更新为原来的10倍。

update product
set sale_price=sale_price*10
where product_type='厨房用具';

3、多列更新,逗号隔开即可

update product
set sale_price=sale_price*10,purchase=purchase/2
where product_type='厨房用具';

2、replace( )

语法

REPLACE ( string_expression , string_pattern , string_replacement )

参数
string_expression 要搜索的字符串表达式,可以是字符或二进制数据类型。
string_pattern 是要查找的子字符串,可以是字符或二进制数据类型。string_pattern 不能是空字符串 (’’)。
string_replacement 替换字符串,可以是字符或二进制数据类型。

用法

数据表:test_tb

1、查询替换
将address字段里的 “区” 替换为 “呕” 并显示数据表,

select *,replace(address,‘区’,‘呕’) AS rep
from test_tb;

2、更新替换

将address字段里的 “东” 替换为 “西”

update test_tb set address=replace(address,‘东’,‘西’) where id=2;

3、插入替换

将id=6的name字段值改为wokou

replace into test_tb VALUES(6,‘wokou’,‘新九州岛’,‘日本’)

向表中“替换插入”一条数据,如果原表中没有id=6这条数据就作为新数据插入(相当于insert into作用);如果原表中有id=6这条数据就做替换(相当于update作用)。对于没有指定的字段以默认值插入。

另外,插入有以下几种方法

普通插入(全字段):INSERT INTO table_name VALUES (value1, value2, …)
普通插入(限定字段):INSERT INTO table_name (column1, column2, …) VALUES (value1, value2, …)
多条一次性插入:INSERT INTO table_name (column1, column2, …) VALUES (value1_1, value1_2, …), (value2_1, value2_2, …), …
从另一个表导入:INSERT INTO table_name SELECT * FROM table_name2 [WHERE key=value]
带更新的插入:REPLACE INTO table_name VALUES (value1, value2, …) (注意这种原理是检测到主键或唯一性索引键重复就删除原记录后重新插入)

你可能感兴趣的:(SQL,sql)