mysql的replace的使用
16lz
2021-01-22
mysql里的replace使用有两种情况,一种是replace语句,一种是replace函数,一个是语句一个是函数,一定区别清楚。
replace语句:插入数据
replace into tablename(filed1,filed2...) values(val1,val2...),(val1,val2...)...;
这里replace和insert有什么异同:
replace语句需要有delete和insert权限,因为它具备替换拥有唯一索引或者主键索引重复数据的能力,也就是如果使用replace into插入的数据的唯一索引或者主键索引与之前的数据有重复的情况,将会删除原先的数据,然后再进行添加。
如果replace插入数据的表没有唯一索引或者主键索引,那么它的行为和insert毫无区别。
例子:
replace语句用法注意点:
1:如果replace的表有多个唯一索引,并且replace的数据复制了多个唯一索引的值,那么可能单一行数据代替多个行的旧数据。
2:replace的数据取设置的值,如果没有设置则会取默认的值,replace不能从当前行中引用值,也不能在新行中使用值。
3:由于replace会对唯一索引和主键索引重复的进行删除和重新添加,如果有自增数据,且replace没有设置成要替换的自增列数据,将可能会破坏其他表与该表老数据之间的关联性。
replace函数:替换特定字符
update tablename set filedname=replace(filedname,str,replace_str);
更多相关文章
- 用javabean连接sql server 2000数据库报错,实在找不出原因啊,高分
- MYSQL数据库的安装
- MS ACCESS jdbc.odbc连接。未找到数据源名称/未指定默认驱动程序
- [O]SQL SERVER下有序GUID和无序GUID作为主键&聚集索引的性能表现
- 急~~!!!sqlconnection连接SQL2005数据库总出错~~~
- Python MySQLdb连接数据库的应用
- PostgreSQL数据库学习手册之libpq - C 库--介绍
- SQL基本操作 - 新增、查看、更新、删除表中数据
- Mysql完全手册(笔记二,使用数据与性能优化)