MySQL(备份还原索引视图入门)

news2024/11/24 17:27:34

文章目录

  • 第一节 备份和还原
    • 1、题目
    • 2、题目作答
  • 第二节 索引
    • 1.题目
    • 2.题目作答
  • 第三节 视图
    • 1 题目
    • 2 题目作答


第一节 备份和还原

1、题目

	CREATE DATABASE beifen;
	use beifen;

	CREATE TABLE books
	(
	  bk_id  INT NOT NULL PRIMARY KEY,
	  bk_title VARCHAR(50) NOT NULL,
	  copyright YEAR NOT NULL
	);
	INSERT INTO books
	VALUES (11078, 'Learning MySQL', 2010),
	(11033, 'Study Html', 2011),
	(11035, 'How to use php', 2003),
	(11072, 'Teach youself javascript', 2005),
	(11028, 'Learing C++', 2005),
	(11069, 'MySQL professional', 2009),
	(11026, 'Guide to MySQL 5.5', 2008),
	(11041, 'Inside VC++', 2011);

	CREATE TABLE authors
	(
	  auth_id     INT NOT NULL PRIMARY KEY,
	  auth_name  VARCHAR(20),
	 auth_gender CHAR(1)
	);
	INSERT INTO authors  
	VALUES (1001, 'WriterX' ,'f'),
	(1002, 'WriterA' ,'f'),
	(1003, 'WriterB' ,'m'),
	(1004, 'WriterC' ,'f'),
	(1011, 'WriterD' ,'f'),
	(1012, 'WriterE' ,'m'),
	(1013, 'WriterF' ,'m'),
	(1014, 'WriterG' ,'f'),
	(1015, 'WriterH' ,'f');

	CREATE TABLE authorbook
	(
	  auth_id  INT NOT NULL,
	  bk_id   INT NOT NULL,
	  PRIMARY KEY (auth_id, bk_id),
	  FOREIGN KEY (auth_id) REFERENCES authors (auth_id),
	  FOREIGN KEY (bk_id) REFERENCES books (bk_id)
	);

	INSERT INTO authorbook
	VALUES (1001, 11033), (1002, 11035), (1003, 11072), (1004, 11028),
	(1011, 11078), (1012, 11026), (1012, 11041), (1014, 11069);

2、题目作答

1、使用mysqldump命令备份数据库中的所有表

[root@coco ~]# mkdir -p /aa/bb 创建随机目录进行选定备份地址
[root@coco ~]# mysqldump -uroot -p beifen > /aa/bb/cc.sql
Enter password: 引用备份语法语句进行对该数据库的三个表进行全局备份
[root@coco ~]# cd /aa/bb
[root@coco bb]# 
[root@coco bb]# cat cc.sql

-- MySQL dump 10.13  Distrib 5.7.18, for Linux (x86_64)
--
-- Host: localhost    Database: beifen
-- ------------------------------------------------------
-- Server version	5.7.18

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table `authorbook`
--
以下省略

2、备份beifen数据库中的books表

[root@coco ~]# mkdir /aa/cc
[root@coco ~]# mysqldump -uroot -p beifen books > /aa/cc/beifen[books].sql
Enter password: 
[root@coco ~]# mkdir /aa/cc
[root@coco ~]# mysqldump -uroot -p beifen books > /aa/cc/beifen[books].sql
Enter password: 
[root@coco ~]# 
[root@coco ~]# cd /aa/cc
[root@coco cc]# cat beifen[books].sql
-- MySQL dump 10.13  Distrib 5.7.18, for Linux (x86_64)
--
-- Host: localhost    Database: beifen
-- ------------------------------------------------------
-- Server version	5.7.18

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table `books`
--

DROP TABLE IF EXISTS `books`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `books` (
  `bk_id` int(11) NOT NULL,
  `bk_title` varchar(50) NOT NULL,
  `copyright` year(4) NOT NULL,
  PRIMARY KEY (`bk_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `books`
--

3、使用mysqldump备份booksDB和test数据库

[root@coco ~]# mkdir /aa/dd
[root@coco ~]# mysqldump -uroot -p --databases beifen haha > /aa/dd/beifen[haha].sql
Enter password: 
[root@coco ~]# cd /aa/dd
[root@coco dd]# cat beifen[haha].sql
-- MySQL dump 10.13  Distrib 5.7.18, for Linux (x86_64)
--
-- Host: localhost    Database: beifen
-- ------------------------------------------------------
-- Server version	5.7.18

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Current Database: `beifen`
--

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `beifen` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `beifen`;

--
-- Table structure for table `authorbook`

4、使用mysqldump备份服务器中的所有数据库

[root@coco ~]# mysqldump -uroot -p -A > /aa/cc/sql[all].sql
Enter password: 
[root@coco ~]# 
[root@coco ~]# 
[root@coco ~]# cd /aa/cc
[root@coco cc]# 
[root@coco cc]# ls
beifen[books].sql  sql[all].sql
[root@coco cc]# cat sql[all].sql
-- MySQL dump 10.13  Distrib 5.7.18, for Linux (x86_64)
--
-- Host: localhost    Database: 
-- ------------------------------------------------------
-- Server version	5.7.18

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Current Database: `beifen`
--

5、使用mysql命令还原第二题导出的book表

恢复备份的语句为:
语法(Syntax):
mysql -u<username> -p<password> <dbname> < /opt/mytest_bak.sql   #库必须保留,空库也可
说明:指定dbname,相当于use <dbname>
[root@coco ~]# mysql -uroot -p beifen < /aa/cc/beifen[books].sql
Enter password: 
[root@coco ~]# 

6、进入数据库使用source命令还原第二题导出的book表

首先:删除其数据库的源代码
[root@coco ~]# mysql -uroot -p -e "drop database beifen;"
Enter password: 
其次:进入MySQL系统中创建其一个数据库,任意都行
mysql> create database beifen;
Query OK, 1 row affected (0.00 sec)
然后:进行代码导出到新创建的数据库中
[root@coco cc]# mysql -uroot -p beifen < /aa/cc/beifen[books].sql
Enter password: 
最后,在进入数据库中,进行source语句恢复备份
mysql> source /aa/cc/beifen[books].sql
Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected, 1 warning (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

第二节 索引

1.题目

代码如下(示例):

二、索引
	1、建立一个utf8编码的数据库test1
	2、建立商品表goods和栏目表category
	按如下表结构创建表:存储引擎engine myisam 字符集charset utf8

		mysql> desc goods;
		+------------+-------------+------+-----+---------+----------------+
		| Field      | Type        | Null | Key | Default | Extra          |
		+------------+-------------+------+-----+---------+----------------+
		| goods_id   | int(11)     | NO   | PRI | NULL    | auto_increment |
		| goods_name | varchar(20) | NO   |     |         |                |
		| cat_id     | int(11)     | NO   |     | 0       |                |
		| brand_id   | int(11)     | NO   |     | 0       |                |
		| goods_sn   | char(12)    | NO   |     |         |                |
		| shop_price | float(6,2)  | NO   |     | 0.00    |                |
		| goods_desc | text        | YES  |     | NULL    |                |
		+------------+-------------+------+-----+---------+----------------+
		7 rows in set (0.00 sec)

		
		mysql> desc category;
		+-----------+-------------+------+-----+---------+----------------+
		| Field     | Type        | Null | Key | Default | Extra          |
		+-----------+-------------+------+-----+---------+----------------+
		| cat_id    | int(11)     | NO   | PRI | NULL    | auto_increment |
		| cate_name | varchar(20) | NO   |     |         |                |
		| parent_id | int(11)     | NO   |     | 0       |                |
		+-----------+-------------+------+-----+---------+----------------+
		3 rows in set (0.00 sec)


2.题目作答

3、删除 goods 表中的 goods_desc 字段及货号字段,并增加 click_count 字段

1、删除goods中的goods_desc和货号字段
mysql> alter table goods drop goods_desc;
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> alter table goods drop goods_id;
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

2、增加click_count字段
mysql> alter table goods add click_count int not null;
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

4、在 goods_name 列上加唯一性索引(用alter table方式)

1、用alter table命令增加唯一索引
mysql> alter table goods add unique index goodsname (goods_name);
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0
2、输入show index from goods \G查看其表的索引

在这里插入图片描述

5、在 shop_price 列上加普通索引(用create index方式)

mysql> create index shopprice on goods(shop_price);
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

在这里插入图片描述

6、在 click_count 上增加普通索引,然后再删除 (分别使用drop index和alter table删除)

1、先创建普通索引
mysql> create index clickcount on goods(click_count);
Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0
2、其次查看表的索引状态
    Table: goods
   Non_unique: 1
     Key_name: clickcount
 Seq_in_index: 1
  Column_name: click_count
    Collation: A
  Cardinality: 0
     Sub_part: NULL
       Packed: NULL
         Null: 
   Index_type: BTREE
      Comment: 
Index_comment: 
3 rows in set (0.00 sec)
3、成功添加以后,删除索引
①mysql> alter table goods drop index clickcount;
Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0

②mysql> drop index clickcount on goods;
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

4、再输入 show index from goods \G查看click_count的索引状态
被删除了....


第三节 视图

1 题目

视图
	学生表:Student (Sno, Sname, Ssex , Sage, Sdept)
	学号,姓名,性别,年龄,所在系 Sno为主键
	
	课程表:Course (Cno, Cname,)
	课程号,课程名 Cno为主键
	
	学生选课表:SC (Sno, Cno, Score)
	学号,课程号,成绩 Sno,Cno为主键
	

2 题目作答

1、创建一视图 stu_info,查询全体学生的姓名,性别,课程名,成绩。

mysql> create view stu_info as select student.sname,student.ssex,course.cno,sc.score from student,sc,course where student.sno=sc.sno and sc.cno==course.cno;
Query OK, 0 rows affected (0.00 sec)

在这里插入图片描述

2、删除视图 stu_info。

mysql> drop view stu_info;
Query OK, 0 rows affected (0.00 sec)

mysql> desc stu_info;
ERROR 1146 (42S02): Table 'Student.stu_info' doesn't exist
mysql> 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/752401.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

django框架向DRF框架演变过程详解

一、Django框架实现项目查询接口 主要知识点&#xff1a; Django框架视图函数 1、在 Django 项目中创建一个应用&#xff08;如果还没有创建&#xff09;&#xff1a; python manage.py startapp projects 2、在项目的 models.py 文件中定义项目模型 from django.db impor…

视频融合平台EasyCVR登录后通道数据及菜单栏页面显示异常的排查与解决

EasyCVR可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有GB28181、RTSP/Onvif、RTMP等&#xff0c;以及厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等&#xff0c;能对外分发RTSP、RTMP、FLV、HLS、WebRTC等格式的视频流。 有用…

只需三步实现Gateway结合Sentinel实现无侵入网关限流,注意避坑!

前言&#xff1a;本文基于您已有基础的可运行的微服务系统&#xff0c;使用了Sping Cloud Alibaba&#xff0c;Gateway,Nacos等&#xff1b;目标实现网关流控类型的限流。 顾名思义限流用于在高并发场景下限制请求流量的进入&#xff0c;保护系统不被冲垮。阿里巴巴的开源senti…

数据库慢查询优化

数据库慢查询优化 1.分析慢查询原因 分析导致慢查询的原因是数据库性能优化的关键步骤之一。下面是一些常见的方法和工具&#xff0c;可以帮助你确定慢查询的原因&#xff1a; 慢查询日志&#xff1a; 开启慢查询日志&#xff0c;允许数据库记录执行时间超过阈值的查询语句。…

百度ERNIE 3.0——中文情感分析实战

目录 前言一、百度ERNIE 3.0二、使用ERNIE 3.0中文预训练模型进行句子级别的情感分析2-1、环境2-2、数据集加载2-3、加载预训练模型和分词器2-4、基于预训练模型的数据处理2-5、数据训练和评估2-6、模型验证2-7、情感分析结果的预测以及保存 三、自定义个人案例3-1、如何自定义…

数据库语句

文章目录 数据库语句SQL语言分类MySQL中6种常见的约束1.DDL1.1 创建新的数据库1.2 创建新的表1.3 删除指定的数据表 2.DML管理表2.1 插入数据2.2 修改&#xff08;更新数据&#xff09;2.3 在数据表中删除指定的数据 3.DQL查询数据记录4.DCL4.1 修改表名和表结构4.2 扩展表结构…

Node.js详解(四):连接MongoDB

文章目录 一、安装MongoDB访问驱动二、连接数据库三、添加数据四、添加多条数据五、修改数据六、查询数据1、查询单条记录2、查询多条记录 七、删除数据八、完整示例代码1、路由 Api 接口&#xff1a;2、运行结果&#xff1a; MongoDB 对许多平台都提供驱动可以访问数据库&…

前端vue入门(纯代码)31_route-link的repalce属性

如果夜里十二点我还回你消息&#xff0c;那么意味着什么&#xff0c;意味着我是真的很喜欢玩手机。 【29.Vue Router--router-link的replace属性】 <router-link>的replace属性 replace属性的作用是&#xff1a;控制路由跳转时操作浏览器历史记录的模式。【当我们从一个…

城市内涝监测设备-内涝监测终端

随着我国城市化发展迅速、全球极端天气现象频发带来的暴雨天气增多&#xff0c;汛期暴雨引发道路低洼处、立交桥底、隧道、涵洞等城市 内涝时有发生&#xff0c;甚至开启城市看海模式&#xff0c;对交通、电力、通讯等造成了严重的影响和破坏&#xff0c;严重时造成人民生命、财…

放弃使用Merge,开心拥抱Rebase!

1. 引言 大家好&#xff0c;我是比特桃。Git 作为现在最流行的版本管理工具&#xff0c;想必大家在开发过程中都会使用。由于 Git 中很多操作默认是采用 Merge 进行的&#xff0c;并且相对也不容易出错&#xff0c;所以很多人都会使用 Merge 来进行合并代码。但Rebase 作为 Gi…

官宣!菁英实习生计划启动,百度大模型团队诚邀你的加入

大模型风起&#xff0c;人才需求涌 在这个充满变革的时代&#xff0c;我们见证了AI的快速发展。从“阿尔法狗”击败世界围棋冠军&#xff0c;到生成式大模型以势不可挡的浪潮席卷全球&#xff0c;掀起人类社会一场眩晕式变革。新技术、新工具、新的生产力正在改变经济活动各环…

小红书运营推广

大家好&#xff0c;我是权知星球&#xff0c;今天给大家分享一下小红手运营推广的一些经验&#xff0c;希望能给大家运营小红书带来一些帮助。 这篇文章虽然是基于小红书的运营写的&#xff0c;但新媒体的东西都是相通的&#xff0c;相信这篇文章对运营其他媒体的同学也会有所…

抓包工具Fiddler:fiddler的介绍及安装

Fiddler简介 Fiddler是比较好用的web代理调试工具之一&#xff0c;它能记录并检查所有客户端与服务端的HTTP/HTTPS请求&#xff0c;能够设置断点&#xff0c;篡改及伪造Request/Response的数据&#xff0c;修改hosts&#xff0c;限制网速&#xff0c;http请求性能统计&#xff…

MyBatis源码分析_Executor组件及3个火枪手(6)

目录 1. 前提 2. Executor执行器 3. 总结 4. 三个火枪手 5. StatementHandler生成Statement 6. ParameterHandler 参数解析 7. BoundSql的数据结构 8. 总结 1. 前提 在Mybatis源码分析_事务管理器 &#xff08;5&#xff09;_chen_yao_kerr的博客-CSDN博客一文中&…

网关微服务简单配置

导入一下网关的基本依赖 <dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency><dependency><groupId>com.alibaba.cloud<…

直播商城系统源码的威力:开启直播购物新时代

随着科技的不断进步和人们对互动性购物体验的追求&#xff0c;直播购物正成为电商行业的热门趋势。直播商城系统源码的威力在这一潮流中愈发显现&#xff0c;为商家和消费者提供了无限的机会和便利。 下面是一个简单的示例&#xff0c;展示了如何利用直播商城系统源码创建一个…

深度强化学习:深度解析 MADDPG

深度强化学习:深度解析 MADDPG 学习强化学习,码代码的能力必须要出众,要快速入门强化学习 搞清楚其中真正的原理,读源码是一个最简单的最直接的方式。最近创建了一系列该类型文章,希望对大家有多帮助。 另外,我会将所有的文章及所做的一些简单项目,放在 1.MADDPG 原理…

JS脚本 - 批量给所有指定标签追加Class属性

JS脚本 - 批量给所有指定标签追加Class属性 前言一. 脚本二. 测试运行 前言 公司里我们有个应用引入了UBT埋点&#xff0c;记录了页面上所有的点击操作以及对应的点击按钮。但是我们看下来发现&#xff0c;我们需要给每个按钮加一个唯一标识做区分&#xff0c;并且这个ID是给U…

选读SQL经典实例笔记07_日期处理(下)

1. 一个季度的开始日期和结束日期 1.1. 以yyyyq格式&#xff08;前面4位是年份&#xff0c;最后1位是季度序号&#xff09;给出了年份和季度序号 1.2. DB2 1.2.1. sql select (q_end-2 month) q_start,(q_end1 month)-1 day q_endfrom (select date(substr(cast(yrq as c…

Linux系统编程(信号处理 sigacation函数和sigqueue函数 )

文章目录 前言一、sigaction二、sigqueue函数三、代码示例总结 前言 本篇文章我们来介绍一下sigacation函数和sigqueue函数。 一、sigaction sigaction 是一个用于设置和检查信号处理程序的函数。它允许我们指定信号的处理方式&#xff0c;包括指定一个函数作为信号处理程序…