mysql的基本知识点

写相关

在SQL中,用于写入数据的基本语句主要有两个:INSERT INTO 和 UPDATE。这两个语句分别用于向表中插入新记录和更新现有记录。

INSERT INTO 语句

INSERT INTO 语句用于向数据库表中插入新的行/记录。其基本语法如下:

INSERT INTO 表名 (1,2,3, ...)  
VALUES (1,2,3, ...);

例如,假设我们有一个名为 students 的表,包含 id, name, 和 age 三列。要向这个表中插入一条新记录,可以使用以下语句:

INSERT INTO students (id, name, age)  
VALUES (1, '张三', 20);

这条语句将在 students 表中插入一条新记录,其中 id 为1,name 为’张三’,age 为20。

UPDATE 语句

UPDATE 语句用于修改数据库表中已有的记录。其基本语法如下:

UPDATE 表名  
SET1 =1,2 =2, ...  
WHERE 条件;

其中,WHERE 子句用于指定要更新的记录的条件。如果不使用 WHERE 子句,将会更新表中的所有记录。
继续上面的例子,如果我们想要将 students 表中 id 为1的学生的年龄更新为21,可以使用以下语句:

UPDATE students  
SET age = 21  
WHERE id = 1;

这条语句将只更新 id 为1的学生的年龄,将其设置为21。

查相关

SQL查询中的一些过滤方法

在SQL中,过滤数据是一个常见的操作,它允许你根据特定的条件选择或排除记录。以下是SQL中常用的过滤方法:

WHERE 子句:

这是SQL中最基本的过滤方法。它允许你根据一个或多个条件来过滤记录。
示例:选择所有年龄大于25的员工。

SELECT * FROM employees WHERE age > 25;

IN 操作符:

用于过滤某个字段的值在指定列表中的记录。
示例:选择部门ID为1、3或5的员工。

SELECT * FROM employees WHERE department_id IN (1, 3, 5);

BETWEEN 操作符:

用于过滤在某个范围内的记录。
示例:选择薪水在5000到10000之间的员工。

SELECT * FROM employees WHERE salary BETWEEN 5000 AND 10000;

LIKE 操作符:

用于基于模式匹配来过滤记录,通常与通配符(如%和_)一起使用。
示例:选择名字以“Li”开头的员工。

SELECT * FROM employees WHERE name LIKE 'Li%';

NOT 操作符:

用于排除满足特定条件的记录。
示例:选择不是经理的员工。

SELECT * FROM employees WHERE NOT position = 'Manager';

多个条件的组合:

使用AND和OR来组合多个条件。
示例:选择部门为“销售”且薪水超过8000的员工。

SELECT * FROM employees WHERE department = 'Sales' AND salary > 8000;

子查询:

你可以在WHERE子句中使用子查询来过滤记录。子查询可以返回单个值或多个值。
示例:选择薪水高于平均薪水的员工。

SELECT * FROM employees WHERE salary > (SELECT AVG(salary) FROM employees);

CASE 语句:

虽然这不是一个直接的过滤方法,但CASE语句可以在查询中根据条件返回不同的值,这可以用于基于条件的复杂过滤或计算。
示例:根据员工的薪水水平为他们分类。

SELECT   
       name,   
       salary,  
       CASE   
           WHEN salary < 5000 THEN 'Low'  
           WHEN salary BETWEEN 5000 AND 10000 THEN 'Medium'  
           ELSE 'High'  
       END AS salary_level  
FROM employees;

DISTINCT:

虽然这不是一个过滤方法,但DISTINCT关键字可以用于返回唯一不同的值,这有助于消除重复的记录。
示例:选择所有不同的部门ID。

sql`SELECT DISTINCT department_id FROM employees;`

EXISTS:

EXISTS用于检查子查询是否返回任何记录。如果子查询返回至少一个记录,则EXISTS条件为真。
示例:选择有下属的员工。

SELECT * FROM employees e1  
WHERE EXISTS (  
    SELECT 1 FROM employees e2 WHERE e2.manager_id = e1.employee_id  
);

删相关

在SQL中,用于删除数据的基本语句是DELETE。DELETE语句用于从数据库表中删除一行或多行记录。以下是DELETE语句的基本语法:

DELETE FROM 表名  
WHERE 条件;
  • 表名:要从中删除记录的表的名称。
  • WHERE 条件:指定要删除哪些记录的条件。如果省略WHERE子句,将删除表中的所有记录。
  • 重要提示:使用DELETE语句时必须非常小心,特别是在没有指定WHERE子句的情况下,因为这将删除表中的所有记录。在执行删除操作之前,务必备份重要数据或确保你的操作是预期的。

删除指定条件的记录:
假设有一个名为students的表,包含学生的信息,我们想要删除年龄大于25岁的学生记录:

DELETE FROM students  
WHERE age > 25;
  • 这条语句将删除students表中所有年龄大于25岁的学生的记录。

删除所有记录(谨慎使用):
如果你想删除表中的所有记录,你可以使用以下语句:

DELETE FROM students;
  • 这条语句将删除students表中的所有记录,但表结构将保持不变。如果你想完全删除表及其结构,你应该使用DROP TABLE语句。

注意:在某些数据库管理系统中,如MySQL,如果你想删除表中的所有记录,但又想保留表结构,并希望重置任何自增字段的计数器,你可能会考虑使用TRUNCATE TABLE语句,而不是DELETE语句。例如:

TRUNCATE TABLE students;
  • 这条语句将删除students表中的所有记录,并且通常比使用DELETE语句更快,因为它不记录任何单独的删除操作。但是,不是所有的数据库系统都支持TRUNCATE TABLE语句,因此你需要根据你所使用的数据库系统来确定是否可用。

相关推荐

  1. mysql基本知识

    2024-03-17 10:50:05       41 阅读
  2. mysql基本知识——JOIN联表查询

    2024-03-17 10:50:05       43 阅读
  3. redis基本知识

    2024-03-17 10:50:05       37 阅读
  4. mongodb基本知识

    2024-03-17 10:50:05       35 阅读
  5. docker基本知识

    2024-03-17 10:50:05       39 阅读
  6. Mysql--基础知识--86--慢查询

    2024-03-17 10:50:05       41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-17 10:50:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-17 10:50:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-17 10:50:05       82 阅读
  4. Python语言-面向对象

    2024-03-17 10:50:05       91 阅读

热门阅读

  1. 软考笔记--SOA主要协议与规范

    2024-03-17 10:50:05       32 阅读
  2. OutputStreamWriter类

    2024-03-17 10:50:05       46 阅读
  3. Node.js URL模块教程

    2024-03-17 10:50:05       39 阅读
  4. 【Conda】详细讲解

    2024-03-17 10:50:05       42 阅读
  5. 【无标题】

    2024-03-17 10:50:05       37 阅读
  6. 论OpenCV在计算机视觉领域中的广泛应用及其影响

    2024-03-17 10:50:05       40 阅读
  7. 查看docker所有映射到宿主机的端口

    2024-03-17 10:50:05       39 阅读
  8. 重拾C++之菜鸟刷算法第13篇---回溯算法

    2024-03-17 10:50:05       39 阅读
  9. 代码分支管理

    2024-03-17 10:50:05       39 阅读
  10. 24年三月周末总结

    2024-03-17 10:50:05       44 阅读
  11. MongoDB yum安装教程

    2024-03-17 10:50:05       44 阅读
  12. mongodb的基本知识点

    2024-03-17 10:50:05       35 阅读
  13. QML与C++通信

    2024-03-17 10:50:05       37 阅读