*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了!