- 浏览: 128854 次
- 性别:
- 来自: 上海
最新评论
-
ranweizheng:
luokery 写道有失真...显然,存在失真是必然的,只是怎 ...
Java图片缩小后不失真的代码(缩略图) -
szhnet:
kree 写道szhnet 写道其实我在1楼说的不对,那个不能 ...
非阻塞通信,《Java网络编程精解》指误。 -
kree:
szhnet 写道其实我在1楼说的不对,那个不能用到达输入流的 ...
非阻塞通信,《Java网络编程精解》指误。 -
szhnet:
其实我在1楼说的不对,那个不能用到达输入流的未尾来理解。
非阻塞通信,《Java网络编程精解》指误。 -
leaow567:
同意楼上的观点
非阻塞通信,《Java网络编程精解》指误。
最近在做一个PHP+MYSQL的项目,说实话,第一次呢
不断查资料,觉得有些资料值得收藏一下
Mysql数据库的高级查询
查询emp表中,emp_name为啸天的全部信息 mysql> select * from emp where emp_name='啸天'; 查询结果显示如下: +--------+----------+---------+---------+------------+---------+ | emp_id | emp_name | emp_age | emp_sal | emp_bir | emp_sex | +--------+----------+---------+---------+------------+---------+ | 100005 | 啸天 | 27 | 4000 | 1979-07-10 | male | +--------+----------+---------+---------+------------+---------+ 1 row in set (0.00 sec) 查询emp表中,emp_sal,工资在5000以上的全部信息 mysql> select * from emp where emp_sal>5000; 查询结果显示如下: +--------+----------+---------+---------+------------+---------+ | emp_id | emp_name | emp_age | emp_sal | emp_bir | emp_sex | +--------+----------+---------+---------+------------+---------+ | 100001 | 红枫 | 29 | 9000 | 1977-01-01 | male | | 100002 | 丽鹃 | 27 | 8000 | 1979-12-31 | fmale | +--------+----------+---------+---------+------------+---------+ 2 rows in set (0.00 sec) 查询emp表中在1978年1月1日之后出生的 mysql> select * from emp where emp_bir>'1978-01-01'; 查询结果显示如下: +--------+----------+---------+---------+------------+---------+ | emp_id | emp_name | emp_age | emp_sal | emp_bir | emp_sex | +--------+----------+---------+---------+------------+---------+ | 100005 | 啸天 | 27 | 4000 | 1979-07-10 | male | | 100002 | 丽鹃 | 27 | 8000 | 1979-12-31 | fmale | +--------+----------+---------+---------+------------+---------+ 2 rows in set (0.00 sec) 查询emp表中在1979年12月1日之前出生,工资在5000以上的 mysql> select * from emp where emp_bir<'1979-12-01' and emp_sal>5000; 查询结果显示如下: +--------+----------+---------+---------+------------+---------+ | emp_id | emp_name | emp_age | emp_sal | emp_bir | emp_sex | +--------+----------+---------+---------+------------+---------+ | 100001 | 红枫 | 29 | 9000 | 1977-01-01 | male | +--------+----------+---------+---------+------------+---------+ 1 row in set (0.00 sec) 2.6.2 字段查询 CEO查看员工工资情况 mysql> select emp_name,emp_sal from emp; 查询结果显示如下: +----------+---------+ | emp_name | emp_sal | +----------+---------+ | 啸天 | 4000 | | 红枫 | 9000 | | 丽鹃 | 8000 | +----------+---------+ 3 rows in set (0.00 sec) 查看1978年后出生的人的姓名、工资和性别 mysql> select emp_name,emp_sal,emp_sex from emp where emp_bir>"1977-12-31"; 查询结果显示如下: +----------+---------+---------+ | emp_name | emp_sal | emp_sex | +----------+---------+---------+ | 啸天 | 4000 | male | | 丽鹃 | 8000 | fmale | +----------+---------+---------+ 2 rows in set (0.00 sec) 2.6.3 查询结果排序 用ORDER BY语句对emp表中所有员工工资高低顺序查询结果(默认是从低到高——升序) mysql> select * from emp order by emp_sal; 查询结果显示如下: +--------+----------+---------+---------+------------+---------+ | emp_id | emp_name | emp_age | emp_sal | emp_bir | emp_sex | +--------+----------+---------+---------+------------+---------+ | 100005 | 啸天 | 27 | 4000 | 1979-07-10 | male | | 100002 | 丽鹃 | 27 | 8000 | 1979-12-31 | fmale | | 100001 | 红枫 | 29 | 9000 | 1977-01-01 | male | +--------+----------+---------+---------+------------+---------+ 3 rows in set (0.00 sec) 用DESC关键字来进行从高到低排序——降序 mysql> select * from emp order by emp_sal desc; 查询结果显示如下: +--------+----------+---------+---------+------------+---------+ | emp_id | emp_name | emp_age | emp_sal | emp_bir | emp_sex | +--------+----------+---------+---------+------------+---------+ | 100001 | 红枫 | 29 | 9000 | 1977-01-01 | male | | 100002 | 丽鹃 | 27 | 8000 | 1979-12-31 | fmale | | 100005 | 啸天 | 27 | 4000 | 1979-07-10 | male | +--------+----------+---------+---------+------------+---------+ 3 rows in set (0.00 sec) 2.6.4 查询结果数量的限制 用LIMIT查看emp表中工资收入排名前两个员工的资料: mysql> select * from emp order by emp_sal desc limit 2; 查询结果显示如下: +--------+----------+---------+---------+------------+---------+ | emp_id | emp_name | emp_age | emp_sal | emp_bir | emp_sex | +--------+----------+---------+---------+------------+---------+ | 100001 | 红枫 | 29 | 9000 | 1977-01-01 | male | | 100002 | 丽鹃 | 27 | 8000 | 1979-12-31 | fmale | +--------+----------+---------+---------+------------+---------+ 2 rows in set (0.00 sec) 查看工资排名第2到第3的员工资料: mysql> select * from emp order by emp_sal desc limit 1,2; 查询结果显示如下: +--------+----------+---------+---------+------------+---------+ | emp_id | emp_name | emp_age | emp_sal | emp_bir | emp_sex | +--------+----------+---------+---------+------------+---------+ | 100002 | 丽鹃 | 27 | 8000 | 1979-12-31 | fmale | | 100005 | 啸天 | 27 | 4000 | 1979-07-10 | male | +--------+----------+---------+---------+------------+---------+ 2 rows in set (0.01 sec) 使用rand()抽样调查,随机抽取2个员工,查看其资料 mysql> select * from emp order by rand() limit 2; 如如下结果:(随机的) +--------+----------+---------+---------+------------+---------+ | emp_id | emp_name | emp_age | emp_sal | emp_bir | emp_sex | +--------+----------+---------+---------+------------+---------+ | 100005 | 啸天 | 27 | 4000 | 1979-07-10 | male | | 100001 | 红枫 | 29 | 9000 | 1977-01-01 | male | +--------+----------+---------+---------+------------+---------+ 2 rows in set (0.01 sec) 2.6.5 查询结果的字段联合和重新命名 mysql> select concat(emp_id," ",emp_name) from emp; 查询结果: +------------------------------+ | concat(emp_id," ",emp_name) | +------------------------------+ | 100005 啸天 | | 100001 红枫 | | 100002 丽鹃 | +------------------------------+ 3 rows in set (0.00 sec) 用AS关键字重新给输出结果命名标题 mysql> select concat(emp_id," ",emp_name) as info from emp; 查询结果如下显示: +----------------+ | info | +----------------+ | 100005 啸天 | | 100001 红枫 | | 100002 丽鹃 | +----------------+ 3 rows in set (0.00 sec) 2.6.6 日期查询的相关运算 可以通过YEAR()、MONTH()、DAYOFMONTH()函数来提取日期的组成元素 查询7月份出生的员工资料: mysql> select * from emp where month(emp_bir)=7; 查询结果显示如下: +--------+----------+---------+---------+------------+---------+ | emp_id | emp_name | emp_age | emp_sal | emp_bir | emp_sex | +--------+----------+---------+---------+------------+---------+ | 100005 | 啸天 | 27 | 4000 | 1979-07-10 | male | +--------+----------+---------+---------+------------+---------+ 1 row in set (0.00 sec) 可以利用英文月份来查询: mysql> select * from emp where monthname(emp_bir)="January"; 查询结果显示如下: +--------+----------+---------+---------+------------+---------+ | emp_id | emp_name | emp_age | emp_sal | emp_bir | emp_sex | +--------+----------+---------+---------+------------+---------+ | 100001 | 红枫 | 29 | 9000 | 1977-01-01 | male | +--------+----------+---------+---------+------------+---------+ 1 row in set (0.00 sec) 利用TO_DAYS()函数可以查询出职工们从出生到现在所经理的时间,单位是天数 mysql> select to_days(current_date) - to_days(emp_bir) as livingdays from emp; 查询后结果如下: +------------+ | livingdays | +------------+ | 9425 | | 10345 | | 9251 | +------------+ 3 rows in set (0.00 sec) 计算从现在开始经历100天后的日期 mysql> select date_add(now(),interval 100 day); 查询结果如下: +----------------------------------+ | date_add(now(),interval 100 day) | +----------------------------------+ | 2005-08-07 13:56:58 | +----------------------------------+ 1 row in set (0.00 sec) 计算从现在开始经历100天后的日期 mysql> select date_sub(now(),interval 100 day); 查询结果如下: +----------------------------------+ | date_sub(now(),interval 100 day) | +----------------------------------+ | 2005-01-19 14:00:20 | +----------------------------------+ 1 row in set (0.00 sec) 2.6.7 数据统计 使用COUNT()函数计算表中的数据数目(比如emp表中的员工数目) mysql> select count(*) from emp; 查询结果如下: +----------+ | count(*) | +----------+ | 3 | +----------+ 1 row in set (0.01 sec) 统计工资上5000的数目 mysql> select count(*) from emp where emp_sal>5000; 查询结果如下: +----------+ | count(*) | +----------+ | 2 | +----------+ 1 row in set (0.00 sec) 统计男女职工数目:(GROUP BY语句分类) mysql> select emp_sex,count(*) from emp group by emp_sex; 查询结果如下: +---------+----------+ | emp_sex | count(*) | +---------+----------+ | fmale | 1 | | male | 2 | +---------+----------+ 2 rows in set (0.01 sec) 使用数据统计函数(MIN(),MAX(),SUM(),AVG()) mysql> select -> min(emp_sal) as min_salary, -> max(emp_sal) as max_salary, -> sum(emp_sal) as sum_salary, -> avg(emp_sal) as avg_salary, -> count(*) as employee_num -> from emp; 查询结果如下: +------------+------------+------------+------------+--------------+ | min_salary | max_salary | sum_salary | avg_salary | employee_num | +------------+------------+------------+------------+--------------+ | 4000 | 9000 | 21000 | 7000.0000 | 3 | +------------+------------+------------+------------+--------------+ 1 row in set (0.00 sec) 2.6.8 从多个数据表中检索信息 根据前面的方法,分别进行如下操作: 1). 在数据库asb中建立一个新表dept,表中有两项元素: dept_id --> varchar(6) dept_name --> varchar(10) 2). 在表emp中插入如下一行新记录: +--------+----------+---------+---------+------------+---------+ | emp_id | emp_name | emp_age | emp_sal | emp_bir | emp_sex | +--------+----------+---------+---------+------------+---------+ | 100003 | 小红 | 30 | 8000 | 1976-11-11 | fmale | +--------+----------+---------+---------+------------+---------+ 3). 在新表dept中,输入如下记录 +---------+-----------+ | dept_id | dept_name | +---------+-----------+ | 100005 | MTD | | 100001 | MTD | | 100002 | MTD | | 100003 | HR | +---------+-----------+ 查询emp和dept这两个表中,员工的姓名和部门信息 mysql> select emp.emp_name,dept.dept_name from emp,dept -> where emp.emp_id=dept.dept_id; 查询结果如下: +----------+-----------+ | emp_name | dept_name | +----------+-----------+ | 啸天 | MTD | | 红枫 | MTD | | 丽鹃 | MTD | | 小红 | HR | +----------+-----------+ 4 rows in set (0.00 sec) 多表查询时注意: 1). FROM子句必须给出所查询的表的全部名称 2). 选择字段时候注明其所属表的名称(如emp表中的emp_id要表示为emp.emp_id) 3). 在Where子句中必须指明查询的条件(如,emp.emp_id和dept.dept_id是相同意义的元素)
发表评论
-
c3p0 com.mysql.jdbc.CommunicationsException异常
2010-06-08 16:19 1280使用c3p0,偶尔会报异常: ERROR Thread-4 ... -
c3p0详细配置
2010-06-08 16:10 1062<c3p0-config> <defaul ... -
MySQL Join详解
2010-06-08 14:55 990还是先 Create table 吧 create ... -
玩转MySQL的外键约束之级联删除篇
2010-06-08 14:51 1339如今,许多关系型数据库管理系统都提供了外键约束这一强大的功能特 ... -
mysql的java连接池,用openSTA测试50人并发访问一万次,没有出现问题,很好用
2010-06-08 14:41 1263package com.gosafari.service; ... -
最规范的java连接mysql的实例
2010-06-08 14:33 1494import java.sql.Connection; ... -
MySQL模糊查询语法(推荐)
2010-06-08 14:28 1771$sql="select * from table_ ... -
设计高效合理的MySQL查询语句讲解
2010-06-08 14:19 1227数据库系统是管理信息 ... -
完整的连接池类
2010-06-08 14:09 1057Oracle连接池需要odbc连 ... -
如何用SQLyog来分析MySQL数据库详解
2010-05-05 17:23 1311用SQLyog来分析MySQL数据 ... -
MySQL数据库两台主机同步实战
2010-05-05 17:20 2226MySQL支持单向、异步复制,复制过程中一个服务器充当 ... -
mysql二进制增量备份
2010-05-05 17:18 2117mysqlbinlog -u root -p*** v:/ ... -
MySQL服务器的log-bin功能
2010-05-05 17:13 2278装mysql,运行一段时间后,在mysql目录下出现一堆类似m ... -
mysql事务处理
2010-05-05 17:10 6554由于项目设计里面,牵扯到了金钱的转移,于是就要用到MYSQL的 ... -
深入浅出mysql事务处理和锁机制
2010-05-05 17:09 11601. 事务处理和并发 ... -
MYSQL数据库常用命令集合
2010-05-05 16:37 978Mysql数据库是一个多用户,多线程的关系型数据库,是一个客户 ... -
java.net.SocketException: Broken pipe /Mysql在经过8小时不使用后会自动关闭已打开的连接
2010-05-05 16:34 2177MySQL 的默认设置下,当一个连接的空闲时间超过8小时 ... -
Mysql Date_format 及时间相关用法
2010-05-05 14:16 23860下面的查询选择了所有 ...
相关推荐
### 经典MySQL数据库知识整理 #### 概述 本文档旨在为初学者及有一定基础的用户快速掌握MySQL的核心操作提供便利。从基础的数据库创建、表结构设计,到更高级的功能如触发器、索引、函数以及存储过程等,都通过实际...
- **复杂查询**:包括联表查询、子查询、聚合函数等高级用法。复杂查询有助于处理更为复杂的数据分析需求,如统计某个时间段内最热销的商品、计算用户的平均消费金额等。 ##### 4. 数据库优化 - **索引优化**:为表...
以下是对“mysql数据库中常用的sql大全”的详细解读,旨在帮助读者深入理解并掌握MySQL中的SQL语言及其各种操作。 ### 一、SQL语言分类 #### 1. 数据定义语言(DDL) 用于创建、修改和删除数据库对象,如数据库、...
总的来说,`DELETE`语句在MySQL中提供了强大的数据清理功能,但使用时需谨慎,尤其是涉及到多表连接删除时,必须全面考虑其可能的影响。通过了解这些知识点,您可以更安全、高效地管理数据库中的数据。
7. **Logstash-input插件**:“logstash-inp”标签可能是指Logstash的输入插件,这些插件用于接收来自不同源的数据,如MySQL数据库。例如,使用JDBC输入插件可以从MySQL数据库中读取数据。 综上所述,这个项目涉及...
除了本文所介绍的多数据库连接和跨数据库查询之外,ThinkPHP5还提供了其他许多数据库操作相关的技巧和方法,比如条件查询、聚合查询、原生SQL支持等等,这些都是值得开发者深入学习和掌握的。 除了ThinkPHP5的...
### MySQL 查询语句详解与实践 ...这些练习涵盖了 SQL 查询的基本语法以及一些高级特性,如联表查询、子查询等。通过练习这些题目,你可以更好地理解和掌握 SQL 查询语句的编写技巧,从而更有效地管理和分析数据。
1. **联表查询**:使用 INNER JOIN 或者 WHERE 子句实现多表关联查询。 - 查询所有信息: ```sql SELECT * FROM stu, class WHERE stu.cid = class.id; ``` - 查询学生名字及其对应的班级名称: ```sql ...
本资源摘要信息涵盖了 MySQL 实践 46 题,旨在帮助学习者从基础到高级掌握 MySQL 的各种操作,包括增删改查、聚合联表等。 SQL 基础 MySQL 是一种关系型数据库管理系统,使用 SQL 语言进行数据的存储、查询和操作...
- **子查询与联表查询**: 在某些情况下,使用联表查询代替子查询可以提高查询效率。 - **DISTINCT与GROUP BY**: 在使用这些操作时,确保相关列上有索引,以提高查询效率。 #### 六、分库分表带来的挑战 **1. ...
- **复杂查询**:通过SQL语言的支持,MySQL允许执行复杂的查询操作,比如联表查询、子查询等,这对于深入分析数据非常有用。 - **报表生成**:借助MySQL的聚合函数和排序功能,可以轻松生成各种类型的报表,为决策...
- **联表查询**:包括`INNER JOIN`, `LEFT JOIN`, `RIGHT JOIN`等。 #### 三、MySQL服务器配置与优化 - **性能调优**:通过对`my.cnf`配置文件的调整来优化服务器性能。 - **内存配置**:合理设置缓冲池(`innodb_...
Spring Data JPA是Spring对JPA的扩展,提供了更高级的查询支持。 接着,创建一个实体类,例如名为`User`,并使用`@Entity`注解标记该类为数据库表对应的实体。然后,使用`@Id`注解指定主键字段,以及可能的`@Table`...
- **SQL语句**:掌握基本的SQL操作,如SELECT、INSERT、UPDATE、DELETE等,以及复杂的查询技巧,如子查询、联表查询等。 - **索引优化**:理解索引的工作原理及其对查询性能的影响,学会合理创建和使用索引。 #### ...
12. **SQL语句**:熟练掌握各种SQL语句,包括但不限于`SELECT`、`INSERT`、`UPDATE`、`DELETE`等,以及更复杂的子查询、联表查询等。 ### 性能调优 13. **MySQL调优**:涉及到多个层面,包括但不限于硬件调优、...
3. **联表查询**:bean-searcher-dev天生支持联表查询,这是数据库操作中的常见需求,尤其是在需要从多个表中获取关联数据时。通过ORM,开发者可以更直观地构建复杂的查询,而无需手动编写JOIN语句。 4. **免DTO/VO...
- SQL脚本编写(49分):评估学生在SQL脚本编写方面的能力,涵盖数据库表的创建、视图使用、全文检索、触发器、存储过程等高级特性。 - 页面程序开发(35分):检验学生在Web应用开发方面的技能,包括用户认证、权限...
在IT行业中,数据库管理和数据交互是至关...总的来说,这个项目涵盖了数据库设计、Java后端开发、数据查询优化等多个IT领域的知识点,对于理解和实现此类系统,需要对数据库原理、Java编程以及Web服务有深入的理解。
在MySQL数据库中,联表更新和删除是两个高级操作,它们允许你在一次SQL语句中同时处理多个相关表的数据。这种技术在处理一对多、多对一或多对多关系时特别有用,能够提高效率并减少事务中的操作次数。本文将详细介绍...