【mysql】sql语句的更新和截取
2017-05-23 18:11
447 查看
更新
update 表名 set 字段 = 要修改的内容 where 条件- 字符串拼接
UPDATE t_vbquestion SET Answer1=CONCAT(‘A. ‘,Answer1),Answer2=CONCAT(‘B. ‘,Answer2) where QuestionTypeID=1- 批量更新
case whenUPDATE t_vbquestion SET ChapterID = (CASE ChapterID WHEN ‘第一章’ THEN ‘1’ WHEN ‘第二章’ THEN ‘2’ WHEN ‘第三章’ THEN ‘3’ ELSE ‘9’ END)
插入
我们一般写好sql脚本,执行批量插入操作,在执行过程中会出现因为有原纪录而中断的失败过程。使用ignore、replace、ON DUPLICATE KEY UPDATE 关键字可以有效的避免,但是前提是用主键primary或者唯一索引对记录进行了唯一性确定。INSERT IGNORE INTO t_student(id,name) values(‘119030303’,’小红’);
假如数据库中有重复记录,直接返回影响的行数为0,也即没有进行插入
REPLACE INTO t_student(id,name) values(‘119030303’,’小红’);
假如新的记录和旧的记录同时存在,则旧的删除,新的插入。
截取
left() right()select left(QuestionContent,4) from t_vbquestion
SUBSTRING
UPDATE t_vbquestion SET Answer1=SUBSTRING(Answer1,2)
where QuestionTypeID=1
ltrim() rtrim()
截断空格,没有trim()。
SUBSTRING_INDEX
UPDATE t_vbquestion SET Answer1=SUBSTRING(Answer1,2) where QuestionTypeID=1
存储过程批量更新
BEGINDECLARE studentcode char(50) ;
DECLARE enYeartime char(50) ;
DECLARE update_cur CURSOR FOR SELECT code,left(code,2) FROM >tb_student;
declare exit handler for sqlexception rollback;
– 定义一个游标
start transaction;
– 开启游标
OPEN update_cur;
– 遍历所找到的结果集中的所有元素
cursor_loop:loop
FETCH update_cur INTO studentcode,enYeartime;
update tb_student set entranceDate=(select >concat(‘20’,enYeartime,’-09-01’)) where code=studentcode;
end loop cursor_loop;
– 关闭游标
CLOSE update_cur;
commit;
END
基础的东西,平时经常用,会记得好,平时不用,也是会忘记的。
相关文章推荐
- 在MYSQL的SQL语句中截取字符串的函数SUBSTRING
- MySql中使用Sql语句修改表的结构(不断更新)
- MySql update inner join!MySql跨表更新 多表update sql语句?如何将select出来的部分数据update到另一个表里面?
- MySQL基本SQL语句之数据插入、删除数据和更新数据
- mySQL:两表更新(用一个表更新另一个表)的SQL语句
- mysql更新图片路径(sql语句)实例
- Mysql跨表更新 多表update sql语句总结
- MySql update inner join!MySql跨表更新 多表update sql语句?如何将select出来的部分数据update到另一个表里面?
- Mysql 一条SQL语句实现批量更新数据,update结合case、when和then的使用案例
- Mysql跨表更新 多表update sql语句总结
- Mysql跨表更新 多表update sql语句总结
- mybatis--mysql 批量插入批量更新在一条sql语句中完成
- mysql导入CSV文件及JAVA读取CSV文件和MYSQL批量插入和更新及ibatis常用SQL语句
- 【小平工作日志】Mysql 相关sql语句(新建、更新等)持续更新中……
- mysql 用一条sql语句修改两个表里的内容,一条sql语句update更新两个表
- MYSQL 数据表中行存在时更新,不存在时插入的SQL语句
- Mysql跨表更新多表update sql语句
- Mysql跨表更新 多表update sql语句总结
- MYSQL常用SQL语句(持续更新)
- mysql sql语句提取截取字段值中的数字字符串,动态截图指定字符串数字