MySQL(21)如何查询表中的所有数据?
查询表中的所有数据是数据库操作中最基本的任务之一。我们通常使用 SELECT
语句来实现这一操作。以下是详细的说明和代码示例。
基本语法
SELECT * FROM table_name;
这里的 *
表示查询所有列,table_name
是要查询的表名。
示例表结构
假设我们有一个公司数据库,其中有两个表:employees
和 departments
。
-- 创建数据库
CREATE DATABASE company;-- 选择数据库
USE company;-- 创建表 departments
CREATE TABLE departments (dept_id INT AUTO_INCREMENT PRIMARY KEY,dept_name VARCHAR(100) NOT NULL
);-- 创建表 employees
CREATE TABLE employees (emp_id INT AUTO_INCREMENT PRIMARY KEY,emp_name VARCHAR(100) NOT NULL,emp_position VARCHAR(100),emp_salary DECIMAL(10, 2),hire_date DATE,dept_id INT,FOREIGN KEY (dept_id) REFERENCES departments(dept_id)
);-- 插入示例数据到 departments 表
INSERT INTO departments (dept_name)
VALUES
('HR'),
('Engineering');-- 插入示例数据到 employees 表
INSERT INTO employees (emp_name, emp_position, emp_salary, hire_date, dept_id)
VALUES
('John Doe', 'Manager', 75000.00, '2023-10-01', 1),
('Jane Smith', 'Developer', 60000.00, '2023-09-01', 2),
('Alice Johnson', 'Analyst', 50000.00, '2023-08-01', 1);
查询所有数据
查询 employees
表中的所有数据
SELECT * FROM employees;
结果:
emp_id | emp_name | emp_position | emp_salary | hire_date | dept_id
-------|---------------|--------------|------------|------------|--------
1 | John Doe | Manager | 75000.00 | 2023-10-01 | 1
2 | Jane Smith | Developer | 60000.00 | 2023-09-01 | 2
3 | Alice Johnson | Analyst | 50000.00 | 2023-08-01 | 1
查询 departments
表中的所有数据
SELECT * FROM departments;
结果:
dept_id | dept_name
--------|-----------
1 | HR
2 | Engineering
查询特定列的数据
有时,我们只需要特定的列而不是所有列。我们可以在 SELECT
语句中指定所需的列名。
查询 employees
表中的特定列
例如,只查询 emp_name
和 emp_position
列:
SELECT emp_name, emp_position FROM employees;
结果:
emp_name | emp_position
--------------|--------------
John Doe | Manager
Jane Smith | Developer
Alice Johnson | Analyst
使用条件查询
我们还可以使用 WHERE
子句来查询符合特定条件的数据。
查询 employees
表中来自 HR
部门的所有员工
SELECT * FROM employees WHERE dept_id = 1;
结果:
emp_id | emp_name | emp_position | emp_salary | hire_date | dept_id
-------|---------------|--------------|------------|------------|--------
1 | John Doe | Manager | 75000.00 | 2023-10-01 | 1
3 | Alice Johnson | Analyst | 50000.00 | 2023-08-01 | 1
排序数据
使用 ORDER BY
子句可以对查询结果进行排序。
按 emp_salary
降序排序查询结果
SELECT * FROM employees ORDER BY emp_salary DESC;
结果:
emp_id | emp_name | emp_position | emp_salary | hire_date | dept_id
-------|---------------|--------------|------------|------------|--------
1 | John Doe | Manager | 75000.00 | 2023-10-01 | 1
2 | Jane Smith | Developer | 60000.00 | 2023-09-01 | 2
3 | Alice Johnson | Analyst | 50000.00 | 2023-08-01 | 1
使用聚合函数
我们还可以使用聚合函数(如 COUNT, AVG, SUM 等)来对数据进行统计。
查询 employees
表中的员工总数
SELECT COUNT(*) FROM employees;
结果:
COUNT(*)
---------
3
小结
通过上述代码和示例,展示了如何在 SQL 中使用 SELECT
语句查询表中的所有数据。我们还可以通过条件查询、选择特定列、排序和使用聚合函数来进行更复杂的数据查询操作。这些基本的 SQL 操作是数据管理和分析中最常用的工具。