試圖:單表+多表

-- 試圖:單表+多表

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

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容