一、备份与还原
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.插入数据
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 </backup/db/booksDB[books].sql
6、进入数据库使用source命令还原第二题导出的book表
mysql> 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;