博客
关于我
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/

你可能感兴趣的文章
python 倒计时 9,8,7,。。。。。。0
查看>>
Python 入门开发学习笔记之数据的增删改查
查看>>
Python 入门教程(2)搭建环境 2.4、VSCode配置Node.js运行环境
查看>>
Python 八大排序算法合集
查看>>
python 关于epoll的学习
查看>>
Python 内存管理
查看>>
Python 内嵌函数:它们有什么用处?
查看>>
Python 内置 sum 函数 vs. for 循环性能
查看>>
python 内置slice的用法
查看>>
Python 内置时间模块
查看>>
python 内部如何实现命名元组?
查看>>
Python 写Android App性能:入门到高级
查看>>
python 写入json数据到数据库
查看>>
Python 出现 TypeError: ‘encoding‘ is an invalid keyword argument for this function 解决方法
查看>>
python 出现 TypeError: ‘list‘ object is not callable 的解决方法
查看>>
python 函数1
查看>>
python 函数学习
查看>>
Python 函数随笔 map()函数,lambda自定义函数
查看>>
Python 分析天气,告诉你中秋应该去哪里
查看>>
python 列表中dict中key排序
查看>>