MySQL中INSERT,UPDATE和REPLACE的区别与用法

作者&投稿:陈厚 (若有异议请与网页底部的电邮联系)
MySQL中INSERT,UPDATE和REPLACE的区别与用法~

我去,insert是插入新的记录,update是更新现有数据,replace是一个函数,比如你要把查询出的字母a都替换成张三,那就用replace

当一个表中存在主键或唯一索引时,你使用replace into 语句插入数据时,会先把冲突的旧数据删除,然后插入新数据。而insert into则会报错。
其他情况与insert into一样。SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。

insert是插入数据
update是更新数据

择列表
选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。
1、选择所有列
例如,下面语句显示testtable表中所有列的数据:
SELECT * FROM testtable
2、选择部分列并指定它们的显示次序
查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。
3、更改列标题
在选择列表中,可重新指定列标题。定义格式为:
列标题=列名 列名 列标题
如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列标题: SELECT 昵称=nickname,电子邮件=email FROM testtable。
4、删除重复行
SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。

insert是插入语句,update是修改,replace是替换。
用法例:insert into 表 value(字段名1,字段名2)
update 表名 set name=xiaoming where name=xiaoqiang. 这样名字就被改了
UPDATE tb1 SET f1=REPLACE(f1, 'abc', 'def');
REPLACE(str,from_str,to_str)
在字符串 str 中所有出现的字符串 from_str 均被 to_str替换,然后返回这个字符串

这个函数用来批量替换数据中的非法关键字是很有用的!如下例子:

例1:UPDATE BBSTopic SET tcontents = replace(replace(tcontents,'共产党','') ,'找死','') where tcontents like '%共产党%' or tcontents like '%找死%'
例2:UPDATE typetable SET type_description=REPLACE(type_description,'360','http://www.jb51.net');

记得给分啊!!!


MySQL各版本的区别
一、费用上的区别 MySQL Community Server是开源社区版,不需要收费,MySQL Enterprise是企业版是要收费的。MySQL Cluster则是一种架构方案,由一组计算机组成,开源免费,MySQL Workbench则是一个图形化界面用来管理Mysql,分为商业和社区。二、性能上的区别 MySQL Community Server的性能要低于MySQL Enterprise...

MySQL如何更改数据库数据存储目录详解
下文总结整理了实践过程的操作步骤。话不多说了,一起来看看吧方法如下:1:确认MySQL数据库存储目录[root@DB-Server tmp]# mysqladmin -u root -p variables | grep datadir Enter password: | datadir | \/var\/lib\/mysql\/2:关闭MySQL服务在更改MySQL的数据目录前,必须关闭MySQL服务。方式1:[...

如何在数据库查询中截取字符串的前后部分
在数据库查询中,如何通过SQL截取指定字段某一个字符的前面或后面的字符串?以下为不同数据库环境下实现这一功能的方法。针对SQL Server的实现:当需截取字符串"OPE-CZ-108-003-SE71.2"中的"."字符前面的字符串时,可以采用如下SQL语句。结果为"OPE-CZ-108-003-SE71",取值范围从字段第一位置开始...

java中备份Mysql(java中备份SqLseⅤer数据库)
第一种,在环境变量中添加MYSQL_HOME,设置内容为mysql的安装路径,然后,在path中添加路径%MYSQL_HOME%in。第二种方法,不新建MYSQL_HOME,而是直接在path中添加mysql安装路径in。这样,调用cmd的时候可以直接找到mysqlmp和mysql命令了。 2.现在编写JAVA方法类来实现数据库的备份和还原。代码如下: importjava.io....

...the manual that corresponds to your MySQL server
你主要看下你定义的字段属性 看看是不是有自增的或者少一字段没有赋值,还有可能是符号除了问题,希望你能改对,加油哦,哈哈

在安装Mysql中出现启动服务失败的原因是什么?
mysql> create table t1 (id int primary key,n varchar(10 ) data directory ERROR 1030 (HY000): Got error 168 from storage engine 测试说明 mysql 用户有这个目录的访问权限,但创建文件还是失败,这种情况让很多人困惑,这个时候通常是 mysqld 进程的访问被 linux 的 selinux 或 apparmor 给...

mysql 怎么读
mai(拼音,第一声)se(拼音,第四声)kou(拼音,第三声)

MySQL使用xtrabackup备份时报错
MySQL使用xtrabackup备份时报错:2015-01-29 21:28:10 7f6024ceb740 InnoDB: Operating system error number 24 in a file operation.InnoDB: Error number 24 means 'Too many open files'.【网友提供的解决方案】:1)shell> ulimit -n 65535 2)修改my.cnf配置文件的参数 innodb_open_files =...

常见的数据库有哪些
?MySQL是一个快速,多线程,多用户和健壮的SQL数据库服务器。 MySQL服务器支持关键任务,重负载生产系统的使用,它可以嵌入到一个大配置(大规模部署)软件。 ?的MySQL与其他数据库管理系统相比,具有以下优点: ?(1)MySQL是一个关系数据库管理系统。 ?(2)MySQL是开源。 ?(3)MySQL服务器是一个快速,可靠和易于...

为何在访问mysql的时候提示: SQLSTATE[ HY000
1、首先需要更改root的权限远程的访问的权限,进行进入到自己数据库之后,进入mysql数据库中:use mysql。2、进行执行update user set host='%' where user='root' 的命令进行执行。3、执行了相关的命令之后,还是需要进行执行的flush privileges的命令。4、还需要进行修改的是在etc\/sysconfig\/selinux...

洪雅县15193287058: MySQL中INSERT,UPDATE和REPLACE的区别与用法 -
钦霞活血: insert是插入数据 update是更新数据 择列表 选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成. 1、选择所有列 例如,下面语句显示testtable表中所有列的数据: SELECT ...

洪雅县15193287058: mysql 插入问题 insert update -
钦霞活血: 想在id 为1的记录中的body字段的末尾加入字符串:update 表 set body=concat(body,'末尾加入的字符串') where id=1; 在所有记录的body字段末尾加入字符串:update 表 set body=concat(body,'末尾加入的字符串'); 在body前面插入是什么语句:update 表 set body=concat('前面插入的字符串',body);

洪雅县15193287058: 有20万条数据,使用mysql数据库,insert与update哪个速度快; -
钦霞活血: insert会更快一点,可以使用 INSERT INTO <target_table> SELECT <columns> FROM < source_table> 高效地将大量行从一个表(例如临时表).传输到按最小方式记录日志的其他表中.按最小方式记录日志可以提高语句的性能,减少在事务期...

洪雅县15193287058: mysql insert语句注意什么 -
钦霞活血: 1. 基础的Insert语句示例 下面的语句向员工表插入一条新记录.在这个例子中,后的“values”指定要插入到表中的所有字段对应的值.INSERT INTO employee VALUES(100,'Thomas','Sales',5000); 用SELECT语句来验证数据是否插入成功....

洪雅县15193287058: mysql数据库 怎么用insert语句把动态数据连续存入表格中???values里面的怎么用变量表示! -
钦霞活血: function ChaRu($table,$field,$value){ //final关键字的方法不可以被覆盖(或称重定义) $insert="INSERT INTO $table($field) VALUES($value)"; return mysql_query($insert); mysql_free_result($insert); ChaRu($table,$field,$value); 然后$table和$field可以根据你自己的表和字段增加.$value请直接赋相关动态值:比如$value=$_POST['value']或其他的.

洪雅县15193287058: mysql中怎样获得插入数据的id -
钦霞活血: mysql中的id为自动增长的,可用此得到刚生成的列的id PreparedStatement pstmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); 使用Statement.RETURN_GENERATED_KEYS得到刚生成的自动增长列的id值方法如下:ResultSet rsKey = pstmt.getGeneratedKeys();

洪雅县15193287058: 如何优化MySQL insert性能 -
钦霞活血: 1. 一条SQL语句插入多条数据.常用的插入语句如:1. INSERTINTO`insert_table` (`datetime`, `uid`, `content`, `type`) VALUES('0', 'userid_0', 'content_0', 0);2. INSERTINTO`insert_table` (`datetime`, `uid`, `content`, `type`) VALUES('1', 'userid_1', ...

洪雅县15193287058: 怎样将mysql中表格数据装换成insert 语句? -
钦霞活血: 无需安装其他客户端软件,如果在Linux下,直接在命令行输入mysqldump -u root --extended-insert=false database_name > /tmp/database_backup.sql , 其中“>”后面的是备份路径.在Windows下,cd到mysql安装路径下的bin目录,同样输入mysqldump -u root --extended-insert=false database_name > c:\database_backup.sql

洪雅县15193287058: MySQL:如何获取insert into的返回值呢? -
钦霞活血: 执行更新调用的方法是executeUpdate(); 这个方法的返回值就是int型,就是改变了的条数

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网