试图:单表+多表

-- 试图:单表+多表

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;

-- 查看视图创建语句

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;

-- 多表视图插入数据

insert into my_v3

values(null,'bc20190006','张三丰','男',150,180,1'python1907',

'B407');

--

将学生表的学号字段设置成不允许为空

alter table my_student modify

number char(10) not null unique;

--

单表视图插入数据:视图不包含所有不允许为空的字段

insert into my_v1

values(null,,'张三丰''男',150,180,1,'python1907',

'B407'); -- 失败(学号不允许为空)

-- 单表视图插入数据

insert into my_v2

values(2,'python1811','B410');

-- 多表视图删除数据

delete from my_v3 where id=1;

-- 单表视图删除数据

delete from my_v2 where id=4;

-- 多表视图更新数据

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; --

表示视图的数据来源都是年龄大于30岁,

是由where age》30决定的

-- with check

option 决定通过视图更新的时候,不能

将已经得到的数据age>30的改成<30的

--

将视图可以查到的数据改成年龄小于30

update my_v4 set age=29 where id=

3;

-- 可以修改数据:可以改,但是视图查不到

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;

-- 创建myisam表

create table my_myisam(

id int

)charsett

utf8 engine=myisam;

-- 向my_myisam表插入几条记录

insert into my_myisam values(1),(

2),(3);

-- 单表数据备份

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 '"' --

数据使用双引号包裹

terminated by '|' --

使用竖线分隔字段数据

-- 行处理

lines

starting by 'START'

from my_class;

delete from my_class;

--还原数据

load data infile

'D:/1907/wed/class.txt'

into table my_class

-- 字段处理

fields

enclosed by '"' --

数据使用双引号包裹

terminated by '|' --

使用竖线分隔字段数据

-- 行处理

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

-- 还原数据:MySQL客户端还原

myaql -uroot -p123456

mydatabase > D;/1907/

web/student.sql

-- SQL指令还原sql备份

source D;/1907/web/student.sql

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容