-- 試圖:單表+多表
create view my_v1 as
select * from my_student;
create view my_v2 as
select * from my_student;
create view my_v3 as
select * from my_student as s
left join my_class as c on s.c_id
=c.id; -- id重復
-- 多表試圖
create view my_v3 as
select s.*,c.c_name,c.room * from
my_student as s
left join my_class as c on s.c_id
=c.id;
-- 查看視圖創(chuàng)建語句
show create view my_v3\G
-- 視圖使用
select * from my_v1;
select * from my_v2;
select * from my_v3;
-- 修改視圖
alter view my_v1 as
select id,name,age,sex,,height,
c_id
from my_student;
-- 刪除視圖
drop view my_v4;
-- 多表視圖插入數(shù)據(jù)
insert into my_v3
values(null,'bc20190006','張三豐','男',150,180,1'python1907',
'B407');
--
將學生表的學號字段設置成不允許為空
alter table my_student modify
number char(10) not null unique;
--
單表視圖插入數(shù)據(jù):視圖不包含所有不允許為空的字段
insert into my_v1
values(null,,'張三豐''男',150,180,1,'python1907',
'B407'); -- 失敗(學號不允許為空)
-- 單表視圖插入數(shù)據(jù)
insert into my_v2
values(2,'python1811','B410');
-- 多表視圖刪除數(shù)據(jù)
delete from my_v3 where id=1;
-- 單表視圖刪除數(shù)據(jù)
delete from my_v2 where id=4;
-- 多表視圖更新數(shù)據(jù)
update my_v3 set c_id=3 where id=
5;
--視圖:age字段限制更新
create view my_v4 as
select * from my_student where
age>30 with check option; --
表示視圖的數(shù)據(jù)來源都是年齡大于30歲,
是由where age》30決定的
-- with check
option 決定通過視圖更新的時候,不能
將已經得到的數(shù)據(jù)age>30的改成<30的
--
將視圖可以查到的數(shù)據(jù)改成年齡小于30
update my_v4 set age=29 where id=
3;
-- 可以修改數(shù)據(jù):可以改,但是視圖查不到
update my_v4 set age=32 where id=
2;
-- 獲取所有班級中最高的一個學生
create view my_student order by
height desc;
select * from my_v5 group by c_id;
select * from my_student group by
c_id order by height desc;
-- 指定算法為臨時表算法
create algorithm=temptable view
my_v6 as select * from my_student
order by height desc;
select * from my_v6 group by c_id;
-- 查看mysql的版本
select @@version;
-- 創(chuàng)建myisam表
create table my_myisam(
id int
)charsett
utf8 engine=myisam;
-- 向my_myisam表插入幾條記錄
insert into my_myisam values(1),(
2),(3);
-- 單表數(shù)據(jù)備份
select * into outfile
'D:/1907/wed/student.txt'
from my_student;
select * into outfile
'D:/1907/wed/student.txt'
from my_class;
-- 指定備份處理方式
select * into outfile
'D:/1907/wed/class.txt'
-- 字段處理
fields
enclosed by '"' --
數(shù)據(jù)使用雙引號包裹
terminated by '|' --
使用豎線分隔字段數(shù)據(jù)
-- 行處理
lines
starting by 'START'
from my_class;
delete from my_class;
--還原數(shù)據(jù)
load data infile
'D:/1907/wed/class.txt'
into table my_class
-- 字段處理
fields
enclosed by '"' --
數(shù)據(jù)使用雙引號包裹
terminated by '|' --
使用豎線分隔字段數(shù)據(jù)
-- 行處理
lines
starting by 'START';
-- SQL備份
myaqldump -uroot -p123456
mydatabase my_student > D:/1907/
web/student.sql
-- 整庫備份
myaqldump -uroot -p123456
mydatabase > D:/1907/
web/student.sql
-- 還原數(shù)據(jù):MySQL客戶端還原
myaql -uroot -p123456
mydatabase > D;/1907/
web/student.sql
-- SQL指令還原sql備份
source D;/1907/web/student.sql