数据库
dreamboycx
我的空间我做主。。。。
展开
-
sql时间戳按天来分组
由于时间戳每一秒都不同,所以可以分组,但无法查询该字段,所以先转为天的格式来查看SELECT count(*) AS counter, timedateFROM ( SELECT *, date_format(from_unixtime(c.addtime), '%Y-%m-%d') AS timedate FROM l_tour_member_order AS c where productautoid IN (3原创 2021-07-23 17:29:21 · 2475 阅读 · 0 评论 -
dos下导入mysql备份文件
备份了那么久数据库文件,终于要还原数据库,激动了,可以试下导入数据库的方法了,咳……这本是我的悲哀,小弟无能,致使数据库受损,才不得不还原数据库 闲话少说,直接开始吧,首先使用了phpmyadmin的导入备份文件功能,哎~~备份有20M之大,太大了,备份过程中,浏览器死了……而且上导入大文件还得修改php.ini文件,因为phpmyadmin默认只能导入2M多的文件而已,这种方法不太通。经原创 2012-11-29 14:18:18 · 321 阅读 · 0 评论 -
CHAR定长字段对MyISAM和InnoDB的意…
先看看在MyISAM中的情况:对于MyISAM而言,如果没有VARCHAR,TEXT等变长类型,那么每行数据所占用的空间都是定长的(Fixed),俗称静态表,相对应的就是动态表。当执行一次查询时,MySQL可以通过索引文件找到所需内容的实际行号,此时,由于每行数据所占用的空间都是定长的(Fixed),所以可以通过查询到的实际行号直接定位到数据文件的具体位置,比如说查询到的实际行号是10,原创 2012-11-29 14:19:20 · 354 阅读 · 0 评论 -
什么是数据库分表技术
分表技术顾名思义,就是把若干个存储相同类型数据的表分成几个表分表存储,在提取数据的时候,不同的用户访问不同的表,互不冲突,减少锁表的几率,本文详细介绍什么是数据库分表技术!一、概述分表是个目前算是比较炒的比较流行的概念,特别是在大负载的情况下,分表是一个良好分散数据库压力的好方法。首先要了解为什么要分表,分表的好处是什么。我们先来大概了解以下一个数据库执行SQL的过程:接收到SQL原创 2012-11-29 14:22:08 · 429 阅读 · 0 评论 -
数据库索引技术----复合索引介绍
6. 什么是复合索引6.1 复合索引定义 索引可以包含一个、两个或更多个列。两个或更多个列上的索引被称作复合索引。利用索引中的附加列,您可以缩小搜索的范围,但使用一个具有两列的索引不同于使用两个单独的索引。复合索引的结构与电话簿类似,人名由姓和名构成,电话簿首先按姓氏对进行排序,然后按名字对有相同姓氏的人进行排序。如果您知道姓,电话簿将非常有用;如果您知原创 2012-11-29 14:22:30 · 607 阅读 · 0 评论 -
数据库中索引的优缺点
一、索引的概念索引就是加快检索表中数据的方法。数据库的索引类似于书籍的索引。在书籍中,索引允许用户不必翻阅完整个书就能迅速地找到所需要的信息。在数据库中,索引也允许数据库程序迅速地找到表中的数据,而不必扫描整个数据库。二、索引的特点1.索引可以加快数据库的检索速度2.索引降低了数据库插入、修改、删除等维护任务的速度3.索引创建在表上,不能创建在视图上4.索引既可以直接创建,也可以间接原创 2012-11-29 14:22:32 · 628 阅读 · 0 评论 -
mysql 操作总结 INSERT和REPLACE
用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做数据操作语句。言外之意,就是对数据进行修改。在标准的SQL中有3个语句,它们是INSERT、UPDATE以及DELETE。在MySQL中又多了一个REPLACE语句,因此,本文以MySQL为背景来讨论如何使有SQL中的更新语句。 一、INSERT和REPLACE INSE原创 2012-11-29 14:25:22 · 418 阅读 · 0 评论 -
MYSQL常用命令
1.导出整个数据库mysqldump -u 用户名 -p --default-character-set=latin1 数据库名> 导出的文件名(数据库默认编码是latin1)mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql2.导出一个表mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名mysqldump -u wcnc原创 2012-11-29 14:26:14 · 279 阅读 · 0 评论 -
mysqldump备份详解
网上找了好久都没有一个完整的关于mysqldump的备份说明。在此我将详细说明备份流程。1,mysqldump工具是mysql自带的一个非常方便的一款小工具,存在mysql安装目录的\MySQL\bin下。比如我自己装的wamp包,就在目录wamp\mysql\bin下 2,mysqldump 和 mysql一样.都是应用程序 你在mysql下是执行不了的.切记,可以在cmd里面输入mys原创 2012-11-29 14:17:29 · 324 阅读 · 0 评论 -
truncate,delete,drop的异同点
相同点:truncate和不带where子句的delete, 以及drop都会删除表内的数据 不同点: 1. truncate和 delete只删除数据不删除表的结构(定义) drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index);依赖于该表的存储过程/函数将保留,但是变为invalid状态. 2.delete语句是原创 2012-11-29 14:18:11 · 266 阅读 · 0 评论 -
备份数据库时出现如下错误时
今天用mysqldump备份数据库时出现29: File './sq_ziyou/uc_applications.MYD'not found (Errcode: 24) when using LOCKTABLES,苦思不得其索,摆渡+谷歌了很久,得一良方,在数据库名后加--skip-lock-tables即可,即:导出:mysqldump-hIP -uroot -ppw databasena原创 2012-11-29 14:19:33 · 504 阅读 · 0 评论 -
1亿条数据在PHP中实现Mysql数据库…
当数据量猛增的时候,大家都会选择库表散列等等方式去优化数据读写速度。笔者做了一个简单的尝试,1亿条数据,分100张表。具体实现过程如下。首先创建100张表:英文代码$i=0;while($iecho "$newNumber \r\n";$sql="CREATE TABLE `code_".$i."` ( `full_code` char(10) NOT NULL, `cre原创 2012-11-29 14:22:11 · 474 阅读 · 0 评论 -
数据库索引技术-----聚集索引和非…
4. 聚集索引和非聚集的区别聚集索引和非聚集索引的根本区别是数据记录的排列顺序和索引的排列顺序是否一致,聚集索引表记录的排列顺序与索引的排列顺序一致,优点是查询速度快,因为一旦具有第一个索引值的纪录被找到,具有连续索引值的记录也一定物理的紧跟其后,从而缩小了搜索范围,对于返回某一范围的数据效果最好。聚集索引的缺点是对表进行修改速度较慢,这是为了保持表中的记录的物理顺序与索引的顺原创 2012-11-29 14:22:28 · 341 阅读 · 0 评论 -
MySql学习笔记
MySql概述:MySql是一个种关联数据库管理系统,所谓关联数据库就是将数据保存在不同的表中,而不是将所有数据放在一个大的仓库中。这样就增加了速度与提高了灵活性。并且MySql软件是一个开放源码软件。注意,MySql所支持的TimeStamp的最大范围的问题,在32位机器上,支持的取值范围是年份最好不要超过2030年,然后如果在64位的机器上,年份可以达到2106年,而对于date、与d原创 2012-11-29 14:28:50 · 371 阅读 · 0 评论 -
mysql存储过程的调用方法
mysql存储过程的调用方法是经常会用到的,下面就为您介绍mysql存储过程的调用方法,希望对您学习mysql存储过程方面会有些许帮助。先进入mysql命令行环境然后创建函数,先要选择数据库delimiter $$是设置 $$为命令终止符号,代替分号 ,因为分号有其他用处现在恢复分号做终止符号,调用函数删除函数php这样调用 mysql_query("原创 2012-11-29 14:29:03 · 526 阅读 · 0 评论 -
MySQL 升级方法指南大全
通常,从一个发布版本升级到另一个版本时,我们建议按照顺序来升级版本。例如,想要升级 MySQL 3.23 时,先升级到MySQL 4.0,而不是直接升级到 MySQL 4.1 或 MySQL 5.0。如果都是比较新的版本的升级可以参考下面的文章,MySQL数据库的版本更新很快,新的特性也随之不断的更新,更主要的是解决了很多影响我们应用的BUG,为了让我们的MySQL变得更美好,我们有必要去给原创 2012-11-29 14:18:27 · 332 阅读 · 0 评论 -
防止SQL注放的函数
function inject_check($sql_str) { $check =eregi('select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile',$sql_str); // 进行过滤if($check){echo "输入了非法内容";exit();}else原创 2012-11-29 14:19:39 · 394 阅读 · 0 评论 -
MySQL数据库优化处理实现千万级快…
看了这个非常有用,速度提高了好多, 很好的优化方法 MySQL数据库优化处理实现千万级快速分页分析,来看下吧。 数据表 collect ( id, title ,info ,vtype) 就这4个字段,其中 title 用定长,info用text, id是逐渐,vtype是tinyint,vtype是索引。这是一个基本的新闻系统的简单模型。现在往里面填充数据,填充10万篇新闻。最原创 2012-11-29 14:21:58 · 396 阅读 · 0 评论 -
MySQL数据库分表的3种方法
一,先说一下为什么要分表当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。根据个人经验,mysql执行一个sql的过程如下:1,接收到sql;2,把sql放到排队队列中;3,执行sql;4,返回执行结果。在这个执行过程中最花时间在什么地方呢?第一,是排队等待的时间,第二,sql的执行时原创 2012-11-29 14:22:04 · 316 阅读 · 0 评论 -
PHP + MySQL 分表减低数据库压力
以下是我对使用 PHP + MySQL处理负载过重的数据库问题思考和总结,经验方面一定有着不少欠缺的地方,欢迎高手前来指教:在设计时考虑合理的表结构和相应大概要承受多少访问压力,需不需要分表,如果需要分表每个表放多少条记录合适;对于分表的实现可以采用 PHP 处理或是 MySQL 自带的 MERGE 表类型(即 MRG_MyISAM)来处理:⑴如果是使用 PHP 处理有两种情况:①没有数原创 2012-11-29 14:22:13 · 373 阅读 · 0 评论 -
1577 – Cannot proceed beca…
可视化mysql数据库管理工具Navicat的1577错误解决由 eming 撰写 http://tuibian.com/?p=823今天尝试使用了Windows下的可视化mysql数据库管理工具front,界面清爽,易操作上手,感觉还不错。不过当连接上mysql后,无论打开任何一个数据库,都会提示:1577 – Cannot proceed because systemtables u原创 2012-11-29 14:23:52 · 429 阅读 · 0 评论 -
mysql中bigint、int、mediumint、s…
mysql数据库设计,其中,对于数据性能优化,字段类型考虑很重要,搜集了些资料,整理分享出来,这篇为有关mysql整型bigint、int、mediumint、smallint和 tinyint的语法介绍,如下:1、bigint从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807)的整型数据(所有数字),无符号的范围是0到原创 2012-11-29 14:25:24 · 327 阅读 · 0 评论 -
MySQL存储过程详解 mysql …
原文地址: mysql 存储过程">MySQL存储过程详解 mysql 存储过程作者:siyuantlwmysql存储过程详解1. 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(StoredProcedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有转载 2012-11-29 14:29:01 · 354 阅读 · 0 评论 -
uchome数据库相关操作
1:读取数据库实例$query = $_SGLOBAL['db']->query("SELECT * FROM".tname('profield')");while ($value =$_SGLOBAL['db']->fetch_array($query)) {//在这里组合查出来的数据//单条的数据即为$value['字段名']}Tname()函数的参数为要读取的数据库的表名,t原创 2012-11-29 14:17:43 · 430 阅读 · 0 评论 -
更改数据库表的两法
rename table 原表名 to新表名altertable 原表名 rename to 新表名原创 2012-11-29 14:19:18 · 252 阅读 · 0 评论 -
数据库水平切分的实现原理解析-分…
第1章引言随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能,横向扩展数据层已经成为架构研发人员首选的方式。水平切分数据库,可以降低单台机器的负载,同时最大限度的降低了了宕机造成的损失。通过负载均衡策略,有效的降低了单台机器的访原创 2012-11-29 14:22:15 · 267 阅读 · 0 评论 -
数据库索引技术—------索引介绍
1. 什么是索引和建立索引的好处a) 什么是索引在数据库中,索引的含义与日常意义上的“索引”一词并无多大区别,与书中的索引一样,数据库中的索引使您可以快速找到表中的特定信息。索引包含从表中一个或多个列生成的键,以及映射到指定数据的存储位置的指针,也就是说索引由键和 指针组成。它是用于提高数据库表数据访问速度的数据库对象。b) 建立索引的好处:原创 2012-11-29 14:22:25 · 285 阅读 · 0 评论 -
SQL注入Mysql
声明 本文仅用于教学目的,如果因为本文造成的攻击后果本人概不负责,本文所有代码均为本人所写,所有数据均经过测试。绝对真实。如果有什么遗漏或错误,欢迎来安全天使论坛(http://www.4ngel.net/forums)和我交流。前言 2003年开始,喜欢脚本攻击的人越来越多,而且研究ASP下注入的朋友也逐渐多了起来,我看过最早的关于SQL注入的文章是一篇99年国外的高手写的,而现在国原创 2012-11-29 14:25:04 · 747 阅读 · 0 评论 -
PHP的SQL注入
今天从网上学习了有关SQL注入的基本技能。SQL注入的重点就是构造SQL语句,只有灵活的运用SQL 语句才能构造出牛比的注入字符串。学完之后写了点笔记,已备随时使用。希望你在看下面内容时先了 解SQL的基本原理。笔记中的代码来自网络。 ===基础部分=== 本表查询: http://127.0.0.1/injection/user.php?username=angel' and原创 2012-11-29 14:25:06 · 303 阅读 · 0 评论 -
SQL注入
一、注入式攻击的类型 可能存在许多不同类型的攻击动机,但是乍看上去,似乎存在更多的类型。这是非常真实的-如果恶意用户发现了一个能够执行多个查询的办法的话。本文后面,我们会对此作详细讨论。 如 果你的脚本正在执行一个SELECT指令,那么,攻击者可以强迫显示一个表格中的每一行记录-通过把一个例如"1=1"这样的条件注入到WHERE子句中,如下所示(其中,注入原创 2012-11-29 14:25:08 · 287 阅读 · 0 评论 -
MySQL学习笔记:InnoDB和MyISAM的…
InnoDB和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能。MyIASM是IASM表的新版本,有如下扩展: 二进制层次的可移植性。 NULL原创 2012-11-29 14:25:31 · 266 阅读 · 0 评论 -
MySQL时间戳转换
以前曾经查过,今天要用的时候发现已经完全忘记了,看来记下在某个地方是一个值得推荐的方法。1、将时间转换为时间戳select unix_timestamp('2009-10-26 10-06-07')如果参数为空,则处理为当前时间2、将时间戳转换为时间select from_unixtime(1256540102)有些应用生成的时间戳是比这个多出三位,是毫秒表示,如果要转换,需要先将最后原创 2012-11-29 14:29:18 · 368 阅读 · 0 评论 -
MySQL的server has gone away问题…
应用程序(比如PHP)长时间的执行批量的MYSQL语句。执行一个SQL,但SQL语句过大或者语句中含有BLOB或者longblob字段。比如,图片数据的处理。都容易引起MySQLserver has gone away。今天遇到类似的情景,MySQL只是冷冷的说:MySQL server has gone away。大概浏览了一下,主要可能是因为以下几种原因:一种可能是发送的SQL原创 2012-11-29 14:28:48 · 782 阅读 · 0 评论 -
mysql中的查询本日、本周和本月的SQL语句
首先确定当前时间如果在PHP中,则当前时间为$time = time();如果在mysql中,则当前时间为now()本日查询示例如下:select * from order where DATEDIFF(from_unixtime(add_time),now())=0 '本周查询示例如下:$time = time();$w原创 2012-11-28 14:24:17 · 952 阅读 · 0 评论 -
MySQL存储过程详解
原文地址: mysql 存储过程">MySQL存储过程详解 mysql 存储过程作者:siyuantlwmysql存储过程详解1. 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(StoredProcedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该转载 2012-11-29 14:29:13 · 386 阅读 · 0 评论 -
SQL中JOIN和UNION区别、用法及示例介绍
join 是两张表做交连后里面条件相同的部分记录产生一个记录集,union是产生的两个记录集(字段要一样的)并在一起,成为一个新的记录集。1.JOIN和UNION区别 join 是两张表做交连后里面条件相同的部分记录产生一个记录集, union是产生的两个记录集(字段要一样的)并在一起,成为一个新的记录集 。 JOIN用于按照ON条件联接两个表,主要有四种: INNER转载 2013-03-26 17:33:10 · 503 阅读 · 0 评论 -
MySQl的ON DUPLICATE KEY
今天偶然看到ON DUPLICATE KEY这么个奇怪的语句,翻阅手册实验了下创建表:create t1(a int,b int, c int ,primary key(a));插入语句:insert into t1 values(1,3,3) 1,3,3再次insert into t1 values(1,6,7) on duplicate key update c = c+4;则转载 2013-04-27 17:34:15 · 828 阅读 · 0 评论 -
mysql函数总结
一、字符串函数1、uuid()函数UUID是可以生成时间、空间上都独一无二的值;自增序列只能生成基于表内的唯一值,且需要搭配使其为唯一的主键或唯一索引;UUID产生的是字符串类型值,固定长度为:36个字符。使用时往往像自增ID一样需要知道插入数据后的主键是多少,但又不能使用mysql_insert_id一样来返回上一步插入后的ID,方法可以这样获取:$que原创 2013-04-01 11:41:56 · 702 阅读 · 1 评论 -
mysql配置文件my.cnf详解[部分]
basedir = path使用给定目录作为根目录(安装目录)。character-sets-dir = path给出存放着字符集的目录。datadir = path从给定目录读取数据库文件。pid-file = filename为mysqld程序指定一个存放进程ID的文件(仅适用于UNIX/Linux系统); Ini转载 2013-08-28 11:35:34 · 589 阅读 · 0 评论 -
mysql 存储过程实例
技术要点一个存储过程包括名字、参数列表,以及可以包括很多SQL语句的SQL语句集。下面为一个存储过程的定义过程:create procedure proc_name (in parameter integer)begindeclare variable varchar(20);if parameter=1 thenset variable=’MySQL’;elseset var转载 2013-09-29 15:18:40 · 521 阅读 · 0 评论