您的位置:首页 > 数据库 > MySQL

mysql基本操作

2013-03-26 16:20 162 查看
创建数据库:create database LockTest;

创建数据表:create table `test` (`id`not null primary key,`name` varchar(5))engine=InnoDB;

创建用户:grant select,insert,update,delete,index,alter,create,drop on LockTest.* to ly identified by '123456';

插入数据:insert `test` values ('1','ac');

显示autocommit的值:

show variables like 'autocommit';

 LIKE 'autocommit';事务操作:begin;

InnoDB存储引擎支持事务;

set autocommit=0关闭自动提交;

当下发commit命令时,才提交事务;

set autocommit=1开启自动提交,需要使用start transaciton来标识一个事务的开始;

start transaction;

insert  into test values ('2','ab');//此时用select语句能查询到这条数据

insert  into test values ('3','ii');

commit;

事务在PHP中应用举例:

<?php
$db = mysql_connect('localhost','ly','123456') or die('链接失败');//链接数据库
mysql_select_db('LockTest');//选择数据库
mysql_query("set autocommit = 0");//设置mysql不自动提交
mysql_query("begin");//设置事务的开始
//插入数据
$sql = "INSERT INTO `test` VALUES ('4','1s')";
$sql2 = "INSERT INTO `test` VALUES ('5','1ll')";
$q = mysql_query($sql);
$q2 = mysql_query($sql2);
if(!$q && !q2){
    mysql_query("rollback");//执行回滚
    echo '执行失败,数据回滚';exit;
}
mysql_query("COMMIT");//提交事务
echo "成功";
mysql_close($db);

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: