MySql数据库中Select用法小结

一、条件筛选

1、数字筛选:sql = "Select * from [sheet1$] Where 销售单价 > 100"

2、字符条件:sql = "Select * from [sheet1$] Where 物品名称 ='挡泥板'"

3、日期条件:sql = "Select * from [sheet1$] Where 物品名称 ='挡泥板'"

4、区间条件:sql = "Select * from [sheet1$] Where 出库日期 between #2005-1-4# and #2005-1-10#"

5、多个条件:用and,OR连接

'sql = "Select * from [sheet1$] Where 出库日期 between #2005-1-4# and #2005-1-10# and 销售单价>100"

6、模糊条件:%表示任意多个字符,_(下划线)表示单个占位符

'sql = "Select * from [sheet1$] Where 物品名称 like '%扶手%'"

7、插入变量查询:

'sr = "挡泥板"
'sql = "Select * from [sheet1$] Where 物品名称 ='" & sr & "'"

8、在字符串组里:

'sql = "Select * from [sheet1$] Where 物品名称 in('车衣','扶手箱')"

9、借用函数优化:

'sql = "Select * from [sheet1$] Where left(物品代码,3)='028'"

二、指定筛选

1、筛选全部字段:*表示全部字段

'sql = "Select * from ChuKu"

2、筛选指定字段:在from前面列出要显示的所有字段,如果要跳过的用""""

'sql = "Select """",出库日期,"""",物品代码,"""",规格,单位 from ChuKu"

3、筛选不重复的:Distinct 字段名 筛选不重复的记录

'sql = "Select Distinct """",物品代码 from ChuKu"

4、按百分比筛选:Top N percent 可以显示前百分之N的记录

'sql = "Select top 30 Percent * from ChuKu"

'对筛选的字段用函数进行进一步的处理和格式化

'sql = "Select ID,Format(出库日期,""yyyy-mm-dd"") from ChuKu"

5、排序:Desc降序,Asc升序

'sql = "Select * from ChuKu Order by 出库日期 asc,销售单价 desc"
'sql = "Select Top 10 * from ChuKu Order by 出库日期 asc,销售单价 desc" '筛选销售数量前10()

三、分组显示

Group by 可以配合函数进行分组求和,分组求最大值等。

'sql = "Select """","""",物品代码,"""","""","""",sum(出库数量) from ChuKu group by 物品代码" ' 跳过的用""""

按条件显示分组记录

'sql = "Select """","""",物品代码,"""","""","""",sum(出库数量) from ChuKu group by 物品代码 HAVING sum(出库数量)>=3"

以上所述是小编给大家介绍的MySql数据库中Select用法小结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • mysql SELECT FOR UPDATE语句使用示例

    以MySQL 的InnoDB 为例,预设的Tansaction isolation level 为REPEATABLE READ,在SELECT 的读取锁定主要分为两种方式:SELECT ... LOCK IN SHARE MODE SELECT ... FOR UPDATE这两种方式在事务(Transaction) 进行当中SELECT 到同一个数据表时,都必须等待其它事务数据被提交(Commit)后才会执行.而主要的不同在于LOCK IN SHARE MODE 在有一方事务要Update 同

  • 用SELECT... INTO OUTFILE语句导出MySQL数据的教程

    表数据导出到一个文本文件最简单的方法是使用SELECT... INTO OUTFILE语句的查询结果直接导出到一个文件在服务器主机上. 导出数据的SELECT...INTO OUTFILE声明: 这句话的语法结合了常规的SELECT INTO OUTFILE文件名的末尾.默认的输出格式是相同的LOAD DATA,所以下面的语句导出tutorials_tbl的表制表符分隔的,换行结尾的文件到/tmp/tutorials.txt: mysql> SELECT * FROM tutorials_tbl

  • Mysql 数据库死锁过程分析(select for update)

    近期有一个业务需求,多台机器需要同时从Mysql一个表里查询数据并做后续业务逻辑,为了防止多台机器同时拿到一样的数据,每台机器需要在获取时锁住获取数据的数据段,保证多台机器不拿到相同的数据. 我们Mysql的存储引擎是innodb,支持行锁.解决同时拿数据的方法有很多,为了更加简单,不增加其他表和服务的情况下,我们考虑采用select... for update的方式,这样X锁锁住查询的数据段,表里其他数据没有锁,其他业务逻辑还是可以操作. 这样一台服务器比如select .. for upda

  • MySQL中select语句介绍及使用示例

    数据表都已经创建起来了,假设我们已经插入了许多的数据,我们就可以用自己喜欢的方式对数据表里面的信息进行检索和显示了,比如说:可以象下面这样把整个数据表内的内容都显示出来 select * from president; 也可以只选取某一个数据行里的某一个数据列 select birth from president where last_name='Eisenhower'; select语句的通用形式如下: select 你要的信息 from 数据表(一个或多个) where 满足的条件 sel

  • MySQL中SELECT+UPDATE处理并发更新问题解决方案分享

    问题背景: 假设MySQL数据库有一张会员表vip_member(InnoDB表),结构如下:   当一个会员想续买会员(只能续买1个月.3个月或6个月)时,必须满足以下业务要求: •如果end_at早于当前时间,则设置start_at为当前时间,end_at为当前时间加上续买的月数 •如果end_at等于或晚于当前时间,则设置end_at=end_at+续买的月数 •续买后active_status必须为1(即被激活) 问题分析: 对于上面这种情况,我们一般会先SELECT查出这条记录,然后根

  • MySQL中表复制:create table like 与 create table as select

    复制代码 代码如下: CREATE TABLE A LIKE B 此种方式在将表B复制到A时候会将表B完整的字段结构和索引复制到表A中来. 复制代码 代码如下: CREATE TABLE A AS SELECT x,x,x,xx FROM B LIMIT 0 此种方式只会将表B的字段结构复制到表A中来,但不会复制表B中的索引到表A中来.这种方式比较灵活可以在复制原表表结构的同时指定要复制哪些字段,并且自身复制表也可以根据需要增加字段结构. 两种方式在复制表的时候均不会复制权限对表的设置.比如说原

  • 单个select语句实现MySQL查询统计次数

    单个select语句实现MySQL查询统计次数 单个select语句实现MySQL查询统计次数的方法用处在哪里呢?用处太多了,比如一个成绩单,你要查询及格得人数与不及格的人数,怎么一次查询出来?MySQL查询统计次数简单的语句肯定是这样了: 复制代码 代码如下: select a.name,count_neg,count_plus from    (select count(id) as count_plus,name from score2 where score >=60 group by

  • 10个mysql中select语句的简单用法

    1.select语句可以用回车分隔 $sql="select * from article where id=1" 和 $sql="select * from article where id=1",都可以得到正确的结果,但有时分开写或许能更明了一点,特别是当sql语句比较长时 2.批量查询数据 可以用in来实现 $sql="select * from article where id in(1,3,5)" 3.使用concat连接查询的结果 $

  • 解析MySQL中INSERT INTO SELECT的使用

    1. 语法介绍有三张表a.b.c,现在需要从表b和表c中分别查几个字段的值插入到表a中对应的字段.对于这种情况,可以使用如下的语句来实现:INSERT INTO db1_name (field1,field2) SELECT field1,field2 FROM db2_name 上面的语句比较适合两个表的数据互插,如果多个表就不适应了.对于多个表,可以先将需要查询的字段JOIN起来,然后组成一个视图后再SELECT FROM就可以了: INSERT INTO a (field1,field2)

  • MySql数据库中Select用法小结

    一.条件筛选 1.数字筛选:sql = "Select * from [sheet1$] Where 销售单价 > 100" 2.字符条件:sql = "Select * from [sheet1$] Where 物品名称 ='挡泥板'" 3.日期条件:sql = "Select * from [sheet1$] Where 物品名称 ='挡泥板'" 4.区间条件:sql = "Select * from [sheet1$] Wh

  • Mysql数据库中数据表的优化、外键与三范式用法实例分析

    本文实例讲述了Mysql数据库中数据表的优化.外键与三范式用法.分享给大家供大家参考,具体如下: 数据表优化 将商品信息表进行优化 1.创建商品种类表: create table if not exists goods_cates( id int unsigned primary key auto_increment, name varchar(40) not null ); 2.将商品种类写入商品种类表中: 注意:插入另一个表的查询结果不需要加values insert into goods_

  • 在MySQL数据库中使用C执行SQL语句的方法

    他们将讨论返回数据的语句,例如INSERT以及不返回数据的语句,例如UPDATE和DELETE.然后,他们将编写从数据库检索数据的简单程序 执行SQL语句 现在,我们已经有了一个连接,并且知道如何处理错误,是时候讨论使用我们的数据库来作一些实际工作了.执行所有类型的SQL的主关键字是mysql_query: int mysql_query(MYSQL *connection, const char *query) 正如您所见,它非常简单.它取一个指向连接结构的指针和包含要执行的SQL的文本字符串

  • Mysql数据库中datetime、bigint、timestamp来表示时间选择,谁来存储时间效率最高

    目录 # 后数据准备 # sql查询速率测试 # sql分组速率测试 # sql排序速率测试 # 小结 数据库中可以用datetime.bigint.timestamp来表示时间,那么选择什么类型来存储时间比较合适呢? # 后数据准备 通过程序往数据库插入50w数据 数据表: CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `time_date` datetime NOT NULL, `time_timestamp` ti

  • MySQL 数据库中数据表超详细的基本操作

    目录 1. 查看当前数据库中的表 2. 创建表 3. 查看指定表结构 4. 删除表 5. 往表中新增数据 6. 查找表中的数据 6.1 全列查询 6.2 指定列查询 6.3 查询字段为表达式 6.4 给某个列指定常量 6.5 给查询的表达式指定别名(as) 6.6 去重查询(distinct) 6.7 对查询结果进行排序(order by) 6.8 条件查询(where) 6.9 分页查询(limit) 7. 修改表中的数据 8. 删除表中的数据 前言: 库名.表名.列名等等不能和关键字相同,如

  • 如何创建一个创建MySQL数据库中的datetime类型

    目录 一.domain用法及示例 二.创建MySQL中datetime类型 三.create type用法及示例 环境系统平台:Microsoft Windows (64-bit) 10版本:4.5 瀚高数据库中支持使用以下语句创建用户定义的数据类型: ​CREATE DOMAIN​:它创建了一个用户定义的数据类型,可以有可选的约束,基于其他基本类型,实质是定义一个域. ​CREATE TYPE​:它通常用于使用存储过程创建复合类型(两种或多种数据类型混合的数据类型). 一.domain用法及示

  • 如何在Java程序中访问mysql数据库中的数据并进行简单的操作

    在上篇文章给大家介绍了Myeclipse连接mysql数据库的方法,通过本文给大家介绍如何在Java程序中访问mysql数据库中的数据并进行简单的操作,具体详情请看下文. 创建一个javaProject,并输入如下java代码: package link; import java.sql.*; /** * 使用JDBC连接数据库MySQL的过程 * DataBase:fuck, table:person: * 使用myeclipse对mysql数据库进行增删改查的基本操作. */ public

  • 数据库中使用正则表达式小结

    本篇文章通过两个示例给大家介绍数据库中使用正则表达式小结,在此不多说,具体内容请看下文详解吧. 示例一: CREATE FUNCTION dbo.RegExpTest ( @source varchar(), --需要匹配的源字符串 @regexp varchar(), --正则表达式 @ignorecase bit = --是否区分大小写,默认为false ) RETURNS bit --返回结果-false,-true AS BEGIN --(成功)或非零数字(失败),是由OLE 自动化对象

  • MySQL数据库中的安全设置方案

    随着网络的普及,基于网络的应用也越来越多.网络数据库就是其中之一.通过一台或几台服务器可以为很多客户提供服务,这种方式给人们带来了很多方 便,但也给不法分子造成了可乘之机.由于数据都是通过网络传输的,这就可以在传输的过程中被截获,或者通过非常手段进入数据库.由于以上原因,数据库安全 就显得十分重要.因此,本文就以上问题讨论了MySQL数据库在网络安全方面的一些功能. 帐户安全 帐户是MySQL最简单的安全措施.每一帐户都由用户名.密码以及位置(一般由服务器名.IP或通配符)组成.如用户john从

  • MySQL数据库中把int转化varchar引发的慢查询

    最近一周接连处理了2个由于int向varchar转换无法使用索引,从而引发的慢查询. CREATE TABLE `appstat_day_prototype_201305` ( `day_key` date NOT NULL DEFAULT '1900-01-01', `appkey` varchar(20) NOT NULL DEFAULT '', `user_total` bigint(20) NOT NULL DEFAULT '0', `user_activity` bigint(20)

随机推荐