首页 > 数据库 >数据库相关知识点提要

数据库相关知识点提要

时间:2023-01-28 16:11:45浏览次数:38  
标签:语句 知识点 INSERT 数据库 游标 查询 提要 where select

关键词:

DESC

 

 

 

LIMIT

 

上面的limit只有一个参数值,将表中的前三条数据查询出来

 

 

 

 

 上面的SQL语句,limit有两个参数,第一个参数表示从第几行数据开始查,第二个参数表示查几条数据,“limit 3,2”表示从第四行数据开始,取两条数据。

 

(NOT)LIKE

like ''%X%'和'X%'以及'%X'的区别

'abc%'找以abc开始的;

'%abc' 找以abc结尾的;
'%abc%'找字符串里含有abc的;
结果肯定不同!

 

LEFT / RIGHT / INNER JOIN

JOIN默认为inner JOIN

左(外)连接以左表为主

右(外)连接以右表为主

 

 

 

EXISTS

举个栗子:
Oracle自带的EMP、DEPT表查询,部门编号小于30的所有员工信息

Oracle语句:
select * from emp where deptno in (select deptno from dept where deptno <30);

select * from emp e where exists (
select * from dept d where deptno <30 and d.deptno = e.deptno ;
);

  1. 首先执行外查询 select * from emp e,然后取出第一行数据,将数据中的部门编号传给内查询
  2. 内查询执行select * from dept d where deptno <30 and d.deptno = e.deptno ;看是否查询到结果,查询到,则返回true,否则返回false;比如传来的是30,则不满足deptno <30 and d.deptno = 30,返回false
  3. 内查询返回true,则该行数据保留,作为结果显示;反之,返回false,则不作结果显示
  4. 逐行查询,看内查询是否查到数据,是否保留作结果显示

 

DELIMMITER

其实就是告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了。默认情况下,delimiter是分号;。在命令行客户端中,如果有一行命令以分号结束,那么回车后,mysql将会执行该命令。但有时候,不希望MySQL这么做。在为可能输入较多的语句,且语句中包含有分号。 
这种情况下,就需要 事先把delimiter换成其它符号,如//或$$。

 

PROCEDURE

存储过程;程序

 

INSERT INTO 

插入记录语句

INSERT INTO 表名称 VALUES (值1, 值2,....)
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
INSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees')

 

CURSOR

游标用declare 语句创建。DECLARE 命名游标,并定义相应地select 语句,根据需要带where 和其他子句。

下面在存储过程中使用declare 定义一个游标,存储过程完成后游标也相应消失。

打开和关闭游标

 

 

 

 在处理open 语句时执行查询,存储检索出地数据以供浏览和滚动游标处理后,要关闭游标

 

close会释放游标使用的所有内部内存和资源,所有游标使用后都要进行关闭操作

在一个游标关闭后,如果没有重新打开,则不能使用它。但是使用声明过的游标不需要再次声明,使用open 语句打开就行。

如果不明确的关闭游标,mysql 将会在到达end 语句的时候自动关闭它。

相关连接

标签:语句,知识点,INSERT,数据库,游标,查询,提要,where,select
From: https://www.cnblogs.com/slowlydance2me/p/17070517.html

相关文章