DML语言(mysql)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: DML语言(mysql)
数据操作语言:
插入: insert
修改: update
删除:  delete

1、插入语句

(1)方式一:经典的插入
语法:
insert into 表名(列名,...)
values(值,...);
注意事项:
1、插入的值的类型要与列的类型一致或兼容
2、不可以为null的列必须插入值,可以为null的列如何插入值
  (1)列名写,值为null
  (2)列名和值都不写
3、列的顺序可以颠倒
4、列数和值的个数必须一致
5、可以省略列名,默认所有列,而且列的顺序和表中列的顺序一致
(2)方式二:
语法:
insert into 表名
set 列名=值,列名=值,...
#两种方式大pk
1、方式一支持插入多行,方式二不支持
  插入多行还可以使用 
  INSERT INTO 表名
  SELECT ... UNION 
  SELECT ... UNION 
  SELECT ...;
2、方式一支持子查询,方式二不支持

2、修改语句

1、修改单表的记录 ★
语法:
  update 表名 
  set 列=新值,列=新值,...
  where 筛选条件;
  
2、修改多表的记录【补充】
语法:
  (1)sql92语法
    update 表1 别名,表2 别名
    set 列=值,...
    where 连接条件
    and 筛选条件;
  (2)sql99语法:
    update 表1 别名
    inner|left|right join 表2 别名
    on 连接条件
    set 列=值,...
    where 筛选条件;

3、删除语句

(一)方式一:delete
语法:
(1)单表的删除 ★
  delete from 表名 where 筛选条件;
(2)多表的删除【补充】 连接
  a)sql92语法:
    delete 表1的别名,表2的别名
    from 表1 别名,表2 别名
    where 连接条件
    and 筛选条件;
  b)sql99语法:
    delete 表1的别名,表2的别名(哪个表里的内容变了,就写哪个表的别名)
    from 表1 别名
    inner|left|right join 表2 别名
    on 连接条件
    where 筛选条件;
(二)方式二:truncate(清空数据)
语法:
  truncate table 表名;
#delete pk truncate(★)
  1、delete 可以加 where 条件,truncate 不能加
  2、truncate 删除,效率高一丢丢
  3、假如要删除的表中有自增长列
    (1)如果用delete删除,再插入数据,自增长列的值从断点开始;
    (2)如果用truncate删除后,再插入数据,自增长列的值从1开始;
  4、truncate删除没有返回值,delete删除有返回值
  5、truncate删除不能回滚,delete删除可以回滚;
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
5月前
|
SQL 关系型数据库 MySQL
在MySQL中,什么是结构化查询语言 (SQL)
【8月更文挑战第20天】在MySQL中,什么是结构化查询语言 (SQL)
77 1
|
2月前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
72 4
|
2月前
|
SQL 关系型数据库 MySQL
|
5月前
|
SQL 关系型数据库 MySQL
Go语言中使用 sqlx 来操作 MySQL
Go语言因其高效的性能和简洁的语法而受到开发者们的欢迎。在开发过程中,数据库操作不可或缺。虽然Go的标准库提供了`database/sql`包支持数据库操作,但使用起来稍显复杂。为此,`sqlx`应运而生,作为`database/sql`的扩展库,它简化了许多常见的数据库任务。本文介绍如何使用`sqlx`包操作MySQL数据库,包括安装所需的包、连接数据库、创建表、插入/查询/更新/删除数据等操作,并展示了如何利用命名参数来进一步简化代码。通过`sqlx`,开发者可以更加高效且简洁地完成数据库交互任务。
42 1
|
5月前
|
SQL 关系型数据库 MySQL
Go语言中如何连接 MySQL,基础必备!
在现代应用中,数据库操作至关重要。本教程将指导你使用Go语言进行MySQL的CRUD操作。首先,确保已创建`test_db`数据库及`users`表。接着安装MySQL驱动:`go get -u github.com/go-sql-driver/mysql`。通过示例代码,你将学会连接数据库、创建、查询、更新及删除用户记录。尽管此方法直接,但在实际项目中可能略显繁琐,后续会介绍更高效的库如sqlx或gorm。现在,让我们从基础开始,掌握Go语言中的数据库交互技巧。
66 3
|
5月前
|
SQL 关系型数据库 MySQL
|
5月前
|
SQL 安全 关系型数据库
Go 语言中的 MySQL 事务操作
在现代应用中,确保数据完整与一致至关重要。MySQL的事务机制提供了可靠保障。本文首先解释了事务的概念及其ACID特性,随后介绍了如何在Go语言中使用`database/sql`包进行MySQL事务操作。通过一个银行转账的例子,演示了如何通过Go开启事务、执行操作并在必要时回滚或提交,确保数据一致性。最后,还讨论了不同事务隔离级别的含义及如何在Go中设置这些级别。通过本文的学习,开发者能更好地掌握MySQL事务的应用。
58 0
|
5月前
|
SQL 关系型数据库 MySQL
Go语言中进行MySQL预处理和SQL注入防护
在现代Web应用开发中,安全性至关重要。SQL注入是一种常见的攻击方式,攻击者可通过构造特殊SQL查询来非法访问或修改数据库数据。本文介绍如何利用Go语言中的预处理SQL语句来防范此类攻击。预处理不仅能提升安全性,还能提高性能并简化代码。通过使用`?`作为占位符,Go自动处理参数转义,有效避免SQL注入。此外,文章还提供了连接MySQL数据库、执行预处理查询以及最佳实践的示例代码。务必遵循这些指导原则,确保应用程序的安全性。
127 0
|
6月前
|
SQL 关系型数据库 MySQL
MySQL DCL(数据控制语言)详解与实践
MySQL DCL(数据控制语言)详解与实践
|
6月前
|
SQL 关系型数据库 MySQL
MySQL DQL(数据查询语言)深度解析与实践
MySQL DQL(数据查询语言)深度解析与实践