数据库管理:Mysql第2篇——数据查询

上期初步总结了Mysql的基本操作。今天来具体讲解Mysql中的实际操作:数据删除及数据查询(重点)。

一、删除表中的数据(表结构不受影响,即不删除整个表)

语法:delete from 库名.表名

where 字段名=字段值;——Where条件用于指定删除哪条数据

举例1:删除student表中学生编号为2的数据(删除了整行数据

delete from school.student

where sno=2;

举例2:删除表中的所有数据

方法1:在删除一个表的数据时,不指定条件,会删除表中的所有数据

;(重要)

delete from school.student;

方法2:使用关键字truncate (重要)

语法:truncate 库名,表名

举例:truncate school.stu;

重点说明

1:truncate不能和from、where配合使用,如truncate school.student;

2:truncate比delete效率更高。

3:drop(删除表)和delete(删除表中数据)需要区别:

drop: 用来删除数据库、表、视图(view)、存储过程(stored procedure)、字段(column)

delete:删除表中的数据(data)

二、查询表中的数据

1、查询单表数据:

一般语法:

select from where

select 查询列表 from 库名.表名 where 字段1=字段值 逻辑运算符 字段2=字段值2

解释:select是查询的意思,from说明从哪个表中查询数据,where说明在什么条件的数据。

举例:查询员工表中工资小于等于6000的所有人员的入职时间、工资、姓名

SELECT hire_date,salary,first_name,last_name

FROM hrdb.`employees`

WHERE salary

2、多表查询(同时从多个表中查询数据)

一般语法:

select 查询列表

from 库名.表1库名.表2库名.表3

where 表1.字段1=表2.字段1 逻辑运算符 表2.字段2=表3.字段2

逻辑运算符 其他条件

要点:##如何找表和表之间的关系?

a、直接关系

employee.department_id=departments.department_id

b、间接关系

employee.department_id=departments.department_id

department.location_id=locations.location_id

c、只要是跨表格查询数据,都需要找出表和表之间的关系。

举例:查询在United States of America工作的员工在哪些部门(首字母为A),查询出这些部门的人员平均工资。查询结果按平均工资高低进行降序排列,结果前2条数据(因所需数据不在一个表格里,故需多表查询)。

SELECT d.department_name,AVG(e.salary)AS 平均工资,c.country_name

FROM hrdb.`employees` e,hrdb.`departments` d,

hrdb.`locations` l,hrdb.`countries` c

WHERE e.`department_id`=d.`department_id`

AND d.`location_id`=l.`location_id`

AND l.`country_id`=c.`country_id`

AND c.`country_name`="United States of America"

AND d.department_name like"A%"

GROUP BY d.department_name ——按部门名称进行分组

ORDER BY 平均工资 DESC ——按平均工资高低进行降序排列

LIMIT 0,2; ——取第一、二条数据

要点:

1、跨表查询,可以跨多个表格,只要找到有关联的字段即可。比如A表的字段1和B的字段1一致,那么就可以跨表调用了。

2、由于涉及的表格较多,可以以表格名的首字母来代替该表格。比如表格students,可以简称为s。

今天暂时就讲Mysql的2个知识点,如果有任何疑问或建议,随意欢迎联系我。感谢你的认真阅读~

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181118G1H6RA00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券