【MySQL备份与还原、索引、视图】练习

这篇具有很好参考价值的文章主要介绍了【MySQL备份与还原、索引、视图】练习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、备份与还原

/***************************样例表***************************/
CREATE DATABASE booksDB;
	use booksDB;
	
	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);
/***************************样例表***************************/

【MySQL备份与还原、索引、视图】练习,mysql,数据库

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

[root@localhost ~]# mysqldump -uroot -p密码 booksDB > db/booksDB

【MySQL备份与还原、索引、视图】练习,mysql,数据库
2、备份booksDB数据库中的books表

[root@localhost ~]# mysqldump -u root -p密码 booksDB books > db/books

【MySQL备份与还原、索引、视图】练习,mysql,数据库

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

[root@localhost ~]# mysqldump -u root -p密码 --databases booksDB test > db/two

【MySQL备份与还原、索引、视图】练习,mysql,数据库
4、使用mysqldump备份服务器中的所有数据库

[root@localhost ~]# mysqldump -uroot -p密码 -A > db/all

【MySQL备份与还原、索引、视图】练习,mysql,数据库
5、使用mysql命令还原第二题导出的books表

先删除table
【MySQL备份与还原、索引、视图】练习,mysql,数据库

[root@localhost ~]# mysql -uroot -p密码 booksDB < db/books

查看
【MySQL备份与还原、索引、视图】练习,mysql,数据库
6、进入数据库使用source命令还原第二题导出的books表

#其它步骤一样
mysql> source db/books;

二、索引

1、建立数据库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    |                |
	| good_desc | text        | YES  |     | NULL    |                |
	+------------+-------------+------+-----+---------+----------------+
	7 rows in set (0.00 sec)

	mysql> create table goods(
-> goods_id int(11) primary key auto_increment,
-> goods_name varchar(20) not null,
-> cat_id int(11) not null default 0,
-> brand_id int(11) not null default 0,
-> goods_sn char(12) not null,
-> shop_price float(6,2) not null default 0.00,
-> good_desc text default null)engine=myisam;

	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)
mysql> create table category(
    -> cat_id int(11) primary key auto_increment,
    -> cate_name varchar(20) not null,
    -> parent_id int(11) not null default 0 );

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

mysql> alter table goods drop column goods_sn,drop column good_desc;
mysql> alter table goods add click_count int;

【MySQL备份与还原、索引、视图】练习,mysql,数据库
4、在 goods_name 列上加唯一性索引(用alter table方式)

mysql> alter table goods add unique index_name(goods_name);

【MySQL备份与还原、索引、视图】练习,mysql,数据库
5、在 shop_price 列上加普通索引(用create index方式)

mysql> create index index_price on goods(shop_price);

【MySQL备份与还原、索引、视图】练习,mysql,数据库
6、在 click_count 上增加普通索引,然后再删除 (分别使用drop index和alter table删除)

mysql> create index index_click on goods(click_count);
#drop index删除
mysql> drop index index_click on goods;
#alter table删除
mysql> alter table goods drop index index_click;

三、视图

学生表:Student (Sno, Sname, Ssex , Sage, Sdept)
依次为学号,姓名,性别,年龄,所在系, Sno为主键
mysql> CREATE TABLE student (
    ->   sno INT PRIMARY KEY,
    ->   sname VARCHAR(255), 
    ->   ssex VARCHAR(10),   
    ->   sage INT,
    ->   sdept VARCHAR(255) 
    -> );
insert into student values(1,'bob','m',20,'人工智能');
insert into student values( 2,'harry','m',22,'电气信息');
insert into student values( 3,'natasha','f',23,'电气信息');
insert into student values( 4,'sarah','m',21,'人文');
insert into student values( 5,'manalo','f',21,'艺术');

​ 课程表:Course (Cno, Cname,)
​ 课程号,课程名, Cno为主键

mysql> create table cource(
    -> cno int primary key,
    -> cname varchar(255));
insert into cource values( 10,'JAVA');
insert into cource values( 11,'英语');
insert into cource values( 12,'近代史');
insert into cource values( 13,'C++');
insert into cource values( 14,'毛概');

​ 学生选课表:SC (Sno, Cno, Score)
​ 学号,课程号,成绩 Sno,Cno为主键

mysql> create table sc( sno int , cno int primary key, score int);
insert into sc values(1,10,78.5);
insert into sc values(2,11,82.5);
insert into sc values(3,14,90.0);
insert into sc values(4,13,98.5);
insert into sc values(5,12,75.5);

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

mysql> CREATE VIEW `stu_info` (`姓名`, `性别`, `课程名`, `成绩`) AS SELECT stu.sname, stu.ssex, cou.cname, sc.score FROM student stu, cource cou, sc WHERE stu.sno = sc.sno and cou.cno = sc.cno;

【MySQL备份与还原、索引、视图】练习,mysql,数据库
2、删除视图 stu_info。文章来源地址https://www.toymoban.com/news/detail-590560.html

mysql> drop view stu_info;

到了这里,关于【MySQL备份与还原、索引、视图】练习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Mysql之视图,索引及数据的备份与恢复

    目录 一、视图 1.视图是什么 2.视图与数据表的区别 3.视图的优缺点 优点: 缺点: 4.视图的应用场景 5.语法运用 二、索引 1.什么是索引 2.为什么要使用索引 3.使用索引的优缺点 4.何时不使用索引 5.索引何时失效 6.索引分类 三、数据的备份与恢复 1.数据库工具内导入导出 2.m

    2024年02月13日
    浏览(58)
  • Docker容器MySQL数据库的备份与还原,以及每天定时自动备份.

    根据自己需要,我这个是Debian的5.7版本的镜像。 这个地方一定要注意: 有些版本的docker镜像里面移除了MySQL自带的工具。包括Mysqlbinlog,Mysqlcheck等。所以即使你开启了binlog,也是没有办法还原数据的,这里要注意一下镜像的选择。 mkdir三个文件夹,方便持久化。 /home/mysql/c

    2024年02月05日
    浏览(69)
  • MySQL 数据库的备份与还原案例分享 2023.07.12

        1、使用mysqldump命令备份数据库中的所有表     2、备份booksDB数据库中的books表     3、使用mysqldump备份booksDB和test数据库     4、使用mysqldump备份服务器中的所有数据库     5、使用mysql命令还原第二题导出的book表     6、进入数据库使用source命令还原第二题导出的bo

    2024年02月16日
    浏览(51)
  • 数据备份与还原,(mysqldump,source)索引(index),创建视图(view)

    一、备份与还原 1、使用mysqldump命令备份数据库中的所有表 2、备份booksDB数据库中的books表 3、使用mysqldump备份booksDB和test数据库 4、使用mysqldump备份服务器中的所有数据库 5、使用mysql命令还原第二题导出的book表 6、进入数据库使用source命令还原第二题导出的book表 索引 1、建立

    2024年02月15日
    浏览(37)
  • 开源数据库Mysql_DBA运维实战 (备份与还原)

    备份对于数据库而言是至关重要的。当数据文件发生损坏、MySQL服务出现错误、系统内核崩溃、计算机硬件损坏或者数据被误删等事件时,使用一种有效的数据备份方案,就可以快速解决以上所有的问题。MySQL提供了多种备份方案,包括: 逻辑备份、物理备份、全备份以及增

    2024年02月12日
    浏览(73)
  • 【MySQL】数据库的增删改查、备份、还原等基本操作

    大写的表示 [] 是可选项 CHARACTER SET: 指定数据库采用的字符集 COLLATE: 指定数据库字符集的校验规则 创建数据库的时候,有两个编码集: 1.数据库编码集——数据库未来存储数据 2.数据库校验集——支持数据库进行字段比较使用的编码,本质也是一种读取数据库中数据采

    2024年02月08日
    浏览(78)
  • MySQL:事务、索引、用户管理、备份、数据库设计(三大范式)

    事务 (transaction):要么都成功,要么都失败。 核心 :将一组 SQL 放在一个批次中去执行。 原则 ACID :原子性(atomicity)、一致性(consistency)、隔离性(isolation)、持久性(durability)。 原子性 :一个事务中的所有步骤 要么都 成功, 要么都 失败,不能只成功一个步骤。 一致性 :包括

    2023年04月26日
    浏览(81)
  • MySQL视图索引基础练习

    学生表:Student (Sno, Sname, Ssex , Sage, Sdept) 学号,姓名,性别,年龄,所在系 Sno为主键 课程表:Course (Cno, Cname,) 课程号,课程名 Cno为主键 学生选课表:SC (Sno, Cno, Score) 学号,课程号,成绩 Sno,Cno为主键 (1)创建课程表: (2)给学生表、课程表、学生选课表插入数据 a.学生表(Stud

    2024年01月17日
    浏览(36)
  • 五、MySQL---练习3(索引视图)

    素材: 1.学生表:Student (Sno, Sname, Ssex , Sage, Sdept) 学号,姓名,性别,年龄,所在系 Sno为主键 2.课程表:Course (Cno, Cname) 课程号,课程名 Cno为主键 3.学生选课表:SC (Sno, Cno, Score) 学号,课程号,成绩 Sno,Cno为主键 题目: 解题: 1.用SQL语句创建学生表student,定义主键,姓名不

    2024年01月20日
    浏览(41)
  • MySQL索引和视图基础练习题

    学生表:Student (Sno, Sname, Ssex , Sage, Sdept) 学号,姓名,性别,年龄,所在系Sno为主键 课程表:Course (Cno, Cname,) 课程号,课程名Cno为主键 学生选课表:SC (Sno, Cno, Score) 学号,课程号,成绩Sno,Cno为主键 1.用SQL语句创建学生表Student,定义主键,姓名不能重名,性别只能输入男或女

    2024年01月17日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包