mysql常用数据操作之查

将数据库查询单独开来是因为使用最多,也是技巧最多,同时面试最容易问的部分

简单查询

select * from table_name;

select name,age from table_name;

模糊查询%和_

%表示0个或多个未知字符

_表示单个未知字符

select name,age from table_name where name=‘王%‘;查询姓王的人

select name,age from table_name where name=‘%天%‘;查询姓名中包含天的人

select name,age from table_name where name=‘王_‘;查询姓王且名字是两个字的人

配合比较运算符 >  <  >=   <=  =  != 和 <>

select name,age from table_name where age>18;

select name,age from table_name where age<18;

select name,age from table_name where age>=18;

select name,age from table_name where age<=18;

select name,age from table_name where age=18;(数据库语句中=就是=,而不是程序语言中的==)

select name,age from table_name where age!=18;或select name,age from table_name where age<>18;(比较运算符中!=,<>都代表排除,因此有两种写法)

数值计算 + - * / %

(太简单了不举例了)

去除重复 distinct

select distinct job from emp;

配合and 和 or

select name,age,sal from table_name where age>30 and sal>2000;(and表示条件必须同时满足)

select name,age,sal from table_name where age>30 or sal>2000;(or表示条件满足其中之一即可)

包含一个条件到另一个条件之间 between x and y

select name,age,sal from table_name where sal between 2000 and 3000;查询工资在2000-3000之间的人

与select name,age,sal from table_name where sal>=2000 and sal<=3000;相同

满足哪些条件 in

select name,age,sal from table_name where sal in(2000,3000,4000);查询工资在哪些人的工资是2000或3000或4000

与select name,age,sal from table_name where sal=2000 or sal=3000 or sal=4000;相同

is null和is not null

select name,age,sal from table_name where age is null;哪些人的年龄为空

select name,age,sal from table_name where age is not null;哪些人的年龄不为空

别名

select ename name,age 年龄 from table_name;

排序 order by 字段名

order by 字段名 asc(升序)/desc(降序)

mysql默认是升序

select ename,age from table_name order by age desc;

分页查询 limit

limit 跳过条数,请求条数

select ename,age,sal from table_name limit 4,2;跳过1,2,3,4条记录,请求5,6条记录

聚合函数 avg max min sum count

select avg(sal) from table_name;查询员工平均工资

select max(sal) from table_name;查询最高工资

select min(sal) from table_name;查询最低工资

select avg(sal) from table_name;查询员工平均工资

select sum(sal) from table_name;查询工资总和

select count(*) from table_name where deptno=30;查询30号部门共有多少员工

分组查询 group by

select avg(sal) from table_name group by deptno;查询每个部门的平均工资

select avg(sal) from table_name where sal>100 group by deptno;查询每个部门的平均工资,要求员工工资高于1000

分组查询支持多字段分组

select deptno,job,avg(sal) from table_name group by deptno,job;查询每个部门下,每种职位的平均工资

聚合函数的条件having

select avg(sal) from table_name group by deptno having avg(sal)>2000;查询每个部门的平均工资,要求只显示平均工资高于2000的部门

子查询(嵌套查询)

即使用一个查询语句的查询结果作为另一个查询语句的条件判断

select * from emp where sal=(select max(sal) from emp);查询表中工资最高的员工信息

关联查询(同时查询多张表的查询方式)

select e.ename,d.dname from emp e,dept d where e.deptno=d.deptno;

等值链接、内连接和外连接

等值链接 select * from A,B where A.x=B.x and A.age>20;

内连接 select * from A join B on A.x=B.x where A.age>20;

  select e.ename,d.dname from emp e join dept d on e.deptno=d.deptno;查询每一个员工的姓名对应的部门名

外连接 select * from A left/right join B on A.x=B.x where A.age=20; 外连接就是查询一张表的全部数据和另一张表的交集数据

  select e.ename,d.dname from emp e right join dept d on e.deptno=d.deptno;查询所有的部门名和对应的员工名

如果查询的数据是两张表的交集数据用内连接,如果查询的数据是一张表的全部数据和另外一张表的交集数据使用外连接

原文地址:https://www.cnblogs.com/WaterGe/p/11259930.html

时间: 2024-10-09 06:22:15

mysql常用数据操作之查的相关文章

MySQL中数据表的查操作

查询数据表的全部内容 mysql> show tables;#查看当前数据库下的所有表 +--------------------+ | Tables_in_ceshi_ku | +--------------------+ | biao | | ceshi_biao | +--------------------+ 2 rows in set (0.00 sec) mysql> select * from biao;#查看该表所有的内容,*代表通配符,在这里是代表所有的列 +------+-

MySQL 大数据操作注意事项

MySQL 大数据操作注意事项 http://netkiller.github.io/journal/mysql.parallel.html Mr. Neo Chen (netkiller), 陈景峰(BG7NYT) 目录 1. 关于 delete 2. 关于 update 3. 关于创建索引 4. 关于 OPTIMIZE 5. 关于切换引擎 6. 确保SELECT不被受阻 1. 关于 delete delete from mytable 必死无疑,你需要分批删除,尽量缩小每个批次删除的记录数,

MySQL常用权限操作

MySQL常用权限操作 1.更新密码 (SQL命令控制台执行) UPDATE USER SET PASSWORD=PASSWORD('123456') WHERE USER='ROOT' AND HOST='%'; 或者(SQL命令控制台执行) SET PASSWORD FOR ROOT@LOCALHOST = PASSWORD('123456'); 或者(下面这个shell中执行) mysqladmin -u root -p old_password password new_password

Mysql:数据操作_增删改查

数据操作 插入数据 insert into test (id,email,ip,state) values(2,'[email protected]','127.0.0.1','0'); 删除数据 delete from test where id = 1; 修改数据 update test set id='1',email='[email protected]' where id=1; 查数据 select * from test;                          取所有数据

mysql四:数据操作

阅读目录 一 介绍 二 插入数据INSERT 三 更新数据UPDATE 四 删除数据DELETE 五 查询数据SELECT 六 权限管理 一 介绍 MySQL数据操作: DML ======================================================== 在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括 使用INSERT实现数据的插入 UPDATE实现数据的更新 使用DELETE实现数据的删除 使用SELECT查询数据以及. ==

Mysql常用命令操作小结

Mysql操作大全 一.概述 SQL(Structured Query Language)语言的全称是结构化查询语言.数据库管理系统通过SQL语言来管理数据库中的数据. SQL语言分为三个部分:数据定义语言(Data DefinitionLanguage,简称为DDL).数据操作语言(DataManipulation Language,简称为DML)和数据控制语言(Data Control Language,简称为DCL).分别如下: DDL语句:CREATE.ALTER.DROP DML语句:

mongodb常用数据操作

1. shell操作 mongodb默认连接的是test数据库, 输入db,可以看到当前数据库为test, 接下来是常用的数据库操作 ????mongodb存储按照文档方式存储,各种操作均采用json格式串进行, ????????可以理解为. mongodb的集合就是关系数据库的表,集合里面可以装各种类型的数据,包括集合. ? ????show databases:显示数据库以及数据库所占空间. 简写为show dbs; ????use [dbname]: 选择数据库 ????show coll

第八章|MySQL数据库|数据操作

数据操作 可以通过SQL语句中的DML语言来实现数据的操作,包括 使用INSERT实现数据的插入 UPDATE实现数据的更新 使用DELETE实现数据的删除 使用SELECT查询数据以及. 数据的增删改查 插入数据INSERT 1. 插入完整数据(顺序插入) 语法一: INSERT INTO 表名(字段1,字段2,字段3-字段n) VALUES(值1,值2,值3-值n); 语法二: INSERT INTO 表名 VALUES (值1,值2,值3-值n); 2. 指定字段插入数据 语法: INSE

数据库 MySQL 之 数据操作

一.MySQL数据类型介绍 MySQL支持多种类型,大致可以分为四类:数值.字符串类型.日期/时间和其他类型. ①二进制类型 bit[(M)] 二进制位(101001),m表示二进制位的长度(1-64),默认m=1 ②整数类型:存储年龄,等级,id,各种号码等 tinyint[(m)] [unsigned] [zerofill] 小整数,数据类型用于保存一些范围的整数数值范围: 有符号:-128 - 127. 无符号:255 特别的: MySQL中无布尔值,使用tinyint(1)构造. int