MySQL学习笔记(七)

本文介绍了MySQL中的关键命令,如use、desc等,并详细讲解了事务处理机制,包括START TRANSACTION、COMMIT、ROLLBACK等命令的使用方法。此外还探讨了自动提交语句的影响及如何利用保存点和锁定机制来提高数据一致性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第七章 MySQL用户使用命令

1、use
   use 数据库名;
   用于切换数据库,use db_name语句告诉mysql使用db_name数据库作为以后查询
   的缺省数据库。数据库保持为当前数据库,直到该会话结束或另一个use语句发出。
  
   多库访问
   在表明前要在表名前加上库名
  
2、desc
   desc 表名[列名]
   describe  提供有关一个表的列信息。列名可以是一个列名或是包含sql通配符
   “%”和“_”的字符串。没有必要用引号包围字符串。
  
  
第八章 MySQL事务与锁定

目录
START/COMIT/ROLLBACK
自动提交语句
MySQL SavePoint
MySQL加锁与解锁

1、START/COMIT/ROLLBACK
   commit(提交)就是将SQL语句交给数据库系统执行并生效,数据更改于磁盘文件。
  
   缺省的,MySQL运行在autocommit模式。这就意味着,当你执行完一个更新时,MySQL将立刻更新存储到磁盘上。
  
   如果你使用事务安全表,通过下面的命令,你可以设置mysql为非autocommit模式;set autocommit=0;
   此后,必须使用commit来存储你的更改到磁盘上,或者使用rollback(回滚),
   如果你希望忽略从你的事务开始所作的更改。
  
   1)事务
   事务是一个不可分割的数据库操作单元,事务中的操作要么都发生,要么都不发生。
   事务可以用start transaction定义:
   start transaction;
   select @x=sum(sal) from emp where deptno=10;
   update t set a=@x;
   commit;
  
2、自动提交语句

   有些语句是无法回滚的,因为他们会自动提交,如DDL语句(create/drop database,
   create/drop/alter table),事务中不要包含这些语句。
  
   下列命令自动的结束一个事务:
   命令                     命令                     命令
-----------------------------------------------------------------------------
alter table               begin                     create index
drop database             drop index                drop table
load master data          lock tables               rename table
set autocommit=1          start transaction         truncate table

3、SavePoint(保存点) 需要进一步的联系和上网查看资料
   语法:
   savepoint identifier;
   rollback to savepoint identifier; 
  
4、加锁与解锁

   并发性:
   在单用户的数据库系统中,无需对数据的一致性和完整性作过多的考虑。
   而在多用户并发系统中,多用户对同一数据的并发访问要求以某种机制来实现数据的一致性和完整性。
  
   锁是解决问题的一种手段。
   lock tables 表名[read][write],表名[read][write],......
   lock tables 为当前线程锁定表。
   使用lock tables,你必须拥有一个全局的lock tables权限和一个在相关表上的select权限。
  
   unlock tables
   unlock tables释放当前线程拥有的所有锁定。当线程发出一个lock tables,或当予服务器的
   连接被关闭时,被当前线程锁定的所有表将被自动的解锁。
  
  
   如果一个线程在一个表上得到一个read锁,该线程只能从表中读取。
   如果一个线程在一个表上得到一个write锁,那么只有拥有这个所得线程可以从表中读取和写表。
   其他的线程被阻塞。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值