常用SQL整理
整理了日常用到的一些sqls
1.插入表
insert into table_B select * from table_A
2.清空表
truncate table test #清空表,结构还存在
delete table test where ... #删除表中特定的数据
drop table test #删除整表,包括结构
3. 导出到文件
select * from table_A where filed1 like '8422%' into outfile '/usr/local/mysql/8422.txt' fields terminated by '||'
4.导入文件到DB
LOAD DATA INFILE "/root/user/output.txt" INTO TABLE table_A CHARACTER SET gbk fields terminated by x'' IGNORE 1 LINES;
#字符集有时添加后会报错,可以去掉
5. 更新表
#一对一的情况
update table_A a, table_B b set a.field1 = b.field1 where a.field2 = b.field2 #一对多的情况
update table_A a inner join table_B b on a.route_id = b.valid_route_id set a.valid_route_id=b.valid_route_id
6. 字段拼接
UPDATE table_A set SIC_DESC=concat_ws('|',SICCODE1,SICCODE2,SICCODE3,SICCODE4)
7.字段截取
create table table_A ENGINE=MyISAM select locname,substring(file_name,1,3) from table_B where LOCNAME !=''
8.删除某列
alter table table_A drop column source_path
9.去重
table_A
+----+--------+
| id | name |
+----+--------+
| 1 | google |
| 2 | yahoo |
| 3 | msn |
| 4 | google |
| 5 | google |
| 6 | yahoo |
+----+--------+
#1 通过条件选取最大或最小的记录,来达到去重的目的
select * from table_A a where id=(select min(id) from table_A where name=a.name) #2 通过group by 和order by
select * from table_A group by name order by id desc; #3 keep the row with the lowest id
(1)DELETE n1 FROM table_A n1, table_A n2 WHERE n1.id > n2.id AND n1.name = n2.name
(2)DELETEFROM NAMES
WHERE id NOTIN(SELECT*FROM(SELECT MIN(n.id)FROM NAMES n
GROUPBY n.name) x) #4 keep the row with the highest id
DELETE n1 FROM names n1, names n2 WHERE n1.id < n2.id AND n1.name = n2.name
10.分组取最大的N条记录
#先添加一个rowid
select *from sh_20110401_bankup as T where 3>(select count(*) from sh_20110401_bankup
where field1=T.field1 and rowid>T.rowid order by T.field1,T.rowid desc )
11.分组取最大值
#通过两步
(1)create table sh_20110301_0331_ptp_t select record_date,substring(time_stamp,1,2)as tim,count(*)as cc from sh_20110301_0331_ptp
group by substring(time_stamp,1,2),record_date order by record_date,substring(time_stamp,1,2) (2)select * from sh_20110301_0331_ptp_t where cc in (select max(cc) from sh_20110301_0331_ptp_t
group by tim) order by tim
12.拆分分隔符
update table_A set custom11=substring_index(custom11,';',1)
13 日期转数字
update table_A set convert_date=unix_timestamp(record_date)
tt=TIME_TO_SEC(time_stamp)
14 MD5,字段不能有null
update table_A set dd = MD5(CONCAT_ws('$',id,attribute_key,attribute_value)
15 上一个月的数据
select * from review where period_diff(date_format(now() , '%Y%m') , date_format(`Review_Date`, '%Y%m')) =1;
16 上一周的数据
select Rating,count(*) from review where week(`Review_Date`)=7 group by Rating
17 最近7天的数据
select week(`Review_Date`) from review where date_sub(curdate(), INTERVAL 7 DAY) <= date(`Review_Date`)
18 字符变日期
update table_A set tt= str_to_date(date_created,'%m/%d/%Y')
19 字段拆分
update table_A set custom=substring_index(custom,';',1)
常用SQL整理的更多相关文章
- MySQL常用SQL整理
MySQL常用SQL整理 一.DDL #创建数据库 CREATE DATABASE IF NOT EXISTS product DEFAULT CHARSET utf8 COLLATE utf8_ge ...
- DB2和MySQL常用SQL整理
1.Truncate删除表中所有数据 truncate table USER immediate; 说明:Truncate是一个能够快速清空资料表内所有资料的SQL语法.并且能针对具有自动递增值的字段 ...
- Oracle 常用sql整理
1. 查看当前正在只用的undo段 select s.sid, s.serial#, s.username, r.name, t.STATUS, t.START_TIME, t.USED_UBLK, ...
- oracle下关于table的常用sql整理
创建表,create TABLE table( 列名称1 数据类型1, 列名称2 数据类型2, 列名称3 数据类型3, ......); eg: create table TABLE_24751( i ...
- 常用sql语句整理:mysql
## 常用sql语句整理:mysql1. 增- 增加一张表```CREATE TABLE `table_name`( ... )ENGINE=InnoDB DEFAULT CHARSET=utf8 ...
- MSSQL注入常用SQL语句整理
很多情况下使用工具对mssql注入并不完善,所以我们就需要手工注入,一下是本人收集的一些mssql的sql语句. 手工MSSQL注入常用SQL语句 and exists (select * from ...
- mysql整理-常用sql语句
一.常用sql show variables like 'character_set_client';#查询字符集 show databases;#列出所有的服务器上的数据库alter create ...
- oracle(sql)基础篇系列(一)——基础select语句、常用sql函数、组函数、分组函数
花点时间整理下sql基础,温故而知新.文章的demo来自oracle自带的dept,emp,salgrade三张表.解锁scott用户,使用scott用户登录就可以看到自带的表. #使用ora ...
- 工作经常使用的SQL整理,实战篇(一)
原文:工作经常使用的SQL整理,实战篇(一) 工作经常使用的SQL整理,实战篇,地址一览: 工作经常使用的SQL整理,实战篇(一) 工作经常使用的SQL整理,实战篇(二) 工作经常使用的SQL整理,实 ...
随机推荐
- USACO Section 4.2: Drainage Ditches
最大流的模板题 /* ID: yingzho1 LANG: C++ TASK: ditch */ #include <iostream> #include <fstream> ...
- SGU 106 The equation 扩展欧几里得好题
扩展欧几里得的应用……见算法竞赛入门经典p.179 注意两点:1.解不等式的时候除负数变号 2.各种特殊情况的判断( a=0 && b=0 && c=0 ) ( a=0 ...
- sourceforge.net 打不开怎么办?(转)
sourceforge.net 打不开怎么办?找个镜像地址下吧! 笔者试了下这个地址,可以打开 http://www.mirrorservice.org/sites/download.source ...
- psycopg2.pool – Connections pooling / psycopg2.pool – 连接池 / postgresql 连接池
创建新的PostgreSQL连接可以是一个昂贵的操作.这个模块提供了一些纯Python类直接在客户端应用程序实现简单的连接池. class psycopg2.pool.AbstractCon ...
- poj - 2377 Bad Cowtractors&&poj 2395 Out of Hay(最大生成树)
http://poj.org/problem?id=2377 bessie要为FJ的N个农场联网,给出M条联通的线路,每条线路需要花费C,因为意识到FJ不想付钱,所以bsssie想把工作做的很糟糕,她 ...
- hihoCoder 1043 完全背包 (dp)
http://hihocoder.com/problemset/problem/1043 动态转移方程 :for v=cost..V f[v]=max(f[v],f[v-c[i]]+w[i]); #i ...
- Android--动态添加控件
[html] [html] package com.mrzhu.edittest; import android.app.Activity; import ...
- git项目实战常用workflow和命令
一个从无到有的项目大体经历-创建项目目录,创建repo,配置过滤集,配置git user,导入已有基础代码入库,将库放到central去,建立分支,修改代码,checkin代码,分支上 测试验证代码, ...
- hdu 4614 pieces 状态DP
题意:给你一个长度小于等于16的字符串,每次可以删除一个回文传,问你最少删除干净的字数. 状态+dp dp[i] = min(dp[i],dp[j]+dp[j^i]);(j是i的字串): 连接:htt ...
- C#序列化XML至对象
内容来源: http://www.cnblogs.com/fish-li/archive/2013/05/05/3061816.html#_label0 自己做的Demo下载地址:Demo