mysql values select,mysql基础(七)select语句

2023-05-16

单表查询:

SELECT

[ DISTINCT ]

[SQL_CACHE | SQL_NO_CACHE]

select_expr [,select_expr ...]

[FROM table_references [ WHERE where_condition ]

[GROUP BY {col_name | expr |}] [HAVING where_condition]

[ORDER BY [ASC | DESC]]

DISTINCT:数据去重

SQL_CACHE:指定存入缓存

SQL_NO_CACHE:指定进行缓存

WHERE子句:指定条件,实现过滤功能

过滤条件:

算数运算:+   -   *   /   %  >  =  <=

逻辑运算:AND:与运算  OR:或运算  NOT:非运算

字符比较:=  !=

列表元素比较:IN (元素1,元素2,元素3,...)

IS NULL:空

IS NOT NULL:非空

LIKE:模糊匹配,能不用尽量不用

RLIKE:基于正则的模糊匹配,能不用尽量不用

GROUP BY子句:更具指定的条件把匹配的结果进行分组,实现"聚合"运算

常用函数:

sum(条件)#求和

max(条件)#最大值

min(条件)#最小值

avg(条件)#平均值

count(条件)#统计记录数

HAVING:对GROUP BY之后的结果进行过滤

示例:

mysql> CREATE DATABASE mydb;#创建测试数据库

mysql> USE mydb;

mysql> CREATE TABLE test (id int(50),name varchar(50),qq int(15),gender char(2));#创建测试表

mysql> INSERT INTO test VALUES(1,'zhangshan',12345,'F');    #插入测试数据

mysql> INSERT INTO test VALUES(2,'lisi',123142,'F');

mysql> INSERT INTO test VALUES(3,'zsf',124312,'M');

mysql> INSERT INTO test VALUES(4,'yyy',124312,'F');

mysql> INSERT INTO test VALUES(5,'ytt',124312,'M');

单表查询示例:

mysql> SELECT * FROM test WHERE id>2 AND id<5;#查询ip大于2小于5的数据

mysql> SELECT * FROM test WHERE id>2 GROUP BY gender;#对性别进行分组

mysql> SELECT sum(id),gender FROM test GROUP BY gender;#对性别进行分组,并求他们的id之和

mysql> SELECT * FROM test GROUP BY gender HAVING id>2;#对性别进行分组,显示id大于2的组

多表关联查询:

mysql> CREATE TABLE test2 (emain varchar(200),age int(10));#创建测试环境

mysql> INSERT INTO test2 values('123@qq.com',10);

mysql> INSERT INTO test2 values('456@qq.com',15);

mysql> INSERT INTO test2 values('789@qq.com',20);

mysql> SELECT test.id,test2.age FROM test,test2 WHERE test.id>2 AND test2.age>10;

test.id#第一章表的id字段

test2.age#第二章表的age字段

test#第一章表 表名

test2#第二章表 表名

test.id>2 AND test2.age

#拼接显示test的id字段和test2的age字段,但是test的id字段必须大于2并且test2的age字段必须大于10

mysql> SELECT * FROM test,test2 WHERE test.id>2 AND test2.age>10;

#拼接显示test,test2的所有字段,但是test的id字段必须大于2并且test2的age字段必须大于10

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mysql values select,mysql基础(七)select语句 的相关文章

  • 猪的组连接等效吗?

    试图在 Pig 上完成这个任务 寻找 MySQL 的 group concat 等效项 例如 在我的表中 我有以下内容 3fields userid clickcount pagenumber 155 2 12 155 3 133 155
  • 日期时间与时间戳字段

    我是 MySQL 数据库的新手 您是否建议在表创建中使用日期时间或时间戳字段以及原因 我正在使用 MySQL 5 7 和 innodb 引擎 Thanks 我会用TIMESTAMP对于任何需要自动管理的事情 因为它支持诸如ON UPDATE
  • MySQL 可选的带有 MATCH 的 LEFT JOIN

    我有以下查询 它对 MySQL Innodb 数据库中同一搜索词的两个不同表中的两列执行全文搜索 SELECT Id MATCH tb1 comment tb2 comment AGAINST search term IN BOOLEAN
  • 更改mysql数据库表中的日期格式

    大家早上好 只是一个简单的问题 在我现有的 MySql 数据库中 我几乎没有包含日期 的列 目前这些是年 月 日格式 但现在我需要将其全部更改为年 月 日格式 我试过了select date format curdate d m Y 但它不
  • 如何在查询语句之外从mysql查询中获取值?

    这是下面的函数console log function quo value value connection query SELECT role from roles where id 1 function error results fi
  • mysql-connector-c++ - “get_driver_instance”不是“sql::mysql”的成员

    我是 C 的初学者 我认为学习的唯一方法就是接触一些代码 我正在尝试构建一个连接到 mysql 数据库的程序 我在 Linux 上使用 g 没有想法 我运行 make 这是我的错误 hello cpp 38 error get driver
  • 连接到 OpenShift (Redhat Paas) mysql 实例

    我正在尝试将我的 C 应用程序与 openshift 数据库连接 但我得到了这个例外conn Open Eccezione gt MySql Data MySqlClient MySqlException 0x80004005 Unable
  • 无法在 Zend Framework 中回滚事务

    我在 Zend Framework 中使用以下代码进行事务 但回滚功能不起作用 数据通过 insertSome data 插入数据库 怎么了 db gt beginTransaction try model gt insertSome da
  • postgresql 不同的不工作

    我使用以下代码从数据库获取值 但是当我编写这段代码时 测试看看问题出在哪里 我注意到查询没有从数据库中获取不同的值 这是查询 select distinct ca id as id acc name as accName pIsu name
  • MySQL - 从数字列表中选择在表的 id 字段中没有对应项的数字

    我有一个数字列表 例如 2 4 5 6 7 我有一个表 foos 带有 foos ID 包括 1 2 3 4 8 9 我想获取我的号码列表 并在我的表的 ID 字段中找到那些没有对应项的号码 实现此目的的一种方法是创建一个表格栏 在 ID
  • “修改列”与“更改列”

    我知道 我们不能使用重命名列MODIFY COLUMN语法 但我们可以使用CHANGE COLUMN syntax 我的问题是 主要用途是什么modify syntax 例如 ALATER TABLE tablename CHANGE co
  • MySQL:如何仅获取正值的平均值?

    假设我有 INT 列 并且我使用 1 来表示插入时没有可用数据 我想获得该列中所有 0 或更大值的平均值 这可能吗 Thanks 我忘了提及 我正在与其他 AVG 一起执行此操作 因此从选项卡中选择 avg a avg b avg d 所以
  • 针对约 225 万行的单表选择查询的优化技术?

    我有一个在 InnoDB 引擎上运行的 MySQL 表 名为squares大约有 2 250 000 行 表结构如下 squares square id int 7 unsigned NOT NULL ref coord lat doubl
  • 防止 Propel 插入空字符串

    当未设置列时 如何防止 Propel ORM 插入空字符串 CREATE TABLE user uid INTEGER PRIMARY KEY AUTO INCREMENT email VARCHAR 255 NOT NULL UNIQUE
  • 使用什么框架来引导我的第一个生产 scala 项目?

    我正在第一次涉足 scala 的生产应用程序 该应用程序当前打包为 war 文件 我的计划是创建 scala 编译工件的 jar 文件 并将其添加到 war 文件的 lib 文件夹中 我的增强功能是通过 Jersey 公开的 mysql 支
  • MySQL NOT IN 来自同一个表中的另一列

    我想运行 mysql 查询来选择表中的所有行films其中的值title该列不存在于另一列的所有值中的任何位置 collection 这是我的表格的简化版本 其中包含内容 mysql gt select from films id titl
  • 如何对 SQL 进行多次查询

    我正在尝试创建一个表 并在 PHP 脚本的帮助下在数据库中插入一些值 虽然只插入 1 行 但效果很好 当我尝试输入更多行数时 出现错误 我需要为每个查询编写完整的插入语句 因为我正在使用在线 Excel 到 SQL 查询转换器
  • 如何使用 MySQL 选择有特定值的 2 个连续行?

    我正在构建一个系统 该系统应该显示学生何时连续缺席两天 例如 此表包含缺勤情况 day id missed 2016 10 6 1 true 2016 10 6 2 true 2016 10 6 3 false 2016 10 7 1 tr
  • MySQL:@@ 是什么意思?

    我正在阅读本页上的 MySQL 文档 http dev mysql com doc refman 5 1 en set statement html http dev mysql com doc refman 5 1 en set stat
  • 条件触发器的Django迁移sql

    我想创建一个触发器 仅在满足条件时插入表 我尝试过使用 IF BEGIN END 和 WHERE 的各种组合 但 Django 每次都会返回 SQL 语法错误 这里 type user id指的是触发该事件的人 user id指的是接收到通

随机推荐