当前位置: 首页 > news >正文

Mysql详细知识点(建议收藏)

以下是关于**增删改查(CRUD)**操作的详细说明和基本案例。CRUD代表创建(Create)、读取(Read)、更新(Update)和删除(Delete),是数据库操作中最基本的四种操作。以下示例将使用SQL语句来演示如何在数据库中执行这些操作。

1. 创建(Create)

操作: 向数据库表中插入新记录。

示例: 假设有一个名为 students 的表,包含 id(主键,自增)、name(姓名)和 age(年龄)字段。

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

解释:

  • INSERT INTO students (name, age): 指定要插入数据的表和列。
  • VALUES ('张三', 20): 插入的具体数据。

2. 读取(Read)

操作: 从数据库表中查询数据。

示例: 查询 students 表中所有学生的信息。

SELECT * FROM students;

示例: 查询年龄大于18岁的学生。

SELECT * FROM students
WHERE age > 18;

解释:

  • SELECT *: 选择所有列。
  • FROM students: 指定查询的表。
  • WHERE age > 18: 添加条件,筛选年龄大于18岁的记录。

3. 更新(Update)

操作: 修改数据库表中现有的记录。

示例: 将 id 为1的学生年龄更新为21岁。

UPDATE students
SET age = 21
WHERE id = 1;

解释:

  • UPDATE students: 指定要更新的表。
  • SET age = 21: 设置新的年龄值。
  • WHERE id = 1: 指定要更新的记录条件。

注意: 始终使用 WHERE 子句来避免意外更新所有记录。

4. 删除(Delete)

操作: 从数据库表中删除记录。

示例: 删除 id 为1的学生记录。

DELETE FROM students
WHERE id = 1;

解释:

  • DELETE FROM students: 指定要删除数据的表。
  • WHERE id = 1: 指定要删除的记录条件。

注意: 同样,务必使用 WHERE 子句来避免删除所有记录。

5. 综合示例

假设我们有一个名为 employees 的表,包含以下字段:id(主键,自增)、name(姓名)、position(职位)和 salary(薪水)。

5.1 插入新员工
INSERT INTO employees (name, position, salary)
VALUES ('李四', '工程师', 8000);
5.2 查询所有员工
SELECT * FROM employees;
5.3 更新员工职位
UPDATE employees
SET position = '高级工程师'
WHERE id = 2;
5.4 删除员工
DELETE FROM employees
WHERE id = 3;

6. 使用编程语言执行CRUD操作

以下是使用Python和MySQL连接器执行CRUD操作的示例。

import mysql.connector# 连接到数据库
conn = mysql.connector.connect(host='localhost',user='your_username',password='your_password',database='your_database'
)cursor = conn.cursor()# 1. 创建
sql_insert = "INSERT INTO students (name, age) VALUES (%s, %s)"
val_insert = ('王五', 22)
cursor.execute(sql_insert, val_insert)
conn.commit()# 2. 读取
sql_select = "SELECT * FROM students"
cursor.execute(sql_select)
rows = cursor.fetchall()
for row in rows:print(row)# 3. 更新
sql_update = "UPDATE students SET age = %s WHERE id = %s"
val_update = (23, 1)
cursor.execute(sql_update, val_update)
conn.commit()# 4. 删除
sql_delete = "DELETE FROM students WHERE id = %s"
val_delete = (2,)
cursor.execute(sql_delete, val_delete)
conn.commit()# 关闭连接
cursor.close()
conn.close()

http://www.mrgr.cn/news/72317.html

相关文章:

  • Docker 篇-Docker 详细安装、了解和使用 Docker 核心功能(数据卷、自定义镜像 Dockerfile、网络)
  • WordPress 2024主题实例镜像
  • 如何保证RabbitMQ的可靠性传输
  • 【珠海科技学院主办,暨南大学协办 | IEEE出版 | EI检索稳定 】2024年健康大数据与智能医疗国际会议(ICHIH 2024)
  • pgsql和mysql的自增主键差异
  • Docker安装部署RabbitMQ(详细教程)
  • JUC-locks锁
  • Java基础-组件及事件处理(上)
  • AIDL HAL简介
  • Ajax 与 Vue 框架应用点——随笔谈
  • UI自动化测试|XPath元素定位实践
  • 开闭原则(OCP)在SpringBoot系统中的应用
  • 【求阶乘——二分+阶乘的质因数分解】
  • 大数据分析案例-基于XGBoost算法构建电子商务交易欺诈预测模型
  • Servlet的使用
  • 创建逻辑卷报错:Device /dev/sdb excluded by a filter
  • 高考、考研、考公,究竟哪个更容易?网友众说纷纭,真相在这里
  • 通过生成式人工智能绕过面部识别认证
  • 深入理解接口测试:实用指南与最佳实践5.0(二)
  • Java基础-组件及事件处理(中)
  • flutter下拉刷新上拉加载的简单实现方式三
  • 【SSL-RL】自监督强化学习:自预测表征 (SPR)算法
  • 猎板 PCB 之罗杰斯板材:高性能驱动多领域发展
  • Spring Boot 接口防重复提交解决方案
  • 办公必备:非常好用的截图软件-snipaste
  • Spring Boot 集成 RabbitMQ:消息生产与消费详解