
sql
文章平均质量分 82
longshenlmj
这个作者很懒,什么都没留下…
展开
-
jdbc连接sql数据库
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,并且可跨平台运行,并且不受数据库供应商的限制。转载 2013-07-10 17:44:59 · 1630 阅读 · 0 评论 -
sql记录去重(SQL查询或者删除表中重复记录)
1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select* from peoplewhere peopleIdin (select peopleIdfrom peoplegroup by peopleId having count(peopleId)> 1)2、删除表中多余的重复记录,重复记录是根据单个字段(peopleI转载 2013-12-24 13:48:16 · 26567 阅读 · 1 评论 -
navicat为mysql建立索引
索引的目的是大大提高查询效率,还有读写效率。kettle向sql里面插入,更新时,也要建立索引,可以大大提升处理时间。但是建立索引报错:Specified key was too long; max key length is 1000 bytes这是mysql中,索引字段的类型设置的总体过长,看一下fields里面字段类型,总体加起来不超过1000字节注意,字段长度,是char长原创 2013-12-26 14:01:55 · 13199 阅读 · 0 评论 -
navicat里导入和导出.sql文件
Navicat向 MySQL导入.sql文件。打开连接connection,选择你要导入的数据库,双击打开(或者新建一个),然后右键该数据库,选“运行批次任务文件(execute sql file)”,然后选择文件。 或者新建一个查询,从那里选择导入,选择文件。原创 2013-12-17 16:36:27 · 24552 阅读 · 0 评论 -
mysql大小写敏感(默认为1,不敏感)
在 MySQL 中,数据库和表其实就是数据目录下的目录和文件,因而,操作系统的敏感性决定数据库和表命名的大小写敏感。这就意味着数据库和表名在 Windows 中是大小写不敏感的,而在大多数类型的 Unix/Linux 系统中是大小写敏感的。MySQL大小写敏感可以通过配置文件的lower_case_table_names参数来控制。 WINDOWS:编辑MySQL安装目录下的my.转载 2014-01-23 14:04:04 · 2641 阅读 · 0 评论 -
SQL 模糊查询(like)
在进行数据库查询时,有完整查询和模糊查询之分。SQL模糊查询,使用like比较字,加上SQL里的通配符,请参考以下:1、LIKE'Mc%' 将搜索以字母 Mc 开头的所有字符串(如 McBadden)。2、LIKE'%inger' 将搜索以字母 inger 结尾的所有字符串(如 Ringer、Stringer)。3、LIKE'%en%' 将搜索在任何位置包含字母 en 的所转载 2014-02-11 15:47:37 · 23199 阅读 · 2 评论 -
sql中奇怪的sum(1),sum(2),count(1),count(6),count(*):统计总数
sql的统计函数sql统计函数有 count 统计条数,配合group用 sum 累加指定字段数值但注意sum(1)就特殊sum(1)等同于count(*) sum(1)统计个数,功能和count(*)一样,但效率上count(*)高。所以尽量少用。举个小例子SELECT ad_network_id,,sum(1),count(*),sum(2),count(5)fro原创 2015-04-03 18:39:49 · 19116 阅读 · 3 评论 -
sql的索引:网上看到不错,整理成自己的东西
数据库建立索引可以提高查询速度。假如我们创建了一个 mytable表:CREATE TABLE mytable(ID INT NOT NULL,username VARCHAR(16) NOT NULL ); 随机向插入了10000条记录,其中有一条:5555, admin。在查找username="admin"的记录 SELECT * FROM mytable WHERE usern转载 2015-04-23 15:38:24 · 799 阅读 · 0 评论 -
sql的简单提高效率方法
少用in操作(效率极差),尽量用表关联代替尽量有where(减少读取量),where操作列尽量有索引(加快查询) (mysql索引使用B-Tree数据结构对特定列额外组织存放,加快存储引擎查找记录的速度,不需回表查询数据的就是聚簇索引(索引和数据存放在一起)。通常是需要回表再查数据,需要消耗额外的磁盘IO。)主键是特殊的唯一索引(不含null),唯一索引更好用复合索引设计合理原创 2015-04-23 16:18:01 · 1473 阅读 · 0 评论 -
sql中with的用法(CTE公用表表达式):应用子查询嵌套,提高sql性能
一.WITH AS的含义 WITH AS短语,也叫子查询部分(subquery factoring),定义一个SQL片断,该片断会被整个SQL语句所用到。有时是为了让SQL语句的可读性更高些,也可能是在UNION ALL的不同部分,作为提供数据的部分。 特别对于UNION ALL比较有用。因为UNION ALL的每个部分可能相同,但是如果每个部分都去执行一遍的话,则成本太高,所以可以使用WIT转载 2013-07-09 21:41:33 · 5298 阅读 · 0 评论 -
sql中InnoDB和MyISAM的区别
InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型 1,MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持等高级处理,往往被认为只适合小项目;而InnoDB类型支持事物,以及外部键和行级锁等高级数据库功能。2,MyISAM的索引和数据分开,每个MyISAM在磁盘上存储成三个文件。第一个文件的名字为表名,扩展名为文件类型: .frm文件存转载 2015-08-18 17:25:35 · 724 阅读 · 0 评论 -
sql记录查询重复注意事项(经验提升),in的用法和效率
sql查询重复记录,使用:select * from dimappnamenew as appnwhere packagename,storename,app_namein ( select packagename,storename,app_name from dimappnamenew group by packagename,storename,app_name原创 2013-12-24 15:25:54 · 2517 阅读 · 0 评论 -
GROUP BY,WHERE,HAVING间的区别和用法
having子句与where都是过滤语句。where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件显示特定的组,也可以使用多个分组标准进行分组。 总之,select转载 2014-01-02 15:24:38 · 4720 阅读 · 0 评论 -
jdbc连接mysql加载驱动程序com.mysql.jdbc.Driver
在开发环境如eclipse,中加载指定数据库的驱动程序。需要下载MySQL支持JDBC的驱动程序mysql-connector-java-5.1.25-bin.jar。而具体在Java程序中加载驱动,是在Java程序中添加“Class.forName(“指定数据库的驱动程序”)” 来实现,MySQL的数据驱动程序的代码为:Class.forName(“com.mysql.jdbc.Driver原创 2013-07-11 20:00:20 · 6155 阅读 · 0 评论 -
sql一些常用的经典语句,最后是select as的用法
总结一些工作中用到或碰到的SQL语句,希望能与大家分享,同时也希望大家能提供更多的精妙SQL语句.....1、delete table1 from (select * from table2) as t2 where table1.id=t2.id2、truncate table table1 (不在事务日志中做记录,比delete table快,但不能激活触发器)3、update t转载 2013-07-26 16:34:05 · 17127 阅读 · 0 评论 -
mysql随笔
MySQL查询优化器--非SPJ的优化 MySQL查询优化器--非SPJ优化(一)--GROUPBY优化http://blog.163.com/li_hx/blog/static/1839914132013101503920225/MySQL查询优化器--非SPJ优化(二)--ORDERBY优化http://blog.163.com/li_hx/blog/static/18399原创 2013-12-02 16:32:43 · 804 阅读 · 0 评论 -
mysql的基本操作
转自青蛙学堂:http://www.cnitblog.com/yide/archive/2012/03/07/77962.html 一、连接mysql。格式: mysql -h主机地址 -u用户名-p用户密码1、例1:连接到本机上的mysql。首先在打开DOS窗口,然后进入目录mysql in,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装转载 2013-12-31 15:53:14 · 1000 阅读 · 0 评论 -
windows下mysql免安装配置
我下载的是mysql-5.5.20-win32.zip版本1、解压2、配置环境变量(让系统知道你的bin在哪个位置)path里面设置到安装目录的bin目录3、复制一个my-huge.ini 另存一个文件my.ini打开my.ini,在最后面添加basedir=D:\softbak\web\mysql-5.5.20-win32\mysql-5.5.20-win32datadi转载 2013-12-17 15:07:33 · 1151 阅读 · 0 评论 -
sql表别名
select * from kettleoutputtable awhere a.os =2 and storename = 'anzhi'和select * from kettleoutputtable as awhere a.os =2 and storename = 'anzhi'等效,也就是说别名的as可以省略!在表明后直接加上简单的名字就行了。去除重复记录的经典小原创 2013-12-24 14:02:22 · 2784 阅读 · 0 评论 -
sql将查询结果建立为新表
select * into tab_new from tab_old select * into xx from (select * from XX where xxx) b create table tab_new like tab_old (使用旧表创建新表)oracle建表方式:create table tab_new as select col1,col2转载 2013-12-31 18:09:42 · 91053 阅读 · 1 评论 -
sql的sum函数(与group by,having子句混合使用)
SELECT Customer,SUM(OrderPrice) FROM OrdersWHERE Customer='Bush' OR Customer='Adams'GROUP BY CustomerHAVING SUM(OrderPrice)>1500 Select sum(downloads) as download from factdownloads_newwhe原创 2013-12-31 17:43:43 · 18540 阅读 · 0 评论 -
如何获得mysql数据库的所有的列
SELECT COLUMN_NAME FROM `information_schema`.`COLUMNS` where `TABLE_NAME`='appStats' order by COLUMN_NAME 所有字段获取:SELECT COLUMN_NAME FROM 'information_schema'.'COLUMNS' where 'TABLE_SCHEMA'='数原创 2013-07-10 18:03:00 · 1147 阅读 · 0 评论 -
sql的having深入理解;group by只返回一组的一行,compute更好
Havingwhere 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件显示特定的组,也可以使用多个分组标准进行分组。having 子句被限制子已经在SELECT语句中定义的原创 2014-01-02 14:46:25 · 7681 阅读 · 0 评论 -
hive分组排序 取top N
pig可以轻松获取TOP n。书上有例子hive中比较麻烦,没有直接实现的函数,可以写udf实现。还有个比较简单的实现方法:用row_number,生成排名序列号。然后外部分组后按这个序列号多虑,样例代码如下select a.*from( select 品牌,渠道,档期,count/sum/其它() as num row_number() over (partition by 品原创 2016-01-15 18:43:15 · 23196 阅读 · 0 评论