--创建数据表foreign1
create table pr_foreign1(
id int primary key auto_increment,
name varchar(20) not null,
c_id int,
foreign key(c_id) references pr_class(id)
)charset utf8;
--创建myisam引擎数据表:此种数据表可以直接复制文件进行备份
create table my_myisam(
id int
)charset utf8 engine myisam;
--单表数据备份:只能备份数据,通常使用将表中的数据导出到文件
select * into outfile 'd:/server/temp/class.txt' from class;
--单表数据备份高级操作:对字段和行进行指定设置
--单表备份
select * into outfile 'd:/server/temp/class1.txt'
fields
enclosed by """" --字段用“”双引号包裹
terminated by "|" --字段用竖线分隔
lines
starting by "start:" --行用start:开始
from class;
--还原数据表
load data infile 'd:/server/temp/class1.txt'--从外部文件获取数据
into table class --添加到数据表
fileds enclosed by """" --备份时制定的字段格式
terminated by "|"
lines starting by "start:";
--SQL数据表备份
--需要使用mysql提供的外部软件mysqldump.exe
--备份学生信息表:数据库php0810下的student数据表
mysqldump -uroot -p123 php0810 student>d:/server/temp/student.sql
--还可以备份整个数据库
mysqldump -uroot -p123 php0810>d:/server/temp/database.sql
--还原:有两种方式:
--使用mysql.exe客户端实现:还原student数据表 在数据库外面直接运行
mysql -uroot -p123 php0810
--使用mysql.exe客户端还原数据库php0810
mysql -uroot -p123 php0810
--使用SQL语句还原数据表:直接在数据库里面进行
source d:/server/temp/student.sql;
--使用SQL语句还原数据库
source d:/server/temp/database.sql;
--创建单表视图
create view pr_v4 as select * from pr_class;
--创建多表视图
create view pr_v3 as select s.*,c.classname,c.room from pr_student as s left join pr_class as c on s.class=c.id;
--创建多表视图并带有限定字段
create view pr_v5 as select * from pr_student where age>23 with check option;
--需求:选出每个班级身高最高的学生
--创建单表视图并带有指定算法:先选出按照身高排序的视表
create algorithm=temptable view pr_v6 as select * from pr_student order by height desc;
--选择以班级分组的最高的学生
select * from pr_v6 group by class;
--删除外键
alter table pr_foreign1 drop foreign key pr_foreign1_ibfk_1;
--追加外键
alter table pr_foreign1 add foreign key(c_id) references pr_class(id);
--创建表示增加外键
create table pr_foreign5(
id int primary key,
name varchar(20),
c_id int,
foreign key(c_id) references pr_class(id)
)charset utf8;