MySQL学习(4)︱数据库的查询

在SQL中,使用select语句来查询数据。不同的关系数据库,select语法会有细微差别,在MySQL官网可以查询到支持的select语法。

  • SQL语法:
SELECT column_name1, column_name2//选择查询什么字段
FROM table_name//从哪张表查询
[WHERE wher_condition]//查询条件
[GROUP BY {col_name | expr | position}, ...[WITH ROLLUP]]//分组
[HAVING where_condition]//分组后做条件筛选
[ORDER BY {col_name | expr| position} [ASC | DESC], ...[WITH ROLLUP]]//排序
[LIMIT {[offset,] row_count | row_count OFFSET offset}]//选取的数据范围

简单查询

  1. 连接数据库并查询所有的数据库
SHOW DATABASES;

效果图:
在这里插入图片描述

  1. 进入student数据库(需提前创建好)并查询其拥有的数据表
USE student;
SHOW TABLES;

效果图:
在这里插入图片描述

  1. 查询person数据表的所有记录
SELECT * FROM person;

效果图:
在这里插入图片描述

  1. 按姓名、身份证号字段查询
SELECT name, id_number FROM person;

效果图:
在这里插入图片描述

  1. 按姓名、身份证号查询id=1的记录
SELECT name, id_number FROM person WHERE id=1;

效果图:
在这里插入图片描述

条件查询

在SQL中,insert、update、delete和select后面都可以带有where子句,用于增删改查指定条件的记录。

单条件查询

  • SQL语句中使用where子句语法:
SELECT 字段名 FROM 表名 WHERE 字段名 运算符 值;
  • 运算符表:

在这里插入图片描述

多条件查询

  • and、or运算符语法:
SELECT 字段名 FROM 表名 WHERE 条件1 AND 条件2 OR 条件3;
  • 运算符表:

在这里插入图片描述

应用举例

  1. 进入student数据库并创建employee数据表
USE student;
CREATE TABLE employee(
	id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
	name VARCHAR(30) COMMENT '姓名',
	sex VARCHAR(1) COMMENT '性别',
	salary INT COMMENT '薪资(元)'
);

效果图:
在这里插入图片描述

  1. 插入若干条记录
INSERT INTO employee(name, sex, salary) VALUES('张三', '男', 5500);
INSERT INTO employee(name, sex, salary) VALUES('李洁', '女', 4500);
INSERT INTO employee(name, sex, salary) VALUES('李小梅', '女', 4200);
INSERT INTO employee(name, sex, salary) VALUES('欧阳辉', '男', 7500);
INSERT INTO employee(name, sex, salary) VALUES('李芳', '女', 8500);
INSERT INTO employee(name, sex, salary) VALUES('张江', '男', 6800);
INSERT INTO employee(name, sex, salary) VALUES('李四', '男', 12000);
INSERT INTO employee(name, sex, salary) VALUES('王五', '男', 3500);
INSERT INTO employee(name, sex, salary) VALUES('马小龙', '男', 6000);
INSERT INTO employee(name, sex, salary) VALUES('龙五', '男', 8000);
INSERT INTO employee(name, sex, salary) VALUES('冯小芳', '女', 10000);
INSERT INTO employee(name, sex, salary) VALUES('马小花', '女', 4000);

效果图:
在这里插入图片描述

  1. 查看employee数据表
SELECT * FROM employee;

效果图:
在这里插入图片描述

  1. 查询性别为男的记录
SELECT * FROM employee;

效果图:
在这里插入图片描述

  1. 查询薪资大于10000和大于等于10000的记录
SELECT * FROM employee WHERE salary > 10000;
SELECT * FROM employee WHERE salary >= 10000;

效果图:
在这里插入图片描述

  1. 查询薪资介于10000和12000之间的记录
SELECT * FROM employee WHERE salary BETWEEN 10000 AND 12000;

效果图:
在这里插入图片描述

  1. 查询性别为男且薪资大于10000的记录
SELECT * FROM employee WHERE sex='男' AND salary > 10000;

效果图:
在这里插入图片描述

  1. 查询性别为男或薪资大于10000的记录
SELECT * FROM employee WHERE sex='男' ORsalary > 10000;

效果图:
在这里插入图片描述

  1. 查询性别为男且薪资小于等于4000或薪资大于等于10000的记录(错误方法
SELECT * FROM employee WHERE sex='男' AND salary <= 4000 OR salary >= 10000;

效果图:
在这里插入图片描述

  1. 查询性别为男且薪资小于等于4000或薪资大于等于10000的记录(正确方法
SELECT * FROM employee WHERE sex='男' AND (salary <= 4000 OR salary >= 10000);

效果图:
在这里插入图片描述
由此可见,当存在多项条件时,为避免混淆应加入小括号来区分优先级。

注:本文是博主MySQL学习的总结,不支持任何商用,转载请注明出处!如果你也对MySQL学习有一定的兴趣和理解,欢迎随时找博主交流~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值