09月12日学习杂记(MYSQL初步2)
2006-10-06 21:34
796 查看
事务:
一个事务的一致性
两个事务的隔离性
一条命令语句就是一个独立的事务,一个事务不能回滚另外的事务
做事务实验时要注意:MyISAM Innodb;
create table student(id int,name varchar(20)) engine=innodb;
设置类型为INNODB,这样可以应用事务,既使自动提交打开也没有用,也就是说当有BEGIN的时候,COMMIT是什么状态无所谓;但是COMMIT为零的时候,单独一条语句不会被自动提交
修改表的存储类型
ALTER TABLE t ENGINE = INNODB;
ALTER TABLE t ENGINE = BDB;
修改表的ID为自动增长类型的:
自动增长列,指定一列名,和为主键加一个空值都可以
alter table student modify id int primary key auto_increment;
SHOW VARIABLES: 显示所有变量
select @@tx_isolation: 显示事务的隔离级别
set TRANSACTION ISOLATION LEVEL SERIALIZABLE;(设置事务的隔离级别)
SHOW TABLE STATUS; 显示表的属性(包括用什么类型存储的)
DELIMITER:定界符 为环境设定分界符(例:如果DELIMITER //,则设定//为分界符)
实验一:(默认级别REPEATABLE READ)
实验二:(隔离级别为SERIALIZABLE)
实验三:(隔离级别为READ COMMITTED)
实验四:(隔离级别为READ UNCOMMITTED)
存储过程与函数:
如果返回两个以上的值,用过程,如果返回一个用函数
==========================================================================
定义存储过程:
mysql> create procedure initid(out theid int,thename varchar(10))
-> begin
-> insert into student(name) values(thename);
-> select max(id) into theid from student;
-> end
-> //
Query OK, 0 rows affected (0.00 sec)
===========================================================================
执行存储过程:
mysql> delimiter ;
mysql> call initid(@a,'abc');
Query OK, 0 rows affected (0.00 sec)
============================================================================
执行结果如下:
mysql> select @a
-> ;
+------+
| @a |
+------+
| 8 |
+------+
1 row in set (0.00 sec)
一个事务的一致性
两个事务的隔离性
一条命令语句就是一个独立的事务,一个事务不能回滚另外的事务
做事务实验时要注意:MyISAM Innodb;
create table student(id int,name varchar(20)) engine=innodb;
设置类型为INNODB,这样可以应用事务,既使自动提交打开也没有用,也就是说当有BEGIN的时候,COMMIT是什么状态无所谓;但是COMMIT为零的时候,单独一条语句不会被自动提交
修改表的存储类型
ALTER TABLE t ENGINE = INNODB;
ALTER TABLE t ENGINE = BDB;
修改表的ID为自动增长类型的:
自动增长列,指定一列名,和为主键加一个空值都可以
alter table student modify id int primary key auto_increment;
SHOW VARIABLES: 显示所有变量
select @@tx_isolation: 显示事务的隔离级别
set TRANSACTION ISOLATION LEVEL SERIALIZABLE;(设置事务的隔离级别)
SHOW TABLE STATUS; 显示表的属性(包括用什么类型存储的)
DELIMITER:定界符 为环境设定分界符(例:如果DELIMITER //,则设定//为分界符)
实验一:(默认级别REPEATABLE READ)
实验二:(隔离级别为SERIALIZABLE)
实验三:(隔离级别为READ COMMITTED)
实验四:(隔离级别为READ UNCOMMITTED)
存储过程与函数:
如果返回两个以上的值,用过程,如果返回一个用函数
==========================================================================
定义存储过程:
mysql> create procedure initid(out theid int,thename varchar(10))
-> begin
-> insert into student(name) values(thename);
-> select max(id) into theid from student;
-> end
-> //
Query OK, 0 rows affected (0.00 sec)
===========================================================================
执行存储过程:
mysql> delimiter ;
mysql> call initid(@a,'abc');
Query OK, 0 rows affected (0.00 sec)
============================================================================
执行结果如下:
mysql> select @a
-> ;
+------+
| @a |
+------+
| 8 |
+------+
1 row in set (0.00 sec)
相关文章推荐
- 09月11日学习杂记(MYSQL初步)
- 初步学习 mysql
- Mysql DBA 高级运维学习笔记-初步增量恢复mysql数据库
- JDBC(MYSQL)初步学习
- 【初步学习】mysql 没有data目录
- MySQL初步学习3:Eclipse中使用
- MySQL学习---->第三练:语句初步(数据更新、视图、数据控制)
- 【MySQL学习杂记】 2017年7月13日
- 学习笔记之mysql 备份初步-LVM和快照备份
- 关于MYSQL的Replication的初步学习
- MySQL触发器总结以及XML初步学习
- MySQL初步学习5:常用语句
- MySQL学习---->第二练:语句初步(SQL概述、数据定义、查询)
- 小白学习mysql之索引初步
- mysql初步学习
- MySQL初步学习2:常用命令与语法基础
- 马哥学习笔记五——MYSQL初步
- 初步学习mysql
- MySQL初步学习4:处理大数据对象
- 关于MYSQL的Replication的初步学习