随笔分类 -  数据库相关

MySQL 设置数据按条件查询下的序号
摘要:一张表:mytable 有如下数据:现在要增加一列 序号,用于表示每行记录按类型、个数降序排列时的序号。 先按照 ftype 和 fnum 排序:select*frommytableorderbyftypeasc,fnumasc再查出当前排序下的每行的序号:SELECTa.*,(@rownum:=@rownum+1)ASforderFROMmytablea,(SELECT@rownum:=0)bORDERBYftypeASC,fnumASC然后修改表并将数据更新进去:ALTERTABLEmytableADDforderINTDEFAULT0;UPDATEmytabler,(SELECTa.f. 阅读全文

posted @ 2012-08-21 18:57 心笑峰 阅读(12490) 评论(0) 推荐(0) 编辑

MySQL 用户登录
摘要:在数据库中创建一个用户 testuser@% 是无法在本地登录的。其原因就在于mysql库的user表中有如下的数据: 登录的时候先会去比对host再比对user再验证密码。使用用户名testuser登录,会先找到localhost,然后查找user时会查不到,所以无法登录。要想让testuser能本地登录,就要添加一个testuser@localhost。 另:不用用户名也可以本地登录MySQL,用的账号就是上面的@localhost。 阅读全文

posted @ 2012-08-14 15:17 心笑峰 阅读(3600) 评论(0) 推荐(0) 编辑

MySQL IP字符串转数字存储过程
摘要:DELIMITER$$USE`db_im`$$DROPPROCEDUREIFEXISTS`P_bi_parasIP`$$CREATEDEFINER=`root`@`localhost`PROCEDURE`P_bi_parasIP`(INPi_ipstrVARCHAR(50),OUTPo_int1INT,OUTPo_int2INT,OUTPo_int3INT,OUTPo_int4INT,OUTPo_retINT)BEGINDECLAREv_strtempVARCHAR(50);DECLAREv_posINT;DECLAREv_subVARCHAR(10);DECLAREv_tailVARCHAR 阅读全文

posted @ 2012-03-05 22:19 心笑峰 阅读(1902) 评论(0) 推荐(0) 编辑

MySQL索引(一)
摘要:数据库开发中索引的使用占了很重要的位置,好的索引会使数据库的读写效率加倍,烂的索引则会拖累整个系统甚至引发灾难。 索引分三类: index ----普通的索引,数据可以重复 unique ----唯一索引,唯一索引,要求所有记录都唯一 primary key ----主键索引,也就是在唯一索引的基础上相应的列必须为主键 一般的创建索引的语句如下: ALTER TABLE tb_name ADD INDEX index_name (column_list) ALTER TABLE tb_name ADD UNIQUE index_name (column_list) ALTER T... 阅读全文

posted @ 2012-02-08 18:47 心笑峰 阅读(7408) 评论(0) 推荐(0) 编辑

MySQL Event
摘要:Event 是MySQL 5.1 以后支持的一个功能,类似于oracle 中的JOB 或 MSSQL 中的任务。就是按照指定的周期和频率运行指定语句的功能。 查看event_scheduler 是否启用:select @@event_scheduler / show variables like '%event_scheduler%' 如果为OFF / 0 ,使用以下语句开启:set GLOBAL event_scheduler =1 创建一个event : create event event_myevent on schedule every 1 minuteon comp 阅读全文

posted @ 2012-01-05 16:08 心笑峰 阅读(184) 评论(0) 推荐(1) 编辑

MySQL 动态SQL
摘要:/**申明一个变量保存sql语句**/declare v_sql varchar(500);/** 初始化v_sql **/set v_sql ='call P_myprocedure(?)';/** 准备要动态执行的语句 **/set @exesql =v_sql;/** 准备参数 **/set @param = 100;/** 准备执行 **/prepare stm from @exesql;/** 执行语句,并传入准备的参数。execute stm using @param; 阅读全文

posted @ 2012-01-05 15:47 心笑峰 阅读(197) 评论(0) 推荐(0) 编辑

MySQL FEDERATED 存储引擎
摘要:MySQL中针对不同的功能需求提供了不同的存储引擎。所谓的存储引擎也就是MySQL下特定接口的具体实现。 FEDERATED是其中一个专门针对远程数据库的实现。一般情况下在本地数据库中建表会在数据库目录中生成相应的表定义文件,并同时生成相应的数据文件。但通过FEDERATED引擎创建的表只是在本地有表定义文件,数据文件则存在于远程数据库中(这一点很重要)。 通过这个引擎可以实现类似Oracle 下DBLINK的远程数据访问功能。 使用show engines 命令查看数据库是否已支持FEDERATED引擎: Support 的值有以下几个: YES支持并开启DEFAUL... 阅读全文

posted @ 2011-12-23 12:34 心笑峰 阅读(5156) 评论(0) 推荐(0) 编辑

用消息队列和消息应用状态表来消除分布式事务
摘要:用消息队列和消息应用状态表来消除分布式事务by 方刚 由于数据量的巨大,大部分Web应用都需要部署很多个数据库实例。这样,有些用户操作就可能需要去修改多个数据库实例中的数据。传统的解决方法是使用分布式事务保证数据的全局一致性,经典的方法是使用两阶段提交协议。长期以来,分布式事务提供的优雅的全局ACID保证麻醉了应用开发者的心灵,很多人都不敢越雷池一步,想像没有分布式事务的世界会是怎样。如今就如MySQL和PostgreSQL这类面向低端用户的开源数据库都支持分布式事务了,开发者更是沉醉其中,不去考虑分布式事务是否给系统带来了伤害。事实上,有所得必有所失,分布式事务提供的ACID保证是以损害系统 阅读全文

posted @ 2011-10-22 18:43 心笑峰 阅读(3141) 评论(0) 推荐(2) 编辑

Mysql 数据库热备份
摘要:主从模式:主服务器server1: 192.168.1.20 Mysql 5.0 需要备份的数据库 mydb从服务器server2: 192.168.1.22 Mysql 6.0 1.备份现有数据:最好先停止mysql service使用[MysqlHome]:\bin\mysqldumple.exe工具 将现有数据备份成一个sql文件:d:\>cd [MysqlHome][MysqlHome]>cd binbin:\>mysqldumple -u root -p mydb> d:\mydb.sql //有自己写的存储过程或函数时加上--routines 选项,否则默认 阅读全文

posted @ 2011-09-27 13:57 心笑峰 阅读(4291) 评论(0) 推荐(0) 编辑

SQL SERVER批量插入相同的数据--懒人方法
摘要:要在sql server 中批量插入10W条相同的数据。。。。最简单的方法就是找一表已有10W条数据的表然后select 一把。insert into tableAselect 'a','b','c'from tableB;不用union。 阅读全文

posted @ 2010-11-22 18:14 心笑峰 阅读(430) 评论(0) 推荐(0) 编辑

ORACLE 去除重复记录
摘要:delete from tbl_talbe where (col1,col2,col3) in (select col1,col2,col3 from tbl_table group by col1,col2,col3having count(*)>1) and rowid not in ( select max(rowid) from tbl_table group by col1,col2,col3 having count(*) >1 ) 阅读全文

posted @ 2010-02-09 16:07 心笑峰 阅读(178) 评论(0) 推荐(0) 编辑

oracle 中随机取一条记录的两种方法
摘要:V_COUNT INT:=0;V_NUM INT :=0;1:TBL_MYTABLE 表中要有一个值连续且唯一的列FIDBEGIN SELECT COUNT(*) INTO V_COUNT FROM TBL_MYTABLE; SELECT TRUNC(DBMS_RADOM.VALUE(1,V_COUNT+1)) INTO V_NUM FROM DUAL; SELECT * FROM TBL_MYTABLE T WHERE T.FID=V_NUM;EXCEPTION WHEN NO_DATA_FOUND THEN NULL;END;2:第二种方法很简便BEGIN SELECT * FROM( S 阅读全文

posted @ 2009-12-11 15:16 心笑峰 阅读(8919) 评论(0) 推荐(0) 编辑

Oracle 存储过程中使用cursor 游标遍历数据
摘要:先定义一个cursor:Procedure P_MYPROC (PI_PARAM VARCHAR2)ISVI_A VARCHAR2(10):='';VI_BVARCHAR2(20):='';VI_C VARCHAR2(30):='';--定义CURSORMYCUR IS SELECE T.A ,T.B, T.C FROM TBL_MYTABLE T;BEGIN --打开 OPEN MYCUR; --遍历 LOOP FETCH MYCUR INTO VI_A,VI_B,VI_C; --无数据时退出 EXIT WHEN MYCUR%NOTFOUND; 阅读全文

posted @ 2009-11-24 10:15 心笑峰 阅读(13043) 评论(0) 推荐(0) 编辑

SQL WITH NOCHECK
摘要:ALTER TABLE [dbo].[atr_cont_b] WITH NOCHECK ADD CONSTRAINT [PK_atr_cont_b] PRIMARY KEY CLUSTERED ([id_cont_b]) ON [PRIMARY] GOWITH NOCHECK:指定表中的数据是否用新添加的或重新启用的 FOREIGN KEY 或 CHECK 约束进行验证。如果没有指定,对于新约束,假定为 WITH CHECK,对于重新启用的约束,假定为 WITH NOCHECK。我个人理解nocheck是针对已存在的数据而言的,也就是说我现在新增加或重新启用了一个约束,那么要不要对数据库中已存 阅读全文

posted @ 2009-08-24 14:45 心笑峰 阅读(263) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示