IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 2021/10/2 第六章 MySQL数据库企业级开发技术 -> 正文阅读

[大数据]2021/10/2 第六章 MySQL数据库企业级开发技术

目录

1.事务的四个属性,简称ACID属性

2.如何创建事务

3.自动关闭和开启事务

4. 视图的用途

5.如何创建视图

6.视图注意事项

7.索引

8.数据库的备份

9.表数据导出到文本文件

本章总结


1.事务的四个属性,简称ACID属性

? ? 原子性:事务是一个完整的操作,事务的各部操作是不可分的(原子性的),要么都执行,要么都不执行

? ? 一致性:当事务完成时,数据必须处于一致状态

? ? 隔离性:并发事务之间彼此隔离、独立,它不应该以任何方式依赖于或影响其他事务

? ? 持久性:事务完成之后,它对数据库的修改被永久保持

2.如何创建事务


开始事务
BING;
或
start transaction;
 
提交事务
commit;
 
回滚(撤销)事务
rollback;
从张三的账户转出500元,存入李四的账户中
 BEGIN;
Update bank set currentmoney=currentmoney-500 where customername='张三';
 
Update bank set currentmoney=currentmoney+500 where customername='李四';
commit;

3.自动关闭和开启事务

? ? 关闭/开启自动提交状态

set autocommit=0/1;

? ?值为0:关闭自动提交;

? ?值为1:开启自动提交;

4. 视图的用途

????? ?筛选表中的行

????? ?防止未经许可的用户访问敏感数据

????? ?降低数据库的复杂程度

? ? ? ?将多个物理数据库抽象为一个逻辑数据库

5.如何创建视图

创建视图
create view view_name AS
<select 语句>;
 
删除视图
Drop view [if exists] view_name;
 
查看视图
select 字段1,字段2 ...from view_name;

6.视图注意事项

? ? 视图中可以使用多个表

? ? 一个视图可以嵌套另一个视图

? ? 对视图数据进行添加、更新和删除操作直接影响所引用表中的数据

? ? 当视图数据来自多个表时,不允许添加和删除数据

查看所有视图

use information_schema;
select * from view\G;
 
使用视图修改数据会有许多限制,一般在实际开发中视图仅用作查询

7.索引

? ? 索引是一种有效组合数据的方式,为快速查找指定记录

? ? 作用:大大提高数据库的检索速度 ?改善数据库性能

? ? 优缺点:查询和修改运行速度提升,增加和删除运行速度降低

如何创建索引/删除索引

? ? 创建索引

create index index_name on table_name(column_name[length]);

? ? 删除索引

drop index index_name on table_name;
 
删除表时,该表的索引同时会被删除
在student表的studentname列创建普通索引
use myschool;
create index index_student_student_name on student(studentname);

查看索引

show index from table_name;

索引的类型

1.普通索引

? ? ? ? #设置memName列为普通索引

? ? ? ? CREATE INDEX?index_name ON?member (memName);

2.唯一索引

? ? ? ? #设置identityNum列为唯一索引

????????CREATE UNIQUE INDEX?index_identityNum ON?member (identityNum);

3.主键索引

? ? ? ? #设置id列为主键索引

? ? ? ? CREATE TABLE?memName ADD PRIMARY KEY(id);

? ? ? ? 设置为主键列自动存在主键索引

4.全文索引

? ? ? ? #设置remake列为全文索引

????????CREATE FULLTEXT?INDEX?index_remake ON?member (remake);

主要的参数含义如下。

????????Table:创建索引的表
????????Non_unique:索引是否非唯一
????????Key_name:索引的名称
????????Column_name:定义索引的列字段
????????Seq_in_index:该列在索引中的位置
????????Null:该列是否能为空值
????????Index_type:索引类型

需要建立索引的列:

? ? ? ? 频繁搜索的列。
? ? ? ? 经常用作查询选择的列。
? ? ? ? 经常用作排序丶分组的列。
? ? ? ? 经常用作连接的列(主键/外键)。

不需要建立索引的列:

? ? ? ? 仅包含几个不同值的列。
? ? ? ? 表中仅包含几行。为小型数据表创建索引可能不太实用,因为在索引中搜索数据所花的时间比在数据表中逐行搜索数据所花的时间长。

8.数据库的备份

? ? mysqldump命令——一个常用备份工具

mysqldump -uroot -p >filename.sql

恢复数据库

?方法一:使用MySQL命令恢复数据库

mysql -u usename(用户名) -p[dbname](数据库名)<filename.sql(备份文件名)
 
注意:1.MySQL 为DOS命令
      2.在执行该语句之前,必须在MySQL服务器中创建新数据库,如果不存在恢复数据库过程将会出错
使用备份文件将myschool数据库中student表信息恢复到schoolDB数据库中
 
mysql -u root -p schoolIDB<d:.....

?方法二:使用source命令恢复数据库

source filename;
 
注意:登陆MySQL服务器后使用
      执行该命令前,先创建并选择恢复后的目标数据库
 
例: 
create database myschoolIDB2; #创建数据库
USE myschoolIDB2 #选择数据库
source d:\.... #恢复数据库

9.表数据导出到文本文件

select * from tablename[where contion] into outfile filename [option]
 
例:select * from result where subjectno=(select subjectno from subject where subjectname='Logic java')
into outfile d:/.....;


LOAD data infile filename into table tablename[option] #文本文件导入数据表
 
LODA DATA infile d:/..... INTO TABLE result;  #将数据从文本文件导入到myschoolIDB的result表

本章总结

  1. 事务(Transaction)?指将一系列数据操作捆绑成为一个整体并进行统一管理的机制。
  2. 事务的4个特性,即原子性(Atomicity)丶一致性(Consistency)丶隔离性(Isolation)及持久性(Durability),这些特性通常简称ACID。
  3. MySQL中常用的索引包括普通索引(INDEX)丶唯一索引(UNIQUE)丶主键索引(PRIMAPYKEY)和全文索引(FULLTEXT)。
  4. 视图通常用来进行以下3种操作。
    1. 筛选表中的行。
    2. 防止未经许可的用户访问敏感数据。
    3. 将多张物理数据表抽象为一张逻辑数据表
  5. 可以使用mysqldump和Navicat的导出功能将数据库备份到SQL脚本文件中。导出后的SQL脚本可以在操作系统命令行丶MySQL命令行或Navicat中实现数据库的恢复。

练习小作业:

  1. 使用事务为处方表插入多条数据。
  2. 为病人表添加合适的索引。
  3. 使用视图查看病人的医疗总费用。
  4. 备份并恢复hospital数据库。
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-03 17:09:35  更:2021-10-03 17:10:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 22:03:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码