(‘A’,2000.00),
(‘B’,10000.00)
– 转账实现
SET autocommit = 0; – 关闭自动提交
START TRANSACTION; – 开始一个事务,标记事务的起始点
UPDATE account SET cash=cash-500 WHERE name
=‘A’;
UPDATE account SET cash=cash+500 WHERE name
=‘B’;
COMMIT; – 提交事务,数据就被持久化了!
rollback;
SET autocommit = 1; – 恢复自动提交
[]( )2、索引
======================================================================
[]( )2.1、索引的分类
---------------------------------------------------------------------------
* **主键索引**(`Primary Key`)
* 唯一的标识,主键不可重复,只能有一个列作为主键
* **唯一索引**(`Unique`)
* 避免重复的列出现,唯一索引可以重复,多个列都可以标识为唯一索引
* **常规索引**(`Index`)
* 默认的
* **全文索引**(`FullText`)
* 在特定的数据库引擎下才有
[]( )2.2、唯一索引
--------------------------------------------------------------------------
作用 : 避免同一个表中某数据列中的值重复
> 与主键索引的区别
* 主键索引只能有一个
* 唯一索引可能有多个
CREATE TABLE Grade
(
`GradeID` INT(11) AUTO_INCREMENT PRIMARYKEY,
`GradeName` VARCHAR(32) NOT NULL UNIQUE
-- 或 UNIQUE KEY `GradeID` (`GradeID`)
)
[]( )2.3、常规索引
--------------------------------------------------------------------------
作用 : 快速定位特定数据
**注意**:
* index 和 key 关键字都可以设置常规索引
* 应加在查询找条件的字段
* 不宜添加太多常规索引,影响数据的插入,删除和修改操作
CREATE TABLE result
(
-- 省略一些代码
INDEX/KEY `ind` (`studentNo`,`subjectNo`) -- 创建表时添加
)
-- 创建后添加
ALTER T