1.逻辑运算符的补充
between 的用法:(在....之间)
select column1,column2,......columnN from 表名
where columnX between 第一个值 and 第二个值; 示例:select name,age from customers where age between 26 and 30; SQL中逻辑运算符的优先级列表
级别 操作符
1 ~(Bitwise NOT)
2 * 乘法 /除法 %取模
3 + 加号 -减号 &(Bitwise AND) ^(Bitwise Exclusive OR)
| (bitwise OR)
4 =,>,<,>=,<=,<>,!=,!<,!>比较操作符
5 NOT
6 AND
7 ALL,ANY,BETWEEN,IN,LIKE,OR
8 = (赋值)
注意:sql中可以使用圆括号()来控制优先级 update更改:
update 表名 set column1=value1,column2=value2,....,columnN=valueN
where 条件;
示例:
update customers set age=29 where name="david";
注意
update customers set age=29;
没有where条件语句,意味着将表中所有行的age改为29. delete删除操作:(删除符合条件的一行)
delete from 表名 where 条件;
示例:
delete from customers where id=1;
注意:
delete from customers;不写where条件语句,结果是把表中的所有记录全部删除 like语句
通配符为%:0,1,或更多
通配符为_:单一数字或者单一字符
示例:
select * from 表名 where 列名 like "XXXX%"
select * from 表名 where 列名 like "_XXXX_"
思考:
select * from customers where salary like "_5__.__";
select * from customers where salary like "3%";
select * from customers where salary like "1_000%";
select * from customers where address like "%zh__"; limit限制:(选取的是符合列的属性)[limit语句永远放在最后面]
select * from 表名 limit n;其中n指返回表中的前n条记录
select * from 表名 limit m,n;其中m指记录开始的索引号,第一条记录代码是0,n是指从第m条记录开始,取n条记录(索引也是从0开始)
示例:
select * from customers limit 3; select name,age(可以是一个也可以是多个) from customers limit 3;
select * from customers limit 3,2;
order by 排序:
ASC 升序
DESC 降序
select 列名 from 表名 [where 条件] order by 列名 ASC;
示例:
select name,age from customers order by age ASC;
注意;
order by 后面出现的列名 不必出现在select语句后
练习:
把customers表中,城市为深圳的顾客,按年龄升序,工资降序排列,并且只返回结果中的第一条记录
select * from customers where address="shenzhen" order by age ASC limit 1;
elect * from customers where address="shenzhen" order by salary DESC limit 1;
select * from customers where address="shenzhen" order by age ASC,salary desc limit 1;
[先按age升序排列如果age一样的情况下在按salary降序排列,没有的表中的顺序就是按age排的] select * from customers where address="shenzhen" order by age ASC,salary desc ;(先按age排序在按salary排序) Group by 分组:
group by 用来与聚合函数(比如 count总数,sum求和,avg平均值,min最小值,max最大值)联合使用,得到一个或多个列的结果集
语法:
select column1,column2,....columnN,聚合函数(表达式) from 表名 where 条件
group by column1,column2,....columnN
order by column1,column2,....columnN;
注意:******
1.group by之后的列必须出现在select语句之中
2.group by语句必须在where语句之后,order by语句之前
select address,max(salary) from customers group by address;
select max(salary) from customers group by address;[这个做法是没有多大意义的只会出现salary的数据不会出现其他数据] 练习:
列出各个城市的平均工资,按照平均工资由小到大的排序,并且只返回前三条记录
select address,avg(salary) from customers group by address order by avg(salary)asc limit 3; 注意:
因为聚合函数通过作用与一组数据而只返回一个单个值,因此,在select语句中出现的元素要么为一个聚合函数的输入值,要么为group by语句的参数,否则会出错
例如如下语句会报错:
select address,avg(salary)[聚合函数的输入值],name from customers group by address; where语句后不能直接跟聚合函数,如下例子为错误:
select address,avg(salary) from customers where avg(salary)>4000 group by address order by avg(salary)asc limit 3; Having语句:(加的是聚合函数)
Having语句通常与group by语句联合使用,用来过滤由group by语句返回的记录集
Having语句的存在弥补了where关键字不能与聚合函数联合使用的不足
语法如下:
select column1,column2,....colulmnN,聚合函数(表达式)from 表名 where 条件[判断条件的语句不能加聚合函数,聚合函数只能加在having后面]
group by column1,column2,....columnN having 条件1,条件2,....,条件N; 示例:
select address,avg(salary) from customers group by address having avg(salary)>4000;
练习:
分别针对除了北京市以外的其他城市,列出年龄大于25岁的顾客的最高收入,并且该最高收入不得低于3000,将这些信息按照工资的升序排列
select address,max(salary) from customers where age>25 and (not address="beijing") group by address having max(salary)>=3000
order by max(salary) asc; distinct 不同的
与select 一起使用,除去重复项,提前唯一的记录项目
select distinct column1,column2,.....columnN from 表名 where 条件 示例:
select distinct age from customers;
select count(distinct age) from customers;

MySQL的一些基本命令笔记(2)的更多相关文章

  1. MySQL的一些基本命令笔记(4)

    delete 语句嵌套子查询: delete from 表名1 where 列名 操作符 (select 列名 from 表名2 where 条件); 示例: delete from customer ...

  2. MySQL的一些基本命令笔记(1)

    关系型数据库的建模构建块: 1.数据是以行和列的形式存储数据. 2.这一系列的行和列称为表(关系) 3.表中的每一行表示一条记录(元组) 4.表中的每一列表示记录的一个属性 5.一组表组成了数据库 6 ...

  3. MySQL的一些基本命令笔记(3)

    指明外键: 1 :1 两个表中的主键都可以当成外键 1 :N 在 "多" 的实体表中新增加一个字段,该字段是 "一" 实体表的主键 M : N 拆成两个1 :N ...

  4. Ubuntu 14 编译安装 PHP 5.4.45 + Nginx 1.4.7 + MySQL 5.6.26 笔记

    Ubuntu 14 编译安装 PHP 5.4.45 + Nginx  1.8.0/1.4.7 + MySQL 5.6.26 笔记,主要是给自己的PC机安装,非生产环境! 一.下载必要的源码 1.1.下 ...

  5. MYSQL视图的学习笔记

    MYSQL视图的学习笔记,学至Tarena金牌讲师,金色晨曦科技公司技术总监沙利穆 课程笔记的综合. 视图及图形化工具   1.       视图的定义 视图就是从一个或多个表中,导出来的表,是一个虚 ...

  6. mySQl数据库的学习笔记

    mySQl数据库的学习笔记... ------------------ Dos命令--先在记事本中写.然后再粘贴到Dos中去 -------------------------------- mySQ ...

  7. Mysql数据库基础学习笔记

    Mysql数据库基础学习笔记 1.mysql查看当前登录的账户名以及数据库 一.单表查询 1.创建数据库yuzly,创建表fruits 创建表 ) ) ,) NOT NULL,PRIMARY KEY( ...

  8. CentOS6.8下MySQL MHA架构搭建笔记

    转载请注明出处,本文地址:http://www.cnblogs.com/ajiangg/p/6552855.html 以下是CentOS6.8下MySQL MHA架构搭建笔记 IP资源规划: 192. ...

  9. Mysql经常使用基本命令汇总及默认账户权限与改动

    一直仅仅是在浅显利用数据库存储数据.也被windows惯坏了.非常多命令使用的时候记不起来.so,换LINUX系统!不再使用GUI管理数据库!也想深入学习下Mysql.从权限管理開始.也就诞生了这篇学 ...

随机推荐

  1. LVS-Keepalived高可用集群(DR)

    LVS-DR+Keepalived高可用集群 -------client------------------主LVS--------------------从LVS------------------ ...

  2. python中,下级模块引用上级模块:SystemError: Parent module '' not loaded, cannot perform relative import

    当在下级中引用上级时,使用相对导包会出错,SystemError: Parent module '' not loaded, cannot perform relative import 运行test ...

  3. hdu 3294 Girls' research(manacher)

    Problem Description One day, sailormoon girls are so delighted that they intend to research about pa ...

  4. 团体程序设计天梯赛(CCCC) L3013 非常弹的球 不同思路

    团体程序设计天梯赛代码.体现代码技巧,比赛技巧.  https://github.com/congmingyige/cccc_code

  5. opencv mat裁剪

    主要记录的就是对Mat裁剪后,新Mat指向的内存和原来的Mat共用. OpenCV入门教程(3)-Mat类之选取图像局部区域

  6. JVM调优工具

    JMap 首先要知道Java进程的pid. Windows: .. .. .. Linux: ps -ef | grep java 查看堆栈信息(jmap -heap pid) jmap -heap ...

  7. TODO java 作业-梭哈--待完成

    作业:定义一个类,该类用于封装一桌梭哈游戏,这个类应该包含桌上剩下的牌的信息,并包含5个玩家的状态的信息,他们各自的位置,游戏状态(正在游戏或已放弃),手上已有的牌等信息.如果有可能,这个类还应该实现 ...

  8. UI 滑动面板的移动控制

    通过拖拽的方式移动面板,在单个界面看到多个视图面板 需要导入UnityEngine.EventSystems;    事件命名空间 进而继承两个重要的接口IBeginDragHandler,IDrag ...

  9. Deepin或者Ubuntu上永久配件navicat

    1.深度商店下载安装Navicat,期间可能会要求安装wine等. 2.安装完毕      终端环境下找到Navicat的安装目录       langzi@langzi-PC:~$ whereis ...

  10. (二叉树 BFS) leetcode103. Binary Tree Zigzag Level Order Traversal

    Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to ...