mysql数据库学习笔记

转载 2012年03月23日 12:05:44
1、将查询结果保存到新的表中
        语法:create table select 字段序列 from 数据源
        create mycourse select courseNo,courseName from course;
        说明:创建了一个表,表中的字段是从course这张表中查询出来的courseNo,courseName这两个属性字段
   
    2、使用limit语句实现分页
        以下分页要点来自:http://www.2cto.com/database/201109/106128.html

SQL Server
关于分页 SQL 的资料许多,有的使用存储过程,有的使用游标。本人不喜欢使用游标,我觉得它耗资、效率低;使用存储过程是个不错的选择,因为存储过程是颠末预编译的,执行效率高,也更灵活。先看看单条 SQL 语句的分页 SQL 吧。
方法1:
适用于 SQL Server 2000/2005
SELECT TOP 页大小 * FROM table1 WHERE id NOT IN ( SELECT TOP 页大小*(页数-1) id FROM table1 ORDER BY id ) ORDER BY id
方法2:
适用于 SQL Server 2000/2005
SELECT TOP 页大小 * FROM table1 WHERE id > ( SELECT ISNULL(MAX(id),0) FROM ( SELECT TOP 页大小*(页数-1) id FROM table1 ORDER BY id ) A ) ORDER BY id
方法3:
适用于 SQL Server 2005
SELECT TOP 页大小 * FROM ( SELECT ROW_NUMBER() OVER (ORDER BY id) AS RowNumber,* FROM table1 ) A WHERE RowNumber > 页大小*(页数-1)
说明,页大小:每页的行数;页数:第几页。使用时,请把“页大小”以及“页大小*(页数-1)”替换成数码。

MYSQL
SELECT * FROM TT LIMIT 1,20
SELECT * FROM TT LIMIT 21,30
/*
如果你是几千上万数据,就直接使用mysql自带的函数 limit的普通用法就ok了,如果是100万以上的数据,可能就要讲方法了,下面我们来做个百万级数据的分页查询语句.
mysql> select * from news where id>=(select id from news limit 490000,1) limit 10;    //0.18 sec  //很 明显,这 种方式胜出 .
mysql> select * from news limit 490000,10  //0.22 sec;
*/
以下的文章主要介绍的是MySQL分页的实际操作方案,其实关于实现MySQL分页的最简单的方法就是利用利用mysql数据库的LIMIT函数,LIMIT [offset,] rows可以从MySQL数据库表中第M条记录开始检索N条记录的语句为:

SELECT * FROM 表名称 LIMIT M,N
例如从表Sys_option(主键为sys_id)中从第10条记录开始检索20条记录,语句如下:
select * from sys_option limit 10,20 
select * from table [查询条件] order by id limit ?,? 
Oracle
Oracle的分页查询语句基本上可以按照这篇了,下一篇文章会通过例子来申述。下面简单讨论一下多表联合的情况。对最多见的等值表连接查询,CBO 一般可能会采用两种连接方式NESTED LOOP以及HASH JOIN(MERGE JOIN效率比HASH JOIN效率低,一般CBO不会考虑)。在这里,由于使用了分页,因此指定了一个归回的最大记载数,NESTED LOOP在归回记载数跨越最大值时可以顿时遏制并将结果归回给中心层,而HASH JOIN必需处理完所有成集(MERGE JOIN也是)。那么在大部分的情况下,对分页查询选择NESTED LOOP作为查询的连接方法具有较高的效率(分页查询的时候绝大部分的情况是查询前几页的数据,越靠后面的页数访问概率越小)。
因此,如果不介意在体系中使用HINT的话,可以将分页的查询语句改写为:
SELECT /*+ FIRST_ROWS */ * FROM
(
SELECT A.*, ROWNUM RN
FROM (SELECT * FROM TABLE_NAME) A
WHERE ROWNUM <= 40
)
WHERE RN >= 21

作者“ERDP技术架构”

MySQL学习笔记---基础概念和一些基础SQL语句(一)

MySQL学习笔记,以防遗忘 数据库基本概念 数据库:保存有组织的数据的容器(通常是一个文件或一组文件)。 表:某种特定类型数据的结构化清单,数据库中的表都有一个唯一的名字用来标识自己。 模式:关于数...
  • Jung_zhang
  • Jung_zhang
  • 2016年04月14日 20:11
  • 1707

【MySQL数据库】——全程学习笔记(自己复习用,大家不要看。。)

下载安装http://dev.mysql.com/downloads/file/?id=457403 默认就好数据类型 基本操作 功能 命令 备注 启动MySQL服务 n...
  • potato47
  • potato47
  • 2016年09月29日 21:29
  • 842

数据库深入学习笔记

------------------------------------------- 分割线 ------------------------------------------- 数据库深入学习...
  • reggergdsg
  • reggergdsg
  • 2016年12月07日 17:22
  • 1734

《TP5.0学习笔记---对Mysql数据库的操作(二)》

声明:本篇博客所使用的数据库及表还是上篇博客中的数据库和表(http://blog.csdn.net/self_realian/article/details/78560456)一、 数据库添加...
  • self_realian
  • self_realian
  • 2017年11月19日 12:22
  • 115

Mysql学习笔记(一)(有点乱,但是知识点比较齐全)新手必看。

良好的理解sql语句: 列:理解可以运算的成变量 where: 理解成表达式,放在行中看是否成立 查出来的结果可以当成一张表理解,select 套用select综合查询; ...
  • leilei107
  • leilei107
  • 2013年11月19日 17:26
  • 2394

《高性能MySQL》学习笔记二

今天打算继续学习《高性能MySQL》的第四章,有关数据库的优化。Schema与数据类型优化前置知识:如何设计数据库? 关于这方面我是在CSDN博客上找文章看的。选择优化的数据类型三大原则:(简单、小...
  • u012723607
  • u012723607
  • 2017年08月09日 15:35
  • 105

网易MySQL数据库工程师微专业学习笔记(十)

一、mysql日常运维 DBA的日常工作主要包括导数据、数据修改、表结构修改、加权限和研发关于数据库的问题响应(如研发经常会给DBA反应某个数据表响应慢)。这些工作并不复杂,但是往往不注意的话还是可能...
  • tczhoulan
  • tczhoulan
  • 2017年04月09日 15:15
  • 589

数据库学习笔记

1. PL/SQL Command Window 2. 简单的语句块 a. begin dbms_output.put_line('hellow world'); end; / ...
  • xuxurui007
  • xuxurui007
  • 2013年12月08日 23:45
  • 1387

数据库学习笔记(初级)

最近的几次面试中,都被问有关数据库的知识,不得不承认数据库是我的硬伤(谁让自己当初没好好学),所以最近在恶补数据库方面的知识(从三月中旬到现在,面过的公司挺多的,关于面试的情况,后期抽时间上传的,希望...
  • ZongYinHu
  • ZongYinHu
  • 2016年05月05日 15:59
  • 641

oracle数据库基础知识学习笔记

一、SQL语言分类: 1.DDL(数据定义语言):  create(创建)    alter(修改)  drop(删除)------------主要是对表操作。   2.DML(数据操作...
  • u011955534
  • u011955534
  • 2013年11月04日 18:52
  • 6315
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:mysql数据库学习笔记
举报原因:
原因补充:

(最多只允许输入30个字)