
数据库
文章平均质量分 84
koudaidai
这个作者很懒,什么都没留下…
展开
-
数据库索引原理
以前对数据库的理解总是停留在使用的阶段,没有去研究过深层次的东西,这两天正好有空(其实也是工作需要),看了一下数据库索引的一些基础的东西,希望通过这篇博文,整理一下自己的思路。1.什么是索引?我想这个用过数据库的人都应该知道了,索引类似于书的目录,主要用于提高查询效率,也就是按条件查询的时候,先查询索引,再通过索引找到相关的数据,索引相当于记录了对某个关键词,指定到不同的文件,或者文件里的原创 2012-04-24 22:00:48 · 582 阅读 · 0 评论 -
数据库建索引
数据库建立索引常用的规则如下:1、表的主键、外键必须有索引;2、数据量超过300的表应该有索引;3、经常与其他表进行连接的表,在连接字段上应该建立索引;4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;5、索引应该建在选择性高的字段上;6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;7、复合索引的建立需要进行仔细分析;尽量考虑用单原创 2012-08-23 17:52:55 · 2628 阅读 · 0 评论 -
数据库表连接方式分析及常见用法
表的连接是指在一个SQL语句中通过表与表之间的关联,从一个或多个表检索出相关的数据。连接是通过SQL语句中FROM从句的多个表名,以及WHERE从句里定义的表之间的连接条件来实现的。 一个SQL语句的关联表超过两个,那么连接的顺序如何呢?ORACLE首先连接其中的两个表,产生一个结果集;然后将产生的结果集与下一个表再进行关联;继续这个过程,直到所有的表都连接完成;最后产生所需的数据,,本原创 2012-08-23 17:58:43 · 971 阅读 · 0 评论 -
数据库游标
在数据库开发过程中,当你检索的数据只是一条记录时,你所编写的事务语句代码往往使用SELECT INSERT 语句。但是我们常常会遇到这样情况,即从某一结果集中逐一地读取一条记录。那么如何解决这种问题呢?游标为我们提供了一种极为优秀的解决方案。1.游标和游标的优点 在数据库中,游标是一个十分重要的概念。游标提供了一种对从表中检索出的数据进行操作的灵活手原创 2012-08-23 17:56:22 · 946 阅读 · 0 评论 -
数据库设计三大范式
数据库设计三大范式为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。 在实际开发中最为常见的设计范式有三个:1.第一范式(确保每列保持原子性)第一范式是最基本的范式。如果数据库表中的转载 2012-08-23 17:03:51 · 703 阅读 · 0 评论 -
数据库视图介绍
什么是视图: 视图(view):从一个或几个基本表中根据用户需要而做成一个虚表 1:视图是虚表,它在存储时只存储视图的定义,而没有存储对应的数据 2:视图只在刚刚打开的一瞬间,通过定义从基表中搜集数据,并展现给用户 视图与查询的区别: 视图和查询都是用由sql语句组成,这是他们相同的地方,但是视图和查询有着本质区别: 它们的区别在于: 1:存储上的转载 2012-08-23 17:50:53 · 650 阅读 · 0 评论 -
SQL语句中between and 范围
经过验证 SQL语句中的between 范围1 and 范围2 ,语句是包括的范围1和范围2的 Oracle代码 SQL> create table test 2 ( 3 test1 number(2) 4 ); 表已创建。 SQL> insert into test va转载 2012-09-20 14:10:07 · 15466 阅读 · 0 评论 -
SQL的JOIN用法1
关于sql语句中的连接(join)关键字,是较为常用而又不太容易理解的关键字,下面这个例子给出了一个简单的解释,相信会对你有所启示。--建表table1,table2:create table table1(id int,name varchar(10))create table table2(id int,score int)insert into table1 select转载 2012-09-20 17:48:42 · 618 阅读 · 0 评论 -
SQL Join的一些总结
1.1.1 摘要Join是关系型数据库系统的重要操作之一,SQL Server中包含的常用Join:内联接、外联接和交叉联接等。如果我们想在两个或以上的表获取其中从一个表中的行与另一个表中的行匹配的数据,这时我们应该考虑使用Join,因为Join具体联接表或函数进行查询的特性本文将通过具体例子介绍SQL中的各种常用Join的特性和使用场合:目录Inner j转载 2012-09-20 14:12:42 · 718 阅读 · 0 评论 -
数据库事务隔离级别
数据库事务的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable,这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。√: 可能出现 ×: 不会出现脏读不可重复读幻读Read uncommitted√√√Read转载 2012-10-11 10:10:27 · 779 阅读 · 0 评论 -
sql语句多表查询实例
问题及描述:--1.学生表Student(S#,Sname,Sage,Ssex) --S# 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别--2.课程表 Course(C#,Cname,T#) --C# --课程编号,Cname 课程名称,T# 教师编号--3.教师表 Teacher(T#,Tname) --T# 教师编号,Tname 教师姓名-转载 2012-10-11 22:41:35 · 43310 阅读 · 5 评论 -
MYSQL常用函数
一、数学函数ABS(x) 返回x的绝对值BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制)CEILING(x) 返回大于x的最小整数值EXP(x) 返回值e(自然对数的底)的x次方FLOOR(x) 返回小于x的最大整数值GREATEST(x1,x2,...,xn)返回集合中最大的值LEAST(x1,x2,...,xn)原创 2012-10-12 11:13:35 · 728 阅读 · 0 评论 -
SQL的join使用图解
对于SQL的Join,在学习起来可能是比较乱的。我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚。Coding Horror上有一篇文章(实在不清楚为什么Coding Horror也被墙)通过 文氏图 Venn diagrams 解释了SQL的Join。我觉得清楚易懂,转过来。 假设我们有两张表转载 2012-08-23 18:01:46 · 1158 阅读 · 1 评论 -
由浅入深探究mysql索引结构原理、性能分析与优化
摘要:第一部分:基础知识第二部分:MYISAM和INNODB索引结构1、 简单介绍B-tree B+ tree树2、 MyisAM索引结构3、 Annode索引结构4、 MyisAM索引与InnoDB索引相比较第三部分:MYSQL优化1、表数据类型选择2、sql语句优化(1) 最左前缀原则(1.1) 能正确的利用索引(1.2转载 2012-10-31 13:49:24 · 809 阅读 · 0 评论 -
mysql存储过程详解
1. 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。一个存储过程是一个可编程的函数,它在数据库中创建并保存。它可以有SQL语句和一些特殊的控原创 2012-08-23 17:27:39 · 838 阅读 · 0 评论 -
数据库触发器详解
1 引言 Mysql的触发器和存储过程一样,都是嵌入到mysql的一段程序。触发器是mysql5新增的功能,目前线上凤巢系统、北斗系统以及哥伦布系统使用的数据库均是mysql5.0.45版本,很多程序比如fc-star管理端,sfrd(das),dorado都会用到触发器程序,实现对于数据库增、删、改引起事件的关联操作。本文介绍了触发器的类型和基本使用方法,讲述了触发器使用中容易产生的转载 2012-08-23 17:44:50 · 1340 阅读 · 0 评论 -
sql数据库的基本操作
命令行 1、显示当前数据库服务器中的数据库列表:mysql> SHOW DATABASES;2、建立数据库:mysql> CREATE DATABASE 库名;3、建立数据表:mysql> USE 库名;mysql> CREATE TABLE 表名 (字段名 VARCHAR(20), 字段名 CHAR(1));4、删除数据库:mysql> DROP DATABASE 库名;5、原创 2012-04-13 21:11:17 · 629 阅读 · 1 评论 -
从零开学MYSQL (五)
总结一下,如有不对请指正: mysql的架构,参考官方文档中的图。 内存部分: 连接池:连接管理。 sql接口:存储procedure,view,trigger的编译后的代码,以及解析后的sql代码 解析器:解析sql 优化器:优化sql,信息统计 cache和buffer 管理和通用部分:备份,恢复,安全,复制,集群,管理,配置,移植,元数据。转载 2012-06-04 12:21:49 · 924 阅读 · 0 评论 -
从零开学MYSQL(二)(特性+存储引擎+架构)
1. Mysql特性: 特性: 使用C和C++编写 提供用于管理、检查、优化数据库操作的管理工具 >> 管理工具是什么呢?基于WEB的?待后续确认。 可以处理拥有上千万条记录的大型数据库 >> 看大家的使用情况,上亿条应该都不成问题。单表最大容量大约多少比较合适呢? 支持多种存储引擎 >>貌似存储引擎是重点 不足: 规模小。 功能有限(M转载 2012-06-04 12:10:04 · 1701 阅读 · 0 评论 -
开贴从零开学MYSQL(四)(MYSQL系统架构)
MYSQL系统架构,主要参考一下文档,个人感觉讲的很好,分享: 参考文档:http://blog.youkuaiyun.com/tianlesoftware/article/details/7029112 mysql可看成是二层架构SQL Layer+Storage Engine Layer。SQL Layer包括权限判断,sql 解析,执行计划优化,querycache 的处理等;S转载 2012-06-04 12:12:36 · 1049 阅读 · 0 评论 -
从零开学MYSQL(一)
1.首先查看百度百科总体了解mysql http://baike.baidu.com/view/24816.htm 2.初步的学习计划这么考虑: 学习周期:第一周期暂定3个月。5.23-8.23 学习目标:通过三个月的学习,让大家成为mysql的初级专家 学习时间:我大约每天花1个小时左右的时间(周末不计),大家可根据自己情况安排。 学习计划:目前是前期了解阶段转载 2012-06-04 12:07:55 · 806 阅读 · 0 评论 -
从零开学MYSQL (六)(MYSQL的安装 )
MYSQL的安装 到官方网站下载MySQL-client-5.5.22-1.linux2.6.i386.rpm MySQL-server-5.5.22-1.linux2.6.i386.rpm,安装。 SERVER的文件说明: /usr/share/mysql: 配置文件 /var/lib/mysql: 数据文件 /etc/rc.d/init.d/mysql:启动脚本转载 2012-06-04 12:22:45 · 951 阅读 · 0 评论 -
开贴从零开学MYSQL (三)(MYSQL与ORACLE的对比)
MYSQL与ORACLE的简单对比,参考文档来源百度文库。 由于之前对oracle相对了解,因此重点学习了与oracle的对比。 MYSQL与ORACLE的对比: 1. 应用场景: Oracle应用在银行,电信,财务,ERP等。Mysql应用在中小型系统,互联网高并发的web应用。 2. 数据库对象。 数据库名、表名大小写mysql敏感,orac转载 2012-06-04 12:10:55 · 1163 阅读 · 0 评论 -
mysql结构化查询语言
show databasesshow enginesset table_type=InnoDBshow variables like ‘character%’ 查看字符集show variables like ‘collation%’ 查看当前的字符集 create database database_name;创建use database_name;使用drop原创 2012-07-11 21:11:43 · 1127 阅读 · 0 评论 -
mysql sql语句大全
mysql sql语句大全?1、说明:创建数据库 CREATE DATABASE database-name2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 deviceUSE master EXEC sp_addumpdevi转载 2012-07-12 11:21:51 · 721 阅读 · 0 评论 -
连接池
连接池运作原理在实际应用开发中,特别是在WEB应用系统中,如果JSP、Servlet或EJB使用JDBC直接访问数据库中的数据,每一次数据访问请求都必须经历建立数据库连接、打开数据库、存取数据和关闭数据库连接等步骤,而连接并打开数据库是一件既消耗资源又费时的工作,如果频繁发生这种数据库操作,系统的性能必然会急剧下降,甚至会导致系统崩溃。数据库连接池技术是解决这个问题最常用的方法,在许多应用原创 2012-07-12 11:41:28 · 457 阅读 · 0 评论 -
PHP的mysql函数
原创 2012-07-12 11:29:48 · 519 阅读 · 0 评论 -
MYSQL的COMMIT和ROLLBACK
从功能上划分,SQL 语言可以分为DDL,DML和DCL三大类。1. DDL(Data Definition Language) 数据定义语言,用于定义和管理 SQL 数据库中的所有对象的语言 ; CREATE---创建表 ALTER---修改表 DROP---删除表2. DML(Data Manipulation Language)原创 2012-08-02 14:25:58 · 1169 阅读 · 0 评论 -
由浅入深理解索引的实现
00 – 背景知识- B-Tree & B+Tree http://en.wikipedia.org/wiki/B%2B_tree http://en.wikipedia.org/wiki/B-tree- 折半查找(Binary Search) http://en.wikipedia.org/wiki/Binary_search_algorithm转载 2012-08-16 14:04:26 · 1161 阅读 · 0 评论 -
MySQL数据库存储引擎详解
什么是MySql数据库 通常意义上,数据库也就是数据的集合,具体到计算机上数据库可以是存储器上一些文件的集合或者一些内存数据的集合。 我们通常说的MySql数据库,sql server数据库等等其实是数据库管理系统,它们可以存储数据,并提供查询和更新数据库中的数据的功能等等。根据数据库如何存储数据和如何操作数据的实现机制不同,这些数据库之间即有区别又有共同点。 M转载 2012-04-24 22:07:22 · 2020 阅读 · 0 评论