本资料汇集了MySQL数据库中常用的25条SQL语句,涵盖数据查询、插入、更新及删除等基础操作,适合初学者快速掌握。
MySQL是全球最受欢迎的关系型数据库管理系统之一,用于存储和管理数据。SQL(Structured Query Language)是一种与数据库交互的语言,在后端开发过程中掌握熟练的SQL语句是非常必要的技能。
以下是一些常用的MySQL SQL语句,供学习、复习或查阅:
1. **创建数据库**
使用`CREATE DATABASE`命令来建立新的数据库,例如:`CREATE DATABASE my_database;`
2. **选择数据库**
通过执行`USE`指令选取操作的目标数据库,如:`USE my_database;`
3. **创建表**
运用`CREATE TABLE`语句来构建新表,示例:
```sql
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
password VARCHAR(255),
email VARCHAR(100)
);
```
4. **插入数据**
使用`INSERT INTO`语句向数据库中的表中添加记录,例如:
```sql
INSERT INTO users (username, password, email) VALUES (JohnDoe, password123, john@example.com);
```
5. **查询数据**
执行`SELECT`命令来检索信息,基本格式为:`SELECT column1, column2 FROM table_name;`
示例:`SELECT * FROM users;` 获取所有记录
6. **条件查询**
通过使用`WHERE`子句可以进行特定的筛选操作,如:`SELECT * FROM users WHERE username = JohnDoe;`
7. **排序查询**
利用 `ORDER BY` 子句对结果集中的行按照指定列升序或降序排列,例如:
```sql
SELECT * FROM users ORDER BY id DESC;
```
将结果显示为ID的倒序。
8. **分组查询**
使用`GROUP BY`子句根据特定字段值进行数据组合,并经常与聚合函数(如`COUNT`, `SUM`, `AVG`, `MAX`, `MIN`)结合应用,例如:
```sql
SELECT username, COUNT(*) FROM users GROUP BY username;
```
9. **连接查询**
通过执行JOIN语句来整合多个表的数据,比如:
```sql
SELECT u.username, o.order_id FROM users u JOIN orders o ON u.id = o.user_id;
```
此例展示了用户和订单之间的关联。
10. **子查询**
在一个SQL命令中嵌套另一个查询,例如:
```sql
SELECT * FROM users WHERE id IN (SELECT user_id FROM orders);
```
11. **更新数据**
使用`UPDATE`语句来修改记录中的内容,如:
```sql
UPDATE users SET password = newPassword123 WHERE username = JohnDoe;
```
12. **删除数据**
执行`DELETE FROM`命令以移除特定的数据库条目,并通过 `WHERE` 子句指定要删除的具体条件。例如:
```sql
DELETE FROM users WHERE id = 1;
```
这将从表中移除id为1的用户记录。
13. **索引**
创建索引来加速查询,如:
```sql
CREATE INDEX idx_username ON users (username);
```
14. **视图**
通过定义虚拟表来简化复杂的SQL语句或重复使用的数据集,例如:
```sql
CREATE VIEW user_summary AS SELECT username, COUNT(*) as total_orders FROM users u JOIN orders o ON u.id = o.user_id GROUP BY u.username;
```
此例创建了一个汇总用户订单的视图。
15. **存储过程**
定义一组SQL语句以供多次调用,例如:
```sql
DELIMITER //
CREATE PROCEDURE get_user_orders(IN user_id INT)
BEGIN
SELECT * FROM orders WHERE user_id = user_id;
END //
DELIMITER ;
CALL get_user_orders(1);
```
此例创建了一个用于获取特定用户订单的存储过程。
16. **触发器**
在数据修改后自动执行的一组预定义SQL语句,通常应用于审计或业务逻辑处理场景中。
17. **事务处理**
确保操作的一致性。使用`BEGIN`, `COMMIT`, 和`ROLLBACK`来控制数据库中的事务流程。
```sql
START TRANSACTION;
-- 执行一系列的 SQL 语句
COMMIT; -- 提交更改至数据库
```
18. **权限管理**
利用`GRANT`和`REVOKE`指令为特定用户设置或撤销访问权限,例如:
```sql
GRANT SELECT, INSERT ON my_database.* TO user1@localhost;
REVOKE INSERT ON my_database.* FROM user1@localhost;
```
此例展示了如何授予及收回用户的数据库操作权限。
19. **分区表**
对大型数据表进行物理分割以提高查询效率的技术。
20. **数据类型**
包括数值(如INT, FLOAT, DECIMAL)、字符型(VARCHAR, CHAR等)和日期