一,基础操作

1,创建表

CREATE TABLE `customers` (   //设置customers_id为整数并为自增长`customers_id` INT(11) PRIMARY KEY AUTO_INCREMENT,`last_name`  VARCHAR(10) NOT NULL,`first_name` VARCHAR(10) NOT NULL,`dob` DATE,`phone` VARCHAR(12)
)

2,添加数据

nsert into customers (last_name,first_name,dob,phone
) values ('李', '锐','1965-01-01', '800-555-1211');

3,使用LIKE操作符

模式可以使用普通字符和两个通配符的组合指定:

下划线字符(_)匹配指定上的一个字符

百分号字符(%)匹配从指定位置开始的任意个字符。

例:where first_name like'_o%'

查询customers表中first_name这一列,这个列中有o字符的名。

select *from customers where last_name like'%o%';

4,使用in操作符

使用in操作符从customers表中检索customer_id列的值为2、3、或5的记录。

select * from customers where  customers_id in(2,3,5)

not in的结果与使用in所查询的结果正好相反。

select *from customers where customers_id in(2,3,5)

如果指定的值列表中有一个为空值,那么not in就会返回false.,不会返回任何结果

select *from customers where customers_id not in(2,3,4,5)

5,使用逻辑操作符

x and y              当x和y都为true时,返回true。

x or y               当x和y中有一个为true时,就返回true

NOT x              如果x为true则返回false,如果x为false则返回true。

例 :从customers表中检索dob列大于1970年1月1日并且小于2000年1月1日的客户:

select *from customers where dob>'1970-1-1' and dob<'2000-1-1';

从customers表中检索dob列大于2012年1月1日或者customers_id列大于3的行:

 select * from customers where dob> '2012-01-01'  or customers_id>3

理解操作符的优先等级

如果在一个sql语句中同时使用AND和OR操作符,那么AND的优先级要高于OR,而比较操作符的优先级

高于AND,当然我们可以使用圆括号来改变优先级的顺序。

7,使用ORDER BY子句对行进行排序

order by子句用于对从数据库检索出的行进行排序,order by子句可以指定一列或多列(查询结果会根据这些列进行排序)

,  而且必须位于FORM和WHERE子句(如果提供WHERE子句)之后。

例:查询出products表中的数据,以价格进行排序(正序,倒序)

select *from products where price order by price;
select *from products where price order by price desc;

8,使用between操作符

例:从customers表中检索customers_id列的值在1和3之间的记录:

select *from customers where customers_id between 1 and 3

当然not between会返回相反的行,between也可以检索在二个sql语句之间的记录,当然要求sql语句

查询出的结果要与类型匹配,为整型。

例: 查询价格在50-200之间的产品:

select *from products where price between 10 and 25;

9,多表查询

内连接  join

例:同时查看产品名称和产品类别二个表中的信息。

select p.product_id, p.name,t.name as type, p.description,p.price     from   products p   join  product_types ton p.product_type_id = t.product_type_id;

二,函数与关键词

1,在关联子查询中使用EXISTS和NOT EXISTS

EXISTS操作符用于检查子查询所返回的行的存在性。

语法:where exists (sql语句)

例:使用EXISTS查询负责管理其它员工的员工记录。

select employee_id, concat(last_name,'',first_name) name from employees eewhere  exists (select employee_id from employees e where e.manager_id=ee.employee_id);

由于EXISTS只是检查子查询返回行的存在性,所以查询不必返回一列,可以只返回一个常量值。这样提高查

询的性能

select employee_id, concat(last_name,'',first_name) name from employees eewhere  exists (select 1 from employees e where e.manager_id=ee.employee_id);

2,Limit函数

LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0(而不是 1)。

例:

SELECT * FROM table LIMIT 5,10;   检索记录行 6-15
为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1:
SELECT * FROM table LIMIT 95,-1;  检索记录行 96-last.
如果只给定一个参数,它表示返回最大的记录行数目:
SELECT * FROM table LIMIT 5;    检索前 5 个记录,换句话说,LIMIT n 等价于 LIMIT 0,n。

3,Row()  CURDATE()插入当前时间

NOW()函数以`'YYYY-MM-DD HH:MM:SS'返回当前的日期时间,可以直接存到DATETIME字段中。

CURDATE()以’YYYY-MM-DD’的格式返回今天的日期,可以直接存到DATE字段中。

CURTIME()以’HH:MM:SS’的格式返回当前的时间,可以直接存到TIME字段中。

例:

insert into customers(dob) values (now())

4,AVG()函数

AVG(x)函数用于计算x的平均值。

例:计算产品的平均价格,products表中的price列作为参数传递给AVG()函数;

select avg(price) from products; 

5,count()函数

用于计算一个查询所返回的行数。

例:计算products表中的行数:

select count(product_id) from products;

6,MAX()和MIN()

用于计算x的最大值和最小值。

select max(price),min(price) from products;

7,SUM(x)函数

计算并返回x中的所有值之和,

例:计算products表中price列之和。

select sum(price) from products  

8,使用GROUP BY对行进行分组

例如:查询products表中不同类型的产品的平均价格。

select  product_type_id, avg(price) 平均价格 from
products p group by p.product_type_id;

注:1、不能在where函数中使用聚合函数。

2、如果查询中包含一个聚合函数,而所选择的列并不在聚合函数中,

那么这些列就必须在GROUUP BY子句中。

9,使用HAVING子句过滤行分组

HAVING子句可以用于过滤分组,它可以放在GROUP BY子句之后,

用于对分组后进行过滤。

例:查询平均价格高于20块的产品类型。

 select product_type_id from products
group by product_type_id having avg(price)>20

转载于:https://www.cnblogs.com/dybe/p/8059562.html

java:mysql基础语法相关推荐

  1. java字节型的关键字_DAY06-07 Java的基础语法-注释、标识符、关键字、数据类型

    Java的基础语法 注释 注释不会被执行,是给人看的 书写注释是一个非常好的习惯. 注释类型: (1)单行注释:// 注释内容 (2)多行注释:/ * - 注释内容-. * / (3)文档注释:/* ...

  2. 【Java 1】Java的基础语法

    Java的基础语法 一.Java运算符 1.1.1 运算符和表达式 1.1.2 算术运算符 1.1.3 "+"号运算的特殊 1.2 赋值运算符 1.3 自增自减运算符 1.4 关系 ...

  3. MySql基础语法-java学习

    MySQL 目录结构 MySQL 的目录结构 描述 bin<目录> 所有 mysql 的可执行文件,如:mysql.exe MySQLInstanceConfig.exe 数据库的配置向导 ...

  4. MySQL基础语法大全(尚硅谷)

    文章目录 一.为什么要学数据库 二.数据库的相关概念 DBMS DB SQL 数据库的好处 数据库相关概念 三.数据库存储数据的特点 四.初识MySQL 1.MySQL产品的介绍和安装 2.MySQL ...

  5. MySQL基础语法与JDBC

    文章目录 前言 (一)什么是SQL (二)什么是MySQL (三)MySQL的体系结构 ①连接层 ②服务层 ③可插拔存储引擎层 ④存储层 (四)MySQL的启动.停止.连接 一.基础知识 (一)基本术 ...

  6. MySQL基础语法总结

    MySQL基本语法 注:使用到的数据库表在文章末尾 文章目录 MySQL基本语法 基础查询 条件查询 排序查询 常见函数 分组查询 连接查询 基础查询补充 子查询 分页查询 联合查询 查询总结 插入 ...

  7. Mysql 基础语法应用

    第一章 MySQL基础介绍 1.数据库的基本概念数据库: DataBase 简称 DB作用: 用于永久性存储和管理数据的仓库 2.常见的数据库A.MySQL 简单的免费的数据库 ---> 现在学 ...

  8. MYSQL基础语法的使用

    喜欢的朋友可以关注下,粉丝也缺. MYSQL介绍 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之 ...

  9. java的基础语法和数据类型,IDEA

    IDEA的用法 快捷方法 主函数:psvm 输出语句:sout java基础语法注释 注释:必须要写注释 单行注释:// 多行注释:/**/ 文档注释javaDoc:/***/ 平时写代码要注意规范 ...

  10. Java初级·基础语法

    基础语法* 01.关键字 关键字: Java预定义的有特殊含义的单词 特点 1.常用的开发工具高级记事本/IDE,能够变颜色的一些单词 2.都是小写字母组成 3.都是由特殊含义的单词 public : ...

最新文章

  1. 税收征收管理法律制度
  2. Udi Dahan对于业务逻辑重用以及微服务方面的观点
  3. Datastream 开发打包问题
  4. 常用T-Code总结
  5. python获取手机号码归属地_Python批量获取并保存手机号归属地和运营商的示例
  6. Ubuntu部署Java项目
  7. PyTorch学习—5.torch实现逻辑回归
  8. 怎么打散铺铜_怎么做绵软香甜的黑米糕,不加酵母,加鸡蛋和一碗黑米粉一搅拌...
  9. java+se+ee+spring_【JavaEE】Springmvc+Spring整合及example
  10. 企业信息管理系统(1)_系统页面框架分析
  11. 数据库工程师基础学习1----计算机硬件基础知识,计算机体系结构与存储系统
  12. 去除AuotoCAD学生版水印的办法
  13. android自定义控件(组合控件)相关
  14. win10安装时有个修复计算机,电脑开机提示自动修复怎么办?win10电脑开机提示自动修复教程...
  15. 高数篇:05柯西定理和泰勒公式
  16. 不同时区时间换算_java中转换不同时区的时间
  17. gmap实现地图的旋转
  18. python中‘ ‘.join()的使用
  19. YOLOv1论文中英文对照翻译
  20. 周记一:要有一颗屹立不倒的恒心

热门文章

  1. java锟斤拷锟斤拷锟_锟斤拷?UTF-8与GBK互转乱码问题
  2. 清橙网A1110. 街道
  3. win10 官方纯净版安装详细图解
  4. 查看本地IP和服务器端口
  5. 如何查看本地ip地址和外网地址
  6. android cta 权限,[Android][Framework]PackageManagerService处理应用权限流程
  7. STM32MP157驱动开发——Linux IIO驱动(上)
  8. 达克效应:无知要比知识更容易产生自信
  9. 火车头微博采集发布规则教程详解
  10. vue 微信公众号获取定位经纬度 腾讯地图逆地址解析为具体地址