sql常用知识点1-20

本文介绍了MySQL的多种操作和概念。包括LIMIT函数限制查询结果条数,介绍了不等于、整除、取余等运算符,以及四舍五入、取整等函数。还讲解了复用表格排名、EXPLAIN关键字用途。此外,阐述了数据库建立索引的原因和方法,以及视图的定义、创建目的和作用。
1.limit

LIMIT是MySQL内置函数,其作用是用于限制查询结果的条数

1)其语法格式如下:

LIMIT[位置偏移量,]行数

其中,中括号里面的参数是可选参数,位置偏移量是指MySQL查询分析器要从哪一行开始显示,索引值从0开始,即第一条记录位置偏移量是0,第二条记录的位置偏移量是1,依此类推...,第二个参数为“行数”即指示返回的记录条数。

位置偏移量可以理解为跳过前xx条记录(元组).

2)基本用法

3382609-3245f5ebdd0929c5.png

example:
limit 起始位置(0开始算),显示条数;
上例:SELECT * FROM test limit 2,4 他的起始位置写的是2,由于是从0开始算起的所以自然真正的起始位置是3,后面的4代表显示4条记录.


2.MySQL的不等于

<>
!=


3. 整除div

5 div 2 = 2


4. 取余% 或者 mod

5 % 2 = 1
5 mod 2 = 1


3382609-4ae16853b26f3fe9.png

5. 四舍五入 round

round(1.6) = 2


6.向上取整ceil () /ceiling()

ceil(1.2) = 2


7. 向下取整floor ()

floor(1.3) = 1


8. 复用同一张表格进行比较排名
3382609-ed6832885290451f.png
3382609-a1c29ed927fa8c74.png
3382609-08624f8adc300f2d.png

(摘自:https://www.nowcoder.com/profile/8480859/codeBookDetail?submissionId=20455102


9."EXPLAIN" 关键字
3382609-8e703c78aacb30cb.png
3382609-1dd62117bd046ebf.png

在sql语句前加explain有什么用?

-->不实际执行,而是获得这句SQL的执行计划 -- 通常用于性能优化。


10.MySQL的拼接||
3382609-15f3bffd446ed1f4.png
3382609-b3e3cf2970b94303.png

Mysql 数据库可以使用CONCAT或者CONCAT_WS两种函数进行拼接,但是SQLLite得使用||进行拼接


11.MySQL创建表格
3382609-b0882cd5f864ea04.png
3382609-063ae912e331faf2.png

12. 批量插入数据
3382609-23db3ec3f83178f7.png
3382609-4db31eac358ebd36.png

13.批量插入数据,但不适用replace操作
3382609-2ec127cbfa4f8143.png
3382609-918b3c246ba92178.png
14.创建新表,提取旧表数据到新表
3382609-034e6488c56f9941.png
3382609-c15590836a79e037.png

15.数据库为什么需要建立索引?

数据库利用各种各样的快速定位技术,能够大大提高查询效率。特别是当数据量非常大,查询涉及多个表时,使用索引往往能使查询速度加快成千上万倍。

索引是对数据库表中的一列或多列的值进行排序的一种数据结构。
  索引的作用就类似于书本的目录,新华字典的拼音,偏旁部首的首查字,可以快速的检索到需要的内容,mysql在300万条记录性能就下降了,虽然mysql官方文档说达500万~800万,所以当数据达到几百万的时候,那么索引就很有必要了。
  当表中有大量记录的时候,若要对表进行查询,第一种就是就需要把表中的记录全部取出来,在和查询条件一一对比,然后返回满足条件的记录、这样做就会大大消耗数据库系统的时间,并造成大量磁盘I/O操作;第二种就是在表中建立索引,然后在索引中找到符合查询条件的索引值,最后通过保存在索引中ROWID(相当于页码)快速找到表中的记录


16. 怎么创建索引?

在执行CREATE TABLE语句时可以创建索引,也可以单独用CREATE INDEX或ALTER TABLE来为表增加索引。

(1) ALTER TABLE:

ALTER TABLE用来创建普通索引UNIQUE索引PRIMARY KEY索引。

ALTER TABLE table_name ADD INDEX index_name (column_list)

ALTER TABLE table_name ADD UNIQUE (column_list)

ALTER TABLE table_name ADD PRIMARY KEY (column_list)

其中table_name是要增加索引的表名,column_list指出对哪些列进行索引,多列时各列之间用逗号分隔。索引名index_name可选,缺省时,MySQL将根据第一个索引列赋一个名称。另外,ALTER TABLE允许在单个语句中更改多个表,因此可以在同时创建多个索引。

(2) CREATE INDEX:

CREATE INDEX可对表增加普通索引或UNIQUE索引。

CREATE INDEX index_name ON table_name (column_list)

CREATE UNIQUE INDEX index_name ON table_name (column_list)

table_name、index_name和column_list具有与ALTER TABLE语句中相同的含义,索引名不可选。另外,不能用CREATE INDEX语句创建PRIMARY KEY索引。

(摘自:https://www.cnblogs.com/sweet521/p/6203360.html


17.给现成的表添加索引
3382609-98f08e921752ac3d.png
3382609-7105c15df64c80d9.png

18. 什么是视图?

视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包含数据。作为一个select语句保存在数据字典中的。
通过视图,可以展现基表(用来创建视图的表)的部分数据;视图数据来自定义视图的查询中使用的表,使用视图动态生成。


19.MySQL中创建视图的目的?

1)简单:使用视图的用户完全不需要关心后面对应的表的结构、关联条件和筛选条件,对用户来说已经是过滤好的复合条件的结果集。
2)安全:使用视图的用户只能访问他们被允许查询的结果集,对表的权限管理并不能限制到某个行某个列,但是通过视图就可以简单的实现。
3)数据独立:一旦视图的结构确定了,可以屏蔽表结构变化对用户的影响,源表增加列对视图没有影响;源表修改列名,则可以通过修改视图来解决,不会造成对访问者的影响。
总而言之,使用视图的大部分情况是为了保障数据安全性,提高查询效率。

视图:存储的查询语句,当调用的时候,产生结果集,视图充当的是虚拟表的角色.


20. 视图的作用
3382609-bff0024cfa0cb805.png

(摘自:https://www.cnblogs.com/sustudy/p/4166714.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值