mysql数据库学习整理Day1

mysql数据库学习整理Day1

数据操作语言主要包括如下几种:
增加行数据:使用INSERT语句实现
修改行数据:使用UPDATE语句实现
删除行数据:使用DELETE语句实现

一、首先是添加一行数据

INSERT into teacher(tno,tname,age) values(‘1606410225’,‘隋**’,20)
需要注意的是日期和字符数据类型需要用单引号引起来

也可以批量插入数据 比如:

INSERT INTO EMP(EMPNO, ENAME, JOB, SAL) VALUES 
('8881', '张三', '部门经理', 6000),
('8882', '李四', '职员', 3000),
('8883', '王五', '职员', 3500),
('8884' ,'赵六', '部门经理', 6500),
('8885', '高七', '职员', 2500),
('8886', '马八', '职员', 3100),
('8887', '钱九', '部门经理', 5000),
('8888', '孙十',  '职员', 2800);

另外还可以根据特定的条件将另一张表中符合条件的信息复制到新的表中

CREATE TABLE emp_back as SELECT * FROM EMP WHERE 1=0
INSERT into emp_back select *from emp where job='manager'
二、修改数据

修改工作地点在NEW YORK或CHICAGO的员工工资,工资增加500

update emp e
       set e.sal = e.sal + 500
     where (select loc from dept where deptno = e.deptno) in
           ('NEW YORK', 'CHICAGO');

三、删除数据

  1. 删除经理编号为7566的员工记录
DELETE from emp where MGR=7566

可能会使用到子查询
需要注意的是:在删除的时候后面的where条件一定要注意,删除数据库表一定要谨慎

四、事务处理
事务:也称工作单元,是由一个或多个SQL语句所组成的操作序列,这些SQL语句作为一个完整的工作单元,要么全部执行成功,要么全部执行失败。在数据库中,通过事务来保证数据的一致性。

事务的四大特性

事务特征可用四个字母的缩写表示:即ACID
原子性(Atomicity)
事务就像“原子”一样,不可被分割,组成事务的DML操作语句要么全成功,要么全失败,不可能出现部分成功部分失败的情况。
一致性(Consistency)
一旦事务完成,不管是成功的,还是失败的,整个系统处于数据一致的状态。
隔离性(Isolation)
一个事务的执行不会被另一个事务所干扰。比如两个人同时从一个账户从取钱,通过事务的隔离性确保账户余额的正确性。
持久性(Durability)
也称为永久性,指事务一旦提交,对数据的改变就是永久的,不可以再被回滚。

事务处理的几种方式

  1. 用begin,rollback,commit来实现 begin开始一个事务 rollback事务回滚 commit 事务提交
  2. 直接用set来改变MySQL的自动提交模式 ,MySQL默认是自动提交的,也就是你提交一个sql,就直接执行!
    可以通过 set autocommit = 0 禁止自动提交
    set autocommit = 1 开启自动提交 来实现事务的处理。
    但要注意当用set autocommit = 0 的时候,以后所有的sql都将作为事务处理,直到用commit确认或 rollback结束,注意当结束这个事务的同时也开启了新的事务!按第一种方法只将当前的做为一个事务!

例如
BEGIN; ——开始事务操作
DELETE FROM test ;
ROLLBACK; ——撤消DELETE操作
INSERT INTO test VALUES(’A’);
SAVEPOINT insert_a; ——定义insert_a保存点
INSERT INTO test VALUES(’B’);
SAVEPOINT insert_b; ——定义insert_b保存点
INSERT INTO test VALUES(’C’);
ROLLBACK TO insert_b; ——撤消操作到insert_b保存点
DELETE FROM test WHERE test_str = ‘A’;
COMMIT; ——将所有修改写入数据库
ROLLBACK; -—所有操作已经COMMIT提交,不能回滚

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值