MySQL数据库DML操作

时间:2021-07-21 17:43:05
*INSERT插入语句 –INSERT INTOtable [(column [, column...])]         –VALUES(value [, value...]); -默认情况下,一次插入操作只插入一行 注意: 1.列名和值列表,要一一对应(个数一致 数据类型一致) 2.字符值得插入和日期 要用单引号 3.默认值插入用关键字default 4.空值插入,用关键字null
*update修改行记录 注意: 1.修改单行时候,建议使用主键作为条件 2.模糊修改使用关键字LIKE 3.set后面跟的是指定列名和修改的值       where 限定条件 4.修改null 必须使用关键字is 5.update 修改时候,一定要添加where条件
*delete 语句删除行记录 注意: 1.删除时候 一定要添加where条件
*truncate和delete 的区别 1.truncate 清空的表,再次插入时候自增序列会从头开始 2.delete   清空的表,再次插入的时候,在原有的基础继续递增
*DROP、TRUNCATE、DELETE --delete删除数据,保留表结构,可以回滚,如果数据量大,很慢 --truncate 删除所有数据,保留表结构,不可以回滚,一次全部删除所有数据,速度相对很快 --drop 删除数据和表结构,删除速度最快
*事务      事务指逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部不成功 -数据库开启事务命令      start transaction 开启事务      rollback 回滚事务      commit 提交事务
*MySQL的commit以及rollback,savapoint 安装完MySQL之后默认设置的 1.autocmmit=  set autocommit = true;每次执行sql语句不能回滚 现在我们为了试验 commit ues test;(使用test数据库) set autocommit= false;设置完之后,如果没有执行 commit; 最多也就是在内存里面存在,数据不会写到数据库之中 一旦我们commit;之后数据库就被提交到数据库了 在commit之前 我们可以rollback 回归数据库到commit之前 但是这个rollback等于把你之前做的全回滚了,等于前面都做了无用功 所以我们一般会在想要保存的点,弄个存档,就像Windows系统里面的还原点一般。      比如我做完这个sql语句之后 savepoint p1; 建立了还原点p1;然后在继续执行下一条sql语句删除之类的rollback to t1;那样就可以回到t1的存档点,就像打游戏一样!不爽就读以前的进度当然如果你执行了commit之后!你就不能实现rollback了!