Mysql数据库的备份与恢复以及索引操作
一,备份与恢复操作
1,创建数据库booksDB
CREATE DATABASE booksDB;
use booksDB;
2,建表
(1)创建表books
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);
(2)创建表authors
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');
(3)创建表authorbook
CREATE TABLE authorbook
(
auth_id INT NOT NULL,
bk_id INT NOT NULL
);
加入数据
INSERT INTO authorbook
VALUES (1001, 11033), (1002, 11035), (1003, 11072), (1004, 11028),
(1011, 11078), (1012, 11026), (1012, 11041), (1014, 11069);
3,备份与恢复操作
(1)使用mysqldump命令备份数据库中的所有表
首先退出数据库:quit
然后进入目录 cd /d D:\Program Files\MySQL\MySQL Server 8.0\bin
最后进行备份:mysqldump -uroot -p123456 booksDB > backup.sql
在文件夹D:\Program Files\MySQL\MySQL Server 8.0\bin路径下找到backup.sql文件,且文件大小不为0,则表示备份成功
(2)备份booksDB数据库中的books表
mysqldump -uroot -p123456 booksDB books > backup_books.sql
(3)使用mysqldump备份booksDB和test数据库(test数据库自行准备)
mysqldump -uroot -p123456 booksDB > backup.sql
mysqldump -uroot -p123456 test > test.sql
(4)使用mysql命令还原第二题导出的book表
先删除books表
mysql -uroot -p123456 booksDB < backup_books.sql
booksDB数据库中books表已恢复
(5)进入数据库使用source命令还原第二题导出的book表
source D:\\Program Files\\MySQL\\MySQL Server 8.0\\bin\\backup_books.sql;
4,索引操作
(1)创库建表
1>.创建表goods
create table goods(
goods_id int primary key auto_increment,
goods_name varchar(20) not null,
cat_id int not null default 0,
brand_id int not null default 0,
goods_sn char(12) not null,
shop_price float(6,2) not null default 0.00,
goods_desc text
);
2>.创建表category
create table category(
cat_id int primary key auto_increment,
cate_name varchar(20),
parent_id int default 0 );
(2)删除 goods 表中的 goods_desc 字段及货号字段,并增加 click_count 字段
ALTER TABLE goods
DROP COLUMN goods_desc,
DROP COLUMN goods_sn;
ALTER TABLE goods
ADD COLUMN click_count int NOT NULL DEFAULT 0;
可以看出goods_desc 字段被click_count 字段代替
(3)在 goods_name 列上加唯一性索引(用alter table方式):
ALTER TABLE goods
ADD UNIQUE (goods_name);
(4)在 shop_price 列上加普通索引(用create index方式)
CREATE INDEX idx_shop_price ON goods(shop_price);
(5)在 click_count 上增加普通索引,然后再删除 (分别使用drop index和alter table删除)
在 click_count 上增加普通索引
CREATE INDEX idx_click_count ON goods(click_count);
使用drop index删除
DROP INDEX idx_click_count ON goods;
使用alter table删除
ALTER TABLE goods
DROP COLUMN click_count;
原文地址:https://blog.csdn.net/lyx20030830/article/details/140402123
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!