数据库中序列、索引、视图的基本用法

在我们平常的开发工作中,经常会用到序列、视图、索引等,那么,序列、主键和视图都有什么作用呢?今天,主要写写这三个的基本用法。

1:序列:

在mysql中,为了让表的主键自增,我们可以设置表的主键自增,然后插入值就行了。但是在oracle中,没有主键自增的特性。那么,我们应该如何实现自增的主键值呢?这个时候,可以使用序列,插入的时候,取序列的值。

create sequence order_id
minvalue 1
maxvalue 99999999
start with 1
increment by 1

在表插入值得时候,主键的值写order_id.nextval即可;

那么平常开发使用mybatis框架,使用mysql数据库时,应该如何设置主键自增呢?

<insert id="insertUser"  parameterType="com.example.model.entity.User" useGeneratedKeys="true" keyProperty="id" keyColumn = "id">
        INSERT INTO USER (username) VALUES (#{username}
</insert>

主要有三个参数:
1):useGeneratedKeys="true",设置主键自增
2):keyProperty="id",对应的对象
3):keyColumn = "id",对应的数据库字段,默认对应表的第一个字段

2:索引:

如果表里的数据量比较大时,可以使用索引。如果表中数据很少时,不必使用索引。有的字段,需要经常进行查询,那么,建立合适的索引,可以提高查询效率。

创建索引基本语法:

CREATE INDEX index_name ON table_name (column_name);

示例如下:

CREATE INDEX index_total ON orders (total);

那么,索引既然可以提高查询效率,索引什么时候会失效呢?

1)当时用or作为条件的时候会失效;

2)如果模糊查询以%开头,会导致索引失效,如果是“adu%”,则会使用索引;

3)组合索引未使用最左边开始的索引,则索引会失效。如组合索引未(name,age,id),where  age  = 12,不使用name,则会导致索引失效;

4)如果查询的类型是字符串类型,那么要使用引号,如where  city  = ‘baoji’,否则会导致索引失效。

3:视图:

在平常的开发工作中,需要经常进行展示数据。视图可以更好的展示需要的数据,减少不必要的数据展示。视图可以更好的提高数据的安全性。因为使用视图是虚拟,不能对原数据表进行直接操作。能够对不同角度的用户,展示不同的数据。比如管理员、用户,可以看到不同维度的数据。

创建一个基本的视图语法:

CREATE VIEW 视图名 AS  select语句;

示例如下:

CREATE VIEW ordres_view AS SELECT * FROM orders;

查询视图中的数据:

SELECT * FROM ordres_view;

总结:以上总结了数据库中索引、序列、视图的基本用法。

知识就是要不断的学习,不断的复习,才会记忆的更加的深刻。加油,美好的风景一直在路上!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值