`
zhengdl126
  • 浏览: 2539017 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

【汇总】sql

阅读更多

 



------------- DECLARE大写常量

DECLARE FLAG_FAILED INT DEFAULT 0;
DECLARE FLAG_SUCCEED INT DEFAULT 1;



------------- set小写变量

    DECLARE FLAG_FAILED INT DEFAULT 0;
    DECLARE FLAG_SUCCEED INT DEFAULT 1;
   
    SET _ret = FLAG_FAILED;

    SET @query_rows = ROW_COUNT();
   

 

 

========= 多变关联更新

UPDATE olc oc ,tmp_meable m
SET oc.parent_id = m.parent_id
WHERE oc.user_id=m.member_id AND m.level=5 AND oc.parent_id=0;

 

 

 UPDATE ordr SET win_flag=-1
WHERE EXISTS(SELECT 1 FROM winnber WHERE game_id=13) AND game_id IN(11,12);

 

 

----------------导出/导入 表结构,表数据,存储过程函数,event

 

mysqldump支持下列选项:
--add-locks
在每个表倾倒之前增加LOCK TABLES并且之后UNLOCK TABLE。(为了使得更快地插入到MySQL)。
--add-drop-table
在每个create语句之前增加一个drop table。

--allow-keywords
允许创建是关键词的列名字。这由表名前缀于每个列名做到。
-c, --complete-insert
使用完整的insert语句(用列名字)。
-C, --compress
如果客户和服务器均支持压缩,压缩两者间所有的信息。
--delayed
用INSERT DELAYED命令插入行。
-e, --extended-insert
使用全新多行INSERT语法。(给出更紧缩并且更快的插入语句)

-#, --debug[=option_string]
跟踪程序的使用(为了调试)。
--help
显示一条帮助消息并且退出。
--fields-terminated-by=...
--fields-enclosed-by=...
--fields-optionally-enclosed-by=...
--fields-escaped-by=...
--fields-terminated-by=...
这些选择与-T选择一起使用,并且有相应的LOAD DATA INFILE子句相同的含义。见7.16 LOAD DATA INFILE语法。
-F, --flush-logs
在开始倾倒前,洗掉在MySQL服务器中的日志文件。
-f, --force,
即使我们在一个表倾倒期间得到一个SQL错误,继续。
-h, --host=..
从命名的主机上的MySQL服务器倾倒数据。缺省主机是localhost。
-l, --lock-tables.
为开始倾倒锁定所有表。
-t, --no-create-info
不写入表创建信息(CREATE TABLE语句)
-d, --no-data
不写入表的任何行信息。如果你只想得到一个表的结构的倾倒,这是很有用的!
--opt
同--quick --add-drop-table --add-locks --extended-insert --lock-tables。应该给你为读入一个MySQL服务器的尽可能最快的倾倒。
-pyour_pass, --password[=your_pass]
与服务器连接时使用的口令。如果你不指定“=your_pass”部分,mysqldump需要来自终端的口令。
-P port_num, --port=port_num
与一台主机连接时使用的TCP/IP端口号。(这用于连接到localhost以外的主机,因为它使用 Unix套接字。)
-q, --quick
不缓冲查询,直接倾倒至stdout;使用mysql_use_result()做它。
-S /path/to/socket, --socket=/path/to/socket
与localhost连接时(它是缺省主机)使用的套接字文件。
-T, --tab=path-to-some-directory
对 于每个给定的表,创建一个table_name.sql文件,它包含SQL CREATE 命令,和一个table_name.txt文件,它包含数据。 注意:这只有在mysqldump运行在mysqld守护进程运行的同一台机器上的时候才工作。.txt文件的格式根据--fields-xxx和 --lines--xxx选项来定。
-u user_name, --user=user_name
与服务器连接时,MySQL使用的用户名。缺省值是你的Unix登录名。
-O var=option, --set-variable var=option
设置一个变量的值。可能的变量被列在下面。
-v, --verbose
冗长模式。打印出程序所做的更多的信息。
-V, --version
打印版本信息并且退出。
-w, --where='where-condition'
只倾倒被选择了的记录;注意引号是强制的!
"--where=user='jimf'" "-wuserid>1" "-wuserid<1"
最常见的mysqldump使用可能制作整个数据库的一个备份:
mysqldump --opt database > backup-file.sql
但是它对用来自于一个数据库的信息充实另外一个MySQL数据库也是有用的:
mysqldump --opt database │ mysql --host=remote-host -C database

 

 

/usr/local/mysql/bin/mysqldump -h 192.168.1.78 -P 3301 -ureplication -p123456  -e -R -E -B --add-drop-database ssc_da > /tmp/s_da.dump

 

 

/usr/local/mysql/bin/mysql -ureplication -p123456 -h 127.0.0.1 -P 3301  < /data/s_da.dump

 

 

----------------导出select到文件:

 

SELECT * FROM game INTO OUTFILE "/tmp/game.sql";

 

不支持同名的文件覆盖

 

----------------从文件导入数据至新表
LOAD DATA INFILE "/tmp/game.sql" INTO TABLE `game`;

 

 

 

 

---------------- 重命名原表
RENAME TABLE game TO game_old;

 

 

 

 

 

 

 

 

 

 

 

 

================1) 某内容管理系统中,表message有如下字段 
id 文章id 
title 文章标题 
content 文章内容 
category_id 文章分类id 
hits 点击量 

表comment记录用户回复内容,字段如下 
comment_id 回复id 
id 文章id,关联message表中的id 
comment_content 回复内容 

现通过查询数据库需要得到以下格式的文章标题列表,并按照回复数量排序,回复最高的排在最前面 

文章id 文章标题 点击量 回复数量 

 

用一个SQL语句完成上述查询,如果文章没有回复则回复数量显示为0 

 

 

 

select 文章id,文章标题,点击量,(select count(*) from comment where 文章id=message.文章id) as 回复数量
from message
order by 4 desc

 

 

============== 两条SQL的区别

 

 

error: 取得level值不正确

  SELECT u.*,ui.level FROM `s_user` u
LEFT JOIN `s_user_info` ui ON ui.parent_id = u.id WHERE ui.user_id = 2


正确的关联:
SELECT u.*,ui.level FROM `s_user` u
LEFT JOIN `s_user_info` ui ON ui.user_id = u.id WHERE u.id = (SELECT parent_id FROM s_user_info WHERE user_id = 2)

 

分享到:
评论

相关推荐

    sql 分类汇总sql

    sql 分类汇总sql 分类汇总sql 分类汇总sql 分类汇总sql 分类汇总

    sql经典精华语句汇总 很牛的一个汇总

    sql经典精华语句汇总 很牛的一个汇总 sql经典精华语句汇总 很牛的一个汇总

    SQL server 2005安装问题汇总

    SQL Server 2005 安装问题汇总 SQL Server 2005 是微软公司的一款关系数据库管理系统,具有强大的数据管理和分析功能。本文将对 SQL Server 2005 的安装问题进行汇总,包括版本选择、硬件要求、安装步骤等问题的...

    高级sql语句大全汇总

    高级SQL语句大全汇总 SQL 语句是数据库管理系统中使用的语言,用于存储、修改和检索数据。本文档总结了高级 SQL 语句大全,涵盖了创建数据库、删除数据库、备份数据库、创建新表、删除新表、增加列、添加主键、创建...

    ORACLE SQL查询汇总.rar

    ORACLE SQL:经典查询练手系列文章汇总 通过近一个月的努力,《经典查询练手系列》也快告一段落,但并不代表结束,以后还会增加!我很荣幸本系列每一篇文章都上了评论或推荐头条,这离不开大家的支持,这也促蹴了...

    世界各洲、国、省(州)中英文sql数据

    标题中的“世界各洲、国、省(州)中英文sql数据”指的是包含全球各大洲、国家以及省份(或州)的中英文信息的SQL数据库。这个数据集可能用于地理信息系统(GIS)、数据分析、或者任何需要全球地理信息的项目。SQL...

    数据分层汇总交叉报表SQL语句实现方法

    总之,实现数据分层汇总交叉报表的关键在于理解数据的层次结构和汇总规则,并熟练运用SQL的高级查询特性,如WITH AS子句。通过合理的设计和编程,我们可以有效地满足管理人员对复杂报表的需求,提供清晰、准确的业务...

    库存收发存报表汇总统计数据库语句实现

    总结来说,这个库存收发存报表汇总统计的数据库语句实现展示了如何利用SQL的联接、窗口函数以及递归查询等高级特性,有效地处理库存管理中的复杂业务逻辑。对于IT从业者来说,掌握这些技能不仅可以提高工作效率,还...

    sql2000分组统计

    在SQL Server 2000中,分组统计是一个核心的查询功能,它允许数据库管理员和开发者对数据进行聚合操作,以获取特定字段的汇总信息。分组统计通常涉及GROUP BY语句,配合COUNT(), SUM(), AVG(), MAX() 和 MIN()等聚合...

    全世界国家及城市数据库数据(SQL语句)

    标题 "全世界国家及城市数据库数据(SQL语句)" 提供了一个关于全球地理信息的数据集,这个数据集是通过SQL语言构建的,适用于数据库管理。SQL(Structured Query Language)是用于管理和处理关系数据库的标准编程...

    如何在sqlserver中进行分类汇总-附件sql server 2005实例数据库和脚本

    小编对工作中遇到的用数据库语句进行分类汇总的查询信息的信息。压缩包中附件相关的数据库和 sql脚本。 详细的思路过程见博客:https://blog.csdn.net/aiming66/article/details/80717802

    分组汇总的sql

    用于分组汇总的sql语句,可根据某一列分组统计

    从0到1,Mysql详细教程,从安装到使用,汇总SQL常用数据库类型,常用SQL语句

    资源主要是通过视频的形式,指导安装数据库软件,密钥证书破解,可提供安装软件和破解教程,通过文档形式汇总数据库学习材料,常用的可视化工具连接,与常用的指导,从0到1,不积跬步无以至千里,也是对自己的一个...

    用友U8_12.5按天统计库存 SQL语句

    支持用友U8_12.5及以上 根据期初库存与出入库单据统计某日库存量 可实现通过批号或序列号统计,汇总

    SQL Server 数据库基本SQL语句汇总

    对SQL Server 数据库基本SQL语句汇总,大部分复杂语句都可以通过这些基本语句组合实现

    全世界各国省市(区)包含sql,xls文件.zip

    标题中的“全世界各国省市(区)包含sql,xls文件.zip”指的是一个压缩包,其中包含了关于全球各国省市区域的数据。这个压缩包的核心内容是数据库和电子表格文件,具体为SQL和XLS格式,用于存储和处理地理信息。 SQL...

    sql 语言汇总!Sql Server语言 大全!!!

    ### SQL Server语言大全:知识点详解 #### 一、设置内存选项 在SQL Server环境中,合理配置服务器内存对于优化性能至关重要。以下SQL语句用于设置最小和最大服务器内存: ```sql -- 设置 min server memory 配置...

    SQL 面试题目汇总

    在SQL面试中,掌握核心概念和技术是至关重要的。以下是一些关键知识点的详细解析: 1. **SQL(Structured Query Language)**:SQL是用于管理关系数据库的标准编程语言,包括数据查询、更新、插入和删除等操作。...

    sql语句汇总—一般用到的sql语句全有,绝对够用

    SQL语句汇总 SQL语句是数据库管理系统中使用的语言,用于管理关系数据库管理系统(RDBMS)。本文将对常用的SQL语句进行汇总,涵盖select、count、avg、sum、max、min等多种语句。 SELECT语句 SELECT语句用于从...

    SQL语句之基础语法汇总

    "SQL语句之基础语法汇总" SQL语句之基础语法汇总是一篇详细的SQL语句基础知识总结,包括创建表、修改表、删除表、添加数据、更新数据、删除数据等基础语法。下面是对该篇文章的知识点总结: 一、创建表、修改表、...

Global site tag (gtag.js) - Google Analytics