数据库标准语言SQL(四)——索引的相关操作 + 插入数据

数据库标准语言SQL(四)——索引的相关操作 + 插入数据

一.前言

建立索引的目的就是为了加快查询的速度。索引是关系数据库的内部实现技术,属于内模式的范畴。虽然讲,索引越多查询起来越快,但是还是要考虑索引一旦太多,势必会影响内存消耗。所以说还是要平衡一下。
然后介绍一点点插入的操作,因为接下来就是查询部分,总得有东西吧。

1.建立索引

(1)DBA和建表的人可以建立索引
(2)DBMS会自动建立PRIMARY KEY、UNIQUE 列的索引。
关于这两个列的问题,我们可以看看第三篇的内容,里面建表是就有几个这样的列。链接如下:
数据库标准语言SQL(三)——基本表的相关操作

2.维护索引

DBMS会自动完成索引的维护

3.使用索引

DBMS会自动选择是否使用索引来便利查询,以及使用哪一些索引。

二、索引操作的具体实现

1.建立索引

#在Student表的Sname列建立一个聚簇索引
create cluster index Stusanme on Student(Sanme);

执行以后是这样的
在这里插入图片描述
这个聚簇索引在建立前要先建立一个聚簇,好像这个部分暂时我还没有学到,以后学到会专门写一个,来补充的。才疏学浅,不好意思。

#这里在上一篇文章中,我们已经对于Student的Sno列建立了约束,
#自然而然就有了索引
create unique index Stusno on Student(Sno);

在这里插入图片描述
在这里插入图片描述
那就随便建几个然后在后面删了,没意见吧

create unique index Stusex on Student(Ssex);
create unique index Coucname on Course(Cname);

在这里插入图片描述

2.删除索引

我发现,之前书上的例子由于在建表时候已经对这些列增加了索引,所以我们试着先给他删了再说。

drop index SYS_C007575;
drop index SYS_C007577;
drop index SYS_C007579;

呃,就很奇妙
在这里插入图片描述

#删上面的
drop index Stusex;
drop index Coucname;

3.更改索引名

好吧,之前那些已经建立,且无法消除的,我就给他改名,强行迎合,关键也是看这些系统名字不爽

alter index SYS_C007575 rename to Stusno;
alter index SYS_C007577 rename to Cno;
alter index SYS_C007579 rename to SCno;

比较好
在这里插入图片描述

三、插入操作

1.单行插入

一次插入一行

插入语句
insert into Student(Sno,Sname,Ssex,Sage,Sdept)
values('201215121','李莉','男',20,'CS');
查询语句
select *
from student;

在这里插入图片描述

2.多行插入

#多行插入
insert all
into student(sno,sname,ssex,sage,sdept) values('20125122','刘星','女',19,'CS')
into student(sno,sname,ssex,sage,sdept) values('20125123','王浩然','女',18,'MA')
into student(sno,sname,ssex,sage,sdept) values('20125125','张立','男',19,'IS')
into student(sno,sname,ssex,sage,sdept) values('20125124','王强','男',22,'CS')
into student(sno,sname,ssex,sage,sdept) values('20125120','李爽','男',20,'CS')
select * from student;

在这里插入图片描述
这里想说的是,如果后面没有那个select会提示缺少关键词,咱也不知道,而且,是

select * from dual;

我就是尝试不用dual行不行,结果可以。这可能是个坑,但是问题好像还没有暴露。
我查了一下,给大家推荐一篇大牛的文章,希望可以帮大家解决上面的问题
博客园的一篇文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

瑾瑜含章

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值