数据库相关知识点提要
Posted slowlydance2me
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库相关知识点提要相关的知识,希望对你有一定的参考价值。
关键词:
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 ;
);
- 首先执行外查询 select * from emp e,然后取出第一行数据,将数据中的部门编号传给内查询
- 内查询执行select * from dept d where deptno <30 and d.deptno = e.deptno ;看是否查询到结果,查询到,则返回true,否则返回false;比如传来的是30,则不满足deptno <30 and d.deptno = 30,返回false
- 内查询返回true,则该行数据保留,作为结果显示;反之,返回false,则不作结果显示
- 逐行查询,看内查询是否查到数据,是否保留作结果显示
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 语句的时候自动关闭它。
相关连接
以上是关于数据库相关知识点提要的主要内容,如果未能解决你的问题,请参考以下文章