WEB开发网
开发学院数据库MySQL MYSQL教程:数据库具体操作 阅读

MYSQL教程:数据库具体操作

 2009-04-06 11:18:06 来源:WEB开发网   
核心提示: mysql>select@name:=idfromtestwheremytest="test";mysql>select*fromtestwheremytest=@name7. 改变默认提示符用mysql登录进数据库后,MySQL数据的默认提示符是&ldqu

mysql> select @name:=id from test where mytest="test";

mysql> select * from test where mytest=@name

7. 改变默认提示符

用mysql登录进数据库后,MySQL数据的默认提示符是“mysql”,我们可设置它根据用户打开的数据库名而变化,如:

mysql>prompt d>_

none>use test

test>use mysql

mysql>

prompt为设置命令,d代表当前数据库,_代表一个空格。

8. 非优化的全数据表DELETE操作

为了清空数据表,又需知道删除的行数和保持AUTO_INCREMENT序列的值,需用以下的删除语句:

# delete from table_name where 1;

9. MySQL事务处理示例

MYSQL高级特性 -- 事务处理下面以两个银行账户之间的转账为例子进行演示。要使用MySQL中的事务处理,首先需要创建使用事务表类型(如BDB = Berkeley DB或InnoDB)的表。

CREATE TABLE account (

account_id BIGINT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,

balance DOUBLE

) TYPE = InnoDB;

要在事务表上使用事务处理,必须要首先关闭自动提交:

SET AUTOCOMMIT = 0;

事务处理以BEGIN命令开始:

BEGIN;

现在mysql客户处在于服务器相关的事物上下文中。任何对事务表所做的改变在提交之前不会成为永久性的改变。

UPDATE ACCOUNT SET balance = 50.25 WHERE account_id = 1;

UPDATE ACCOUNT SET balance = 100.25 WHERE account_id = 2;

在做出所有的改变之后,使用COMMIT命令完成事务处理:

COMMIT;

当然,事务处理的真正优点是在执行第二条语句发生错误时体现出来的,若在提交前终止整个事务,可以进行回滚操作:

ROLLBACK;

下面是另一个例子,通过MYSQL直接进行数学运算:

SELECT @first := balance FROM account WHERE account_id = 1;

SELECT @second := balance FROM account WHERE account_id = 2;

UPDATE account SET balance = @first - 25.00 WHERE account_id = 1;

UPDATE account SET balance = @second + 25.00 WHERE account_id = 2;

除了COMMIT命令外,下列命令也会自动结束当前事务:

ALTER TABLE

BEGIN

CREATE INDEX

DROP DATABASE

DROP TABLE

LOCK TABLES

RENAME TABLE

TRUNCATE

UNLOCK TABLES

上一页  1 2 3 4 

Tags:MYSQL 教程 数据库

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接