【MySQL】DML

DML英文全称是Data Manipulation Language(数据操作语言),用来对数据库中表的数据进行增、删、改操作。

  1. 添加数据(Insert):
    语法:INSERT INTO table_name (column1, column2, …) VALUES (value1, value2, …);
    示例:假设有一个名为“users”的表,包含id、name和age列,我们可以使用以下语句向表中添加一条新记录:

    INSERT INTO users (id, name, age) VALUES (1, 'John Doe', 25);
    

    批量插入数据:

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

    注意:

    1. 插入字段的顺序需要与值的顺序是对应的。
    2. 字符串和日期类型数据应该包含在引号中。
  2. 查询数据(Select):
    语法:SELECT column1, column2, … FROM table_name WHERE condition;
    示例:假设我们想从名为“users”的表中获取所有年龄大于等于18岁的用户的名字和年龄:

    SELECT name, age FROM users WHERE age >= 18;
    

    查询所有数据:

    SELECT * FROM users
    
  3. 修改数据(Update):
    语法:UPDATE table_name SET column1 = value1, column2 = value2, … WHERE condition;
    示例:假设我们想将名为“John Doe”的用户的年龄修改为30岁:

    UPDATE users SET age = 30 WHERE name = 'John Doe';
    

    修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。

  4. 删除数据(Delete):
    语法:DELETE FROM table_name WHERE condition;
    示例:假设我们想删除名为“John Doe”的用户:

    DELETE FROM users WHERE name = 'John Doe';
    

请注意,在实际使用这些SQL语句时,应根据数据库中实际的表和列名以及所需操作的条件做出相应的调整。

>DELETE 语句不能删除某一个字段的值(可以使用UPDATE,将该字段值置为NULL即 可)。
### 关于 MySQLDML (Data Manipulation Language) #### 插入数据 (INSERT INTO) `INSERT INTO` 是用于向表中插入新记录的关键字。可以通过指定字段名来插入部分字段的数据,也可以不指定字段名而直接按顺序插入全部字段的数据。 ```sql -- 插入单条记录并指定字段名称 INSERT INTO table_name (column1, column2, column3) VALUES (value1, value2, value3); -- 不指定字段名称,则按照表格定义的顺序插入所有字段值 INSERT INTO table_name VALUES (value1, value2, value3); ``` 对于批量插入多条记录的情况,可以一次性完成: ```sql INSERT INTO table_name (column1, column2, column3) VALUES (value1_1, value1_2, value1_3), (value2_1, value2_2, value2_3); ``` #### 更新现有数据 (UPDATE) 当需要修改已存在的数据时,可使用 `UPDATE` 语句。为了防止更新整个表中的所有记录,通常会配合条件子句 `WHERE` 使用。 ```sql UPDATE table_name SET column1 = new_value1 WHERE condition; ``` 如果省略 `WHERE` 子句,那么所有的记录都将被更新为相同的值[^1]。 #### 删除数据 (DELETE FROM 和 TRUNCATE TABLE) 删除特定记录可通过 `DELETE FROM` 实现;若要清空整张表的内容而不影响其结构,则推荐使用更高效的 `TRUNCATE TABLE` 命令。 ```sql -- 只删除满足条件的部分记录 DELETE FROM table_name WHERE condition; -- 清除整个表内的所有数据(保留表结构不变),效率高于 DELETE FROM TRUNCATE TABLE table_name; ``` 需要注意的是,在执行上述任何一种删除操作前都应该确认好目标范围以免误删重要资料[^2]。 #### 查询数据 (SELECT) 最后也是最常用到的一个功能就是检索存储在数据库里的信息了。“SELECT”允许我们从一个或多个表里提取所需的信息,并支持各种过滤器、排序选项等功能增强查询灵活性。 基本语法如下所示: ```sql SELECT columns|* FROM tables [WHERE conditions]; ``` 这里还可以加入ORDER BY来进行结果集排列;LIMIT用来控制返回的最大行数等等附加特性[^3]. ```python import pymysql # 创建连接对象conn和游标cursor connection = pymysql.connect(host='localhost', user='root', password='', db='testdb') try: with connection.cursor() as cursor: sql_query = "SELECT * FROM users LIMIT 10" cursor.execute(sql_query) results = cursor.fetchall() finally: connection.close() for row in results: print(row) ``` 以上即是对MySQL DML的一些基础介绍及其应用实例说明。 问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秀秀_heo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值