1.   /*创建数据库*/

CREATE DATABASE `mybank`;
/*创建表*/
USE mybank;
CREATE TABLE `bank`(
    `customerName` CHAR(10),        #用户名
    `currentMoney` DECIMAL(10,2)         #当前余额
);
/*插入数据*/
INSERT INTO `bank` (`customerName`,`currentMoney`) VALUES ('张三',1000);
INSERT INTO `bank` (`customerName`,`currentMoney`) VALUES ('李四',1);

  2. --转账测试:张三希望通过转账,直接汇钱给李四500元

UPDATE `bank` SET `currentMoney` =`currentMoney`-500
    WHERE `customerName` = '张三';
UPDATE `bank` SET `currentMoney` =`currentMoney`+500
    WHERE `customerName` = '李四';

 3. 执行事务 并提交事务

USE mybank;

/*设置结果集以gbk编码格式显示*/
SET NAMES gbk;

/*开始事务*/
BEGIN;
UPDATE `bank` SET `currentMoney` =`currentMoney`-500
    WHERE `customerName` = '张三';
UPDATE `bank` SET `currentMoney` =`currentMoney`+500
    WHERE `customerName` = '李四';
COMMIT;        #提交事务,写入硬盘

 4. 开始事务  回滚事务
BEGIN;
UPDATE `bank` SET `currentMoney` = `currentMoney` -1000 WHERE `customerName` = '张三';
/*回滚*/
ROLLBACK;

5.设置自动提交关闭或开启

/*关闭事务自动提交*/
SET autocommit = 0;

/*转账*/
UPDATE `bank` SET `currentMoney` =`currentMoney`-500
    WHERE `customerName` = '张三';
UPDATE `bank` SET `currentMoney` =`currentMoney`+500
    WHERE `customerName` = '李四';
    /*提交*/
COMMIT;
UPDATE `bank` SET `currentMoney` = `currentMoney` -1000 WHERE `customerName` = '张三';

/*回滚事务*/
ROLLBACK;

 6. 创建视图

/*当前数据库*/
USE myschool;

DROP VIEW IF EXISTS `view_student_result`;

/*创建视图*/
CREATE VIEW `view_student_result`
AS

/*需要创建视图的数据*/
SELECT `studentName` AS 姓名,student.`studentNo` 学号,`studentResult` AS 成绩,`subjectName` AS 课程名称.`examDate` AS 考试日期
FROM `student`
INNER JOIN `result` ON `student`.`studentNo` = `result`.`studentNo`
INNER JOIN `subject` ON `result`.`subjectNo` = `subject`.`studentNo`
WHERE `subject`.`subjectNo`=(
    SELECT `subjectNo` FROM `subject` WHERE `subjectName` = 'Logic Java'
)AND `examDate` =(
    SELECT MAX(`examDate`) FROM `result`.`subject` WHERE `result`.`subjectNo` = `subject`.`subjectNo`
    AND `subjectName` = 'Logic Java'
);

7. 创建索引

USE myschool;

/*创建索引*/
CREATE INDEX `index_student_studentName`
ON `student`(`studentName`);

8. 使用DOS命令备份数据库

mysqldump -u username -h -ppassword

dbname[tbname1 [,tbname2]........] > filename.sql

例:

mysqldump -u root -p myschool student > d:\backup\myschool.sql

EnterPassword:

9. 使用后DOS命令恢复数据库

  1) .恢复数据库前先在MySQL服务器中创建新的数据库.

  2). 执行 mysql -u username -p [dbname]  <filename.sql

例:

mysql -u root -p schoolDB <  d:\backup\myschool.sql

10. 使用source命令恢复数据库

  语法:   source  filename;

例:

/*创建数据库*/
CREATE DATABASE myschoolDB2;
USE myschoolDB2;
/*恢复数据库*/
source 'd:\backup\myschool.sql';

11. 将表数据导出到文本文件

语法: select 列名 from 表名 [where 条件,条件2......]

into outfile 'filename' ;

例:

SELECT * FROM `result` WHERE `subjectNo` =

  (SELECT  `subjectNo` FROM `subject`  WHERE `subjectName` = 'Logic Java')

  INTO OUTFILE 'd: /backup/result.txt';

12. 将文本文件导入到数据表

语法: LOAD DATA INFILE 'filename' INTO TABLE 'tablename ';

  1) . 先创建导入数据的表结构

    USE myschoolDB2;
    /*创建result表结构*/
    CREATE TABLE `result`
    (
    `studentNo` INT(4) NOT NULL COMMENT '学号',
    `subjectNo` INT(4) NOT NULL COMMENT '课程编号',
    `examDate` DATETIME NOT NULL COMMENT '考试日期',
    `studentResult` INT(4) NOT NULL COMMENT '考试成绩',
    PRIMARY KEY (`studentNo`,`subjectNo`,`examDate`)
    )ENGINE = INNODB DEFAULT CHARSET utf8;

  2).导入数据
    LOAD DATA INFILE '路径.txt' INTO TABLE result;
    /*查看result表数据*/
    SELECT * FROM result;

关于MySQL 事务,视图,索引,数据库备份,恢复的更多相关文章

  1. 第五章 MySQL事务,视图,索引,备份和恢复

    第五章 MySQL事务,视图,索引,备份和恢复 一.事务 1.什么是事务 事务是一种机制,一个操作序列,它包含了一组数据库操作命令,并且把所有的命令作为一个整体一起向系统提交或撤销操作请求.要么都执行 ...

  2. Xtrabackup原理及使用innobackupex进行MySQL数据库备份恢复

    Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具. Xtrabackup中主要包含两个工 ...

  3. MySQL用户管理、常用sql语句、MySQL数据库备份恢复

    1.MySQL用户管理 给远程登陆用户授权:grant all on *.* to 'user1'@'127.0.0.1' identified by '123456' (这里的127.0.0.1是指 ...

  4. mysql 从陌生到熟练之----数据库备份恢复的实现方法

    mysql 从陌生到熟练之----数据库备份恢复的实现方法 MySQL数据库使用命令行备份|MySQL数据库备份命令 例如: 数据库地址:127.0.0.1 数据库用户名:root 数据库密码:roo ...

  5. Linux centosVMware mysql用户管理、常用sql语句、mysql数据库备份恢复

    一.mysql用户管理 grant all on *.* to 'user1'@‘127.0.0.1’ identified by 'mimA123'; 创建user1用户 使用user1登录 /us ...

  6. postgresql 和 mysql 数据库备份恢复以及时区问题

    概要 postgesql 12 备份/恢复脚本 时区设置 mysql 5.6 备份/恢复脚本 时区设置 概要 postgresql 和 mysql 是最常用的 2 种开源关系数据库, 很多项目也会优先 ...

  7. postgres 数据库备份恢复

    postgre 数据库备份恢复命令 备份:pg_dump -U postgres -v -F c -Z 4 -f ***.backup dbname  9压缩率最狠恢复:pg_restore -U p ...

  8. Oracle数据库备份恢复,巡检须要关注的对象设置以及相关恢复概述

    数据库备份恢复.巡检须要关注的对象设置: 1.数据库名称,以及DBID:  --dbid在v$database中     SYS@ORCL>select dbid,name from v$dat ...

  9. mysql事务,视图,权限管理,索引,存储引擎(胖胖老师)

    1: 视图什么是视图    视图是一个虚拟表, 它的内容来源于查询的实表, 本身没有真正的数据;视图的作用    对于复杂的查询时,每次查询时都需要编写一些重复的查询代码让编写sql的效率低下, 为了 ...

随机推荐

  1. python制作爬虫爬取京东商品评论教程

    作者:蓝鲸 类型:转载 本文是继前2篇Python爬虫系列文章的后续篇,给大家介绍的是如何使用Python爬取京东商品评论信息的方法,并根据数据绘制成各种统计图表,非常的细致,有需要的小伙伴可以参考下 ...

  2. GoogleNet:inceptionV3论文学习

    Rethinking the Inception Architecture for Computer Vision 论文地址:https://arxiv.org/abs/1512.00567 Abst ...

  3. 使用jmeter进行批量数据创建

    背景: 测试环境需要创建大量的测试数据,进行功能和性能的测试 测试数据创建接口是HTTP请求方式 测试数据要求不同类型的数据,要有字段进行关联,且单据的编号在DB中唯一不可重复,此外测试数据的时间类参 ...

  4. Python练习28

    [之前发布到本人的51cto博客,现转过来] 无意看到老男孩的博文:合格linux运维人员必会的30道shell编程面试题及讲解 http://oldboy.blog.51cto.com/256141 ...

  5. java Io流中FileInputStream和BufferedInputStream的速度比较

    首先是对FileInputStream 加上 FileOutputStream 对文件拷贝的应用 我这里拷贝的是一个视频.当然,你们拷贝什么都可以,当文件越大时效果越明显 下面是对BufferedIn ...

  6. C++ operator bool

    雕虫小技: #include <iostream> struct A{ operator bool(){ return false; } }; int main() { A a{}; if ...

  7. MySQL的简单使用-(一)

    MySQL的简单使用 使用MySQL命令行工具 Windows 用户使用: MySQL Client, 输入密码 Linux: mysql -u用户名 -p密码 mysql -uroot -p 显示数 ...

  8. Express异步进化史

    1.导言 在 Javascript 的世界里,异步(由于JavaScript的单线程运行,所以JavaScript中的异步是可以阻塞的)无处不在. Express 是 node 环境中非常流行的Web ...

  9. Log4j配置详解及不同的包(package)下的日志写入到不同的日志文件下

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt262 以下都是log4j.properties要写入的内容: 一:参数介绍: ...

  10. 学习笔记GAN004:DCGAN main.py

    Scipy 高端科学计算:http://blog.chinaunix.net/uid-21633169-id-4437868.html import os #引用操作系统函数文件 import sci ...