博客
关于我
Python 入门开发学习笔记之数据的增删改查
阅读量:795 次
发布时间:2023-03-06

本文共 2260 字,大约阅读时间需要 7 分钟。

MySQL 数据操作:DML 语句

介绍

MySQL 管理软件中,通过 SQL 语句的 DML(Data Manipulation Language,数据操作语言)实现数据操作,主要包括以下操作:

  • 插入数据(INSERT):将新数据添加到数据库中。
  • 更新数据(UPDATE):修改数据库中已有数据。
  • 删除数据(DELETE):从数据库中删除数据。
  • 查询数据(SELECT):从数据库中检索数据(本节内容未详细阐述)。

本节内容主要聚焦于 插入数据、更新数据和删除数据,并简要介绍权限管理相关操作。


二、插入数据(INSERT)

插入数据是数据库中最基本的操作之一,常用于添加新记录。以下是插入数据的几种常见方式:

1. 插入完整数据(顺序插入)

  • 语法一
    INSERT INTO 表名(字段1, 字段2, 字段3…字段n) VALUES(值1, 值2, 值3…值n);
  • 语法二
    INSERT INTO 表名 VALUES (值1, 值2, 值3…值n);

    两种语法均可实现数据插入,但 语法一 可以更明确地指定字段与对应的值。

2. 指定字段插入数据

如果已知字段名称,可以直接指定插入的数据字段:

INSERT INTO 表名(字段1, 字段2, 字段3…) VALUES (值1, 值2, 值3…);

例如:

INSERT INTO user_info(username, email) VALUES('egon', 'egon@example.com');

3. 插入多条记录

可以在同一语句中插入多条数据:

INSERT INTO 表名 VALUES  (值1, 值2, 值3…值n),  (值1, 值2, 值3…值n),  (值1, 值2, 值3…值n);

例如:

INSERT INTO user_info VALUES  ('张三', 'lisi@example.com'),  ('李四', 'whts@domain.com');

4. 插入查询结果

可以通过查询获取数据,然后直接插入到目标表中:

INSERT INTO 表名(字段1, 字段2, 字段3…)  SELECT (字段1, 字段2, 字段3…)  FROM 表2  WHERE …;

例如:

INSERT INTO back_up_data(date, content)  SELECT date, content  FROM daily_log  WHERE date >= '2023-10-01';

三、更新数据(UPDATE)

更新数据的主要作用是修改数据库中已有记录的字段值。语法如下:

UPDATE 表名 SET  字段1=值1,  字段2=值2,  …  WHERE 条件条件;

示例

更新 MySQL 用户表中 root 用户的密码:

UPDATE mysql.user SET password = PASSWORD('mysql123')  WHERE user = 'root' AND host = 'localhost';

四、删除数据(DELETE)

删除数据用于从数据库中移除不再需要的记录。语法如下:

DELETE FROM 表名 WHERE 条件条件;

示例

删除所有密码为空的用户:

DELETE FROM mysql.user WHERE password = '';

五、权限管理

在 MySQL 中,权限管理是确保数据库安全的重要环节。以下是权限管理的相关内容:

1. 授权表(GRANT)

MySQL 提供了多种授权表来控制用户对数据库、表或字段的访问权限:

  • user: 控制数据库和其下所有表的访问权限。
  • db: 控制某一数据库及其下所有表的访问权限。
  • tables_priv: 控制某一表及其下所有字段的访问权限。
  • columns_priv: 控制某一字段的访问权限。

2. 创建用户与授权示例

创建用户并授予相应权限:

create user 'egon'@'1.1.1.1' identified by '123';  create user 'egon'@'192.168.1.%' identified by '123';  create user 'egon'@'%' identified by '123';

3. 授权示例

  • 授权用户访问所有数据库:
grant select on *.* to 'egon1'@'localhost' identified by '123';
  • 授权用户访问特定数据库:
grant select on db1.* to 'egon2'@'%' identified by '123';
  • 授权用户访问特定表:
grant select on db1.t1 to 'egon3'@'%' identified by '123';
  • 授权用户访问特定字段:
grant select (id, name), update (age) on db1.t3 to 'egon4'@'localhost' identified by '123';

4. 撤销权限(REVOKE)

可以通过 REVOKE 语句撤销授权:

revoke select on db1.* from 'alex'@'%';

总结

本节内容涵盖了 MySQL 中的数据插入、更新和删除操作,以及权限管理的基础知识。掌握这些操作将有助于您对 MySQL 数据库的管理有更深入的理解。

转载地址:http://hdofk.baihongyu.com/

你可能感兴趣的文章
PyTorch 的 10 条顶级知识点
查看>>
PS辅助工具Assistor PS
查看>>
pt-archiver 归档历史数据及参数详解
查看>>
PyQt5学习笔记——信号与槽
查看>>
pyqt5教程11:绘制外观
查看>>
pyqt5教程12:拖放功能
查看>>
Pytest框架环境切换实战教程!赶快收藏
查看>>
python - 将字符串中的日期与今天的日期进行比较
查看>>
python binascii.Error: Incorrect padding
查看>>
python ctypes库中动态链接库加载方式
查看>>
python cv2读取rtsp实时码流按时生成连续视频文件
查看>>
Python Dataframe Groupby Mean和Std
查看>>
python datetime笔记
查看>>
python day01
查看>>
python day10
查看>>
Python Discord Bot - python clear_reaction() 清除所有反应而不是特定反应
查看>>
python ETL工具 pyetl
查看>>
Python eval 函数说明
查看>>
python file
查看>>
Python FileDialog获取文件夹路径不是文件
查看>>