### SQL语句基础教程知识点详解 #### 一、SQL简介 **SQL**(Structured Query Language,结构化查询语言)是专为关系型数据库设计的一种标准化编程语言。它支持四种主要类型的命令: 1. **数据定义语言(DDL)**:用于创建、修改或删除数据库中的结构,如创建或删除表。 2. **数据操作语言(DML)**:用于对数据库中的数据进行插入、更新或删除等操作。 3. **数据控制语言(DCL)**:用于管理和控制用户访问数据库的权限。 4. **事务控制语言(TCL)**:用于管理数据库中的事务。 #### 二、数据库基础 - **创建数据库**: - `CREATE DATABASE database_name;`:创建一个新的数据库。 - **使用数据库**: - `USE database_name;`:选择一个现有的数据库进行操作。 - **删除数据库**: - `DROP DATABASE database_name;`:删除一个已存在的数据库。 #### 三、基本查询语句 - **创建表**: - 示例代码: ```sql CREATE TABLE employees ( id INT PRIMARY KEY, name VARCHAR(100), position VARCHAR(100), salary DECIMAL(10, 2), hire_date DATE ); ``` - **插入数据**: - 示例代码: ```sql INSERT INTO employees (id, name, position, salary, hire_date) VALUES (1, 'Alice', 'Manager', 80000, '2020-01-15'), (2, 'Bob', 'Developer', 60000, '2019-03-23'); ``` - **查询数据**: - 示例代码: ```sql SELECT * FROM employees; ``` #### 四、数据操作语句 - **更新数据**: - 示例代码: ```sql UPDATE employees SET salary = 85000 WHERE id = 1; ``` - **删除数据**: - 示例代码: ```sql DELETE FROM employees WHERE id = 2; ``` #### 五、过滤和排序 - **过滤数据**: - 示例代码: ```sql SELECT * FROM employees WHERE salary > 60000; ``` - **排序数据**: - 示例代码: ```sql SELECT * FROM employees ORDER BY salary DESC; ``` - **组合过滤和排序**: - 示例代码: ```sql SELECT * FROM employees WHERE position = 'Developer' ORDER BY hire_date ASC; ``` #### 六、聚合函数 - **使用聚合函数**: - 示例代码: ```sql SELECT COUNT(*) AS total_employees FROM employees; SELECT AVG(salary) AS average_salary FROM employees; SELECT SUM(salary) AS total_salary FROM employees; SELECT MAX(salary) AS highest_salary FROM employees; SELECT MIN(salary) AS lowest_salary FROM employees; ``` - **分组数据**: - 示例代码: ```sql SELECT position, COUNT(*) AS count FROM employees GROUP BY position; SELECT position, AVG(salary) AS average_salary FROM employees GROUP BY position HAVING AVG(salary) > 50000; ``` #### 七、多表查询 - **创建第二张表**: - 示例代码: ```sql CREATE TABLE departments ( id INT PRIMARY KEY, name VARCHAR(100) ); ``` - **外键关系**: - 示例代码: ```sql ALTER TABLE employees ADD department_id INT, ADD FOREIGN KEY (department_id) REFERENCES departments(id); ``` - **连接查询**: - 示例代码: ```sql SELECT employees.name, employees.position, departments.name AS department FROM employees JOIN departments ON employees.department_id = departments.id; ``` - **左连接**与**右连接**: - 示例代码: ```sql SELECT employees.name, employees.position, departments.name AS department FROM employees LEFT JOIN departments ON employees.department_id = departments.id; ``` #### 八、子查询 - **子查询示例**: - 示例代码: ```sql SELECT * FROM employees WHERE salary > (SELECT AVG(salary) FROM employees); ``` - **相关子查询**: - 示例代码: ```sql SELECT e1.name FROM employees e1 WHERE e1.salary > (SELECT AVG(e2.salary) FROM employees e2 WHERE e2.position = e1.position); ``` #### 九、数据库管理操作 - **创建索引**: - 示例代码: ```sql CREATE INDEX idx_name ON employees (name); ``` - **删除索引**: - 示例代码: ```sql DROP INDEX idx_name ON employees; ``` - **创建视图**: - 示例代码: ```sql CREATE VIEW employee_view AS SELECT name, position, department FROM employees JOIN departments ON employees.department_id = departments.id; ``` 通过以上知识点的学习,你可以熟练掌握SQL的基础操作,包括数据库的基本管理、数据的增删改查、数据过滤与排序、聚合函数的使用、多表之间的关联查询以及如何进行更高级的操作如子查询、索引与视图的创建等。这些技能对于日常的数据管理工作非常重要,也是进一步学习高级SQL技术的基础。
- 粉丝: 1578
- 资源: 549
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助