mysql备份,视图

一、备份与还原

1.设计样例表

CREATE DATABASE booksDB;
use booksDB;
--创建表book2
CREATE TABLE books
	(
	  bk_id  INT NOT NULL PRIMARY KEY,
	  bk_title VARCHAR(50) NOT NULL,
	  copyright YEAR NOT NULL
	);
--创建表authors
CREATE TABLE authors
	(
	  auth_id     INT NOT NULL PRIMARY KEY,
	  auth_name  VARCHAR(20),
	 auth_gender CHAR(1)
	);
--创建表authorbook
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)
	);

2.插入数据

mysql备份,视图_第1张图片mysql备份,视图_第2张图片mysql备份,视图_第3张图片

 3.练习题:

1、使用mysqldump命令备份数据库中的所有表
[root@localhost ~]# mysqldump -uroot -p123456 -B booksDB> /backup/db/booksDB.sql

2、备份booksDB数据库中的books表
mysqldump -uroot -p123456  booksDB books > /backup/db/booksDB[books].sql

3、使用mysqldump备份booksDB和test数据库
[root@localhost ~]# mysqldump -uroot -p123456  booksDB -B test1 > /backup/db/booksDB_test1.sql

4、使用mysqldump备份服务器中的所有数据库
[root@localhost ~]# mysqldump -uroot -p123456 -A > /backup/db/all_db.sql

5、使用mysql命令还原第二题导出的book表
[root@localhost ~]# mysql -uroot -p123456 booksDB  source  /backup/db/booksDB[books].sql;

 二、索引

 1、建立一个utf8编码的数据库test1

create database test1 default charset utf8;
use test1

2、建立商品表goods和栏目表category

goods | CREATE TABLE `goods` (
  `goods_id` int(11) NOT NULL AUTO_INCREMENT,
  `goods_name` varchar(20) NOT NULL,
  `cat_id` int(11) NOT NULL,
  `brand_id` int(11) NOT NULL,
  `goods_sn` char(12) NOT NULL,
  `shop_price` float(6,2) NOT NULL,
  `goods_desc` text,
  PRIMARY KEY (`goods_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 

category | CREATE TABLE `category` (
  `cat_id` int(11) NOT NULL AUTO_INCREMENT,
  `cate_name` varchar(20) NOT NULL,
  `parent_id` int(11) NOT NULL,
  PRIMARY KEY (`cat_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

3.题目

3、删除goods中的goods_desc和货号字段,增加click_count字段
mysql> alter table goods drop goods_desc;

mysql> alter table goods drop goods_id;


mysql> alter table goods add click_count int not null;

4、在 goods_name 列上加唯一性索引(用alter table方式)
mysql> alter table goods add unique index goodsname (goods_name); 

5、在 shop_price 列上加普通索引(用create index方式)
mysql> create index shopprice on goods(shop_price);

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

三、视图

题目:

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

练习:

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;


2、删除视图 stu_info。
mysql> drop view stu_info;

你可能感兴趣的:(mysql,数据库)