数据库
继续微笑lsj
眼界决定未来
展开
-
Mysql何时应该数据索引
1.对于MYSQL索引好处是什么? 我相信了解过索引的同学都知道,好的索引可以帮助我们很大提高QUERY的执行效率以及服务器IO能力。在数据库中个表的某个字段创建索引,所带来的最大益处就是将该字段作为检索条件的时候,极大的提高检索效率,加快扫描时间,降低检索过程中所需要读取的数据量。 但是索引所给我们带来的好处难道仅仅是提高数据的检索效率吗?答案是否定的。 我们转载 2013-09-17 13:31:20 · 1164 阅读 · 0 评论 -
mysql执行sql脚本
开启mysql服务(默认是开机时就自动运行了): 控制面板-->管理工具-->服务,在里面找到名称为mysql的项,双击就可看它的服务状态是启动还是停止,把它设为启动 连接mysql: 在命令行下输入 mysql -h localhost -u root -p回车,然后输入密码即可;或直接运行mysql自带的连接工具,然后输入密码即可. 1.编写sql脚本,假设内容如下:转载 2015-03-28 12:08:09 · 880 阅读 · 0 评论 -
PHP使用pdo连接数据库
1.PDO简介 PDO(PHP Data Object) 是PHP 5 中加入的东西,是PHP 5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的连接和处理,什么 php_mysql.dll、php_pgsql.dll、php_mssql.dll、php_sqlite.dll等等。PHP6中也将默认使用PDO的方式连接,mysql扩展将转载 2015-07-26 12:23:31 · 816 阅读 · 0 评论 -
SQL中Group By的使用
1、概述2、原始表3、简单Group By4、Group By 和 Order By5、Group By中Select指定的字段限制6、Group By All7、Group By与聚合函数8、Having与Where的区别9、Compute 和 Compute By1、概述“Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组转载 2015-07-27 18:02:28 · 704 阅读 · 0 评论 -
MySql避免重复插入记录方法(ignore,Replace,ON DUPLICATE KEY UPDATE)
案一:使用ignore关键字如果是用主键primary或者唯一索引unique区分了记录的唯一性,避免重复插入记录可以使用: 代码如下复制代码1 INSERT IGNORE INTO `table_name` (`email`, `phone`, `user_id`) VALUES ('test9@163.com', '99999', '9999转载 2015-07-28 15:08:12 · 816 阅读 · 0 评论 -
创建表(包括创建主键,外键,非空列,唯一)
****************创建主键(三种方法)****************创建学生表:第一种:create table student(sno char(5) primary key,/*学号*/ /*可以直接指定主键*/sname char(20) not null,/*姓名*/ssex char(3) not null,转载 2015-08-16 08:19:57 · 11725 阅读 · 0 评论 -
mysql创建索引
前些时候,一位颇高级的程序员居然问我什么叫做索引,令我感到十分的惊奇,我想这绝不会是沧海一粟,因为有成千上万的开发者(可能大部分是使用MySQL的)都没有受过有关数据库的正规培训,尽管他们都为客户做过一些开发,但却对如何为数据库建立适当的索引所知较少,因此我起了写一篇相关文章的念头。 最普通的情况,是为出现在where子句的字段建一个索引。为方便讲述,我们先建立一个如下的表。转载 2015-09-15 21:55:12 · 476 阅读 · 0 评论 -
mysql group by 用法解析(详细)
group by 用法解析group by语法可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表。SELECT子句中的列名必须为分组列或列函数。列函数对于GROUP BY子句定义的每个组各返回一个结果。某个员工信息表结构和数据如下: id name dept salary edlevel hiredate 1 张三 开发部 2000 3 2转载 2016-01-07 16:42:55 · 537 阅读 · 0 评论 -
修改及查看mysql数据库的字符集
1.查找MySQL的cnf文件的位置find / -iname '*.cnf' -print/usr/share/mysql/my-innodb-heavy-4G.cnf/usr/share/mysql/my-large.cnf/usr/share/mysql/my-small.cnf/usr/share/mysql/my-medium.cnf/usr/share/my转载 2015-12-08 23:57:42 · 446 阅读 · 0 评论 -
mysqldump
1、导出數據库為dbname的表结构(其中用戶名為root,密码為dbpasswd,生成的脚本名為db.sql) mysqldump -uroot -pdbpasswd -d dbname >db.sql; 2、导出數據库為dbname某张表(test)结构 mysqldump -uroot -pdbpasswd -d dbname test>db.sql; 3转载 2016-04-15 09:34:56 · 490 阅读 · 0 评论 -
OLTP 和 OLAP
OLTP与OLAP的介绍 数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直转载 2016-04-11 19:24:11 · 701 阅读 · 1 评论 -
mysql单表体积和一个库设计多少张表为妥
他不清楚mysql一个库里面分多少张表合适,他一个库分了8000张表。于是我看了,忍不住作答。 于是以个人随笔的形式给自己做知识备忘吧。 1、单表体积多大的时候需要分表 曾经看过一个博客,分析到什么情况下需要分表。单表形式访问(也就是对这个表的访问不涉及到join联合查询):单个表的体积大于2g的时候。或者说,单个表的行数达到一千万的时候。转载 2016-06-27 22:16:34 · 1045 阅读 · 0 评论 -
拉链表
在数据仓库的数据模型设计过程中,经常会遇到这样的需求:1. 数据量比较大;2. 表中的部分字段会被update,如用户的地址,产品的描述信息,订单的状态等等;3. 需要查看某一个时间点或者时间段的历史快照信息,比如,查看某一个订单在历史某一个时间点的状态, 比如,查看某一个用户在过去某一段时间内,更新过几次等等;4. 变化的比例和频率不是很大,比如,总共有1000万转载 2016-06-06 21:59:44 · 1590 阅读 · 0 评论 -
mysql命令行修改字符编码
1、修改数据库字符编码mysql> alter database mydb character set utf8 ;2、创建数据库时,指定数据库的字符编码mysql> create database mydb character set utf8 ;3、查看mysql数据库的字符编码mysql> show variables like 'character%'; //查询当前m转载 2015-03-26 13:35:05 · 706 阅读 · 0 评论 -
ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'
提示:ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'。前两天也出现过这个问题,网上找了一个比较流行的方法(见方法一),搞定了。今天又用这个试了试,却搞不定,在网上找了半天,终于发现是因为mysql数据库的user表里,存在用户名为空的账户即匿名账户,导致登录的时候是虽然用的是root,但实际转载 2015-03-25 08:29:20 · 718 阅读 · 0 评论 -
mysql对binlog的处理
Mysql和其它开源数据库相比,具有更好的扩展性。其主要原因是它提供了存储引擎的开放接口。喜欢自己折腾数据库的程序员可以从这个接口起步,打造有个性的数据库。然而这里不打算对某种存储引擎的实现细节进行描述,也不打算介绍各种存储引擎的优缺点,只是描述一下mysql如何处理binlog,并澄清几个容易混淆的问题。Binlog对mysql而言是重要的,主要体现在它的功能上。Mysql官方文档明确指转载 2014-09-03 23:51:48 · 872 阅读 · 0 评论 -
MySql中的数据类型
转自:http://www.cnblogs.com/bukudekong/archive/2011/06/27/2091590.html http://www.codesky.net/article/200907/168885.html1.整型(xxxint) 右侧的取值范围是在未加unsigned关键字的情况下,如果加了unsigned转载 2013-05-13 21:39:40 · 1186 阅读 · 0 评论 -
MySQL索引背后的数据结构及算法原理
摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分。转载 2013-09-17 14:45:24 · 1091 阅读 · 0 评论 -
mysql的查询缓存
查询是数据库技术中最常用的操作。查询操作的过程比较简单,首先从客户端发出查询的SQL语句,数据库服务端在接收到由客户端发来的 SQL语句后, 执行这条SQL语句,然后将查询到的结果返回给客户端。虽然过程很简单,但不同的查询方式和数据库设置,对查询的性能将会有很在的影响。 因此,本文就在MySQL中常用的查询优化技术进行讨论。讨论的内容如:通过查询缓冲提高查询速度;MySQL对查询的原创 2013-09-17 22:04:58 · 1629 阅读 · 0 评论 -
数据库中的锁机制
锁是网络数据库中的一个非常重要的概念,它主要用于多用户环境下保证数据库完整性和一致性。各种大型数 据库所采用的锁的基本理论是一致的,但在具体实现上各有差别。目前,大多数数据库管理系统都或多或少具有自我调节、自我管理的功能,因此很多用户实际上不 清楚锁的理论和所用数据库中锁的具体实现。 Microsoft SQL Server(以下简称SQL Server)作为一种中小型数据库管理系统,已经转载 2013-09-28 17:13:28 · 1112 阅读 · 0 评论 -
数据库中的事务操作
数据库事务 数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完整地执行,要么完全地不执行。 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。一个逻辑工作单元要成为事务,必须满足所谓的ACID(原子性原创 2013-10-23 16:20:08 · 2146 阅读 · 0 评论 -
数据库中的关系运算
1、和(Union)运算、针对行 针对两张具有相同属 性的表,将两者表合并起来,在合并过程中遇到重复的行保留一项就行了。2、差(difference)运算、针对行 针对两张具有相同属 性的表,第一张表减去第二张表中有的内容。3、交(intersection)运算、针对行 针对两张具有相同属 性的表,求出两个表相同的行。原创 2013-12-20 20:55:43 · 2514 阅读 · 0 评论 -
SQL基本语句
1、说明:创建数据库CREATEDATABASE database-name2、说明:删除数据库dropdatabase dbname3、说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXECsp_addumpdevice 'disk','testBack', 'c:\mssql7backup\MyNwind转载 2013-12-20 19:30:54 · 964 阅读 · 0 评论 -
Base: ACID外的另外一种选择
在过去的十年中,Web应用变得日益流行。无论您是为最终用户构建应用程序还是为应用程序开发人员(即服务),您希望您的应用程序是最可能被广泛采用的,而广泛的应用将会使事务处理量增长。如果您的应用程序依赖于持久性,那么数据存储很可能将成为你(系统)的瓶颈。 任何应用程序可以有两种策略进行扩展。第一种,也是迄今为止最简单的,是垂直扩展:把应用迁移到大型机。垂直扩展对数据来说相当不错,但有一些转载 2013-12-26 10:03:31 · 1261 阅读 · 0 评论 -
数据库中的范式理论
本文全部内容来自百度百科。 构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。范式是符合某一种级别的关系模式的集合。关系数据库中的关系必须满足一定的要求,即满足不同的范式。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)和第六范式(6NF)。满足最低要求的范式是第一范式(1NF)。在第一范式原创 2013-10-23 18:38:38 · 1433 阅读 · 0 评论 -
Sql Server 锁机制
对锁机制的研究要具备两个条件: 1.数据量大 2.多个用户同时并发 如果缺少这两个条件,数据库不容易产生死锁问题。研究起来可能会事倍功半。如果这两个条件都有,但你还是按数据库缺省设置来处理数据,则会带来很多的问题,比如: 1)丢失更新 A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果 2)脏读 A用户修改了数据时,B用户也在读该数据,但A转载 2014-09-20 09:14:43 · 923 阅读 · 0 评论 -
mysql主从备份
一.mysql主从备份(复制)的基本原理mysql支持单向、异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。mysql复制基于主服务器在二进制日志中跟踪所有对数据库的更改(更新、删除等等)。因此,要进行复制,必须在主服务器上启用二进制日志。每个从服务器从主服务器接收主服务器已经记录到其二进制日志的保存的更新。当一个从服务器连接主服务器时,它通知主服务器从服务器在转载 2014-09-04 00:03:59 · 876 阅读 · 0 评论 -
拉链表设计
在企业中,由于有些流水表每日有几千万条记录,数据仓库保存5年数据的话很容易不堪重负,因此可以使用拉链表的算法来节省存储空间。1.采集当日全量数据存储到 ND(当日) 表中。 2.可从历史表中取出昨日全量数据存储到 OD(上日数据)表中。3.用ND-OD为当日新增和变化的数据(即日增量数据)。两个表进行全字段比较,将结果记录到tabel_I表中4.用OD-ND为状态到转载 2016-06-06 22:04:03 · 565 阅读 · 0 评论