mysql 数据插入和更新及删除详情

 更新时间:2021年10月25日 11:36:47   作者:敖毛毛  
这篇文章主要介绍了mysql 数据插入和更新及删除,文章围绕mysql 数据插入和更新及删除的相关资料展开内容,需要的朋友可以参考以下文章的具体内容

1、插入

INSERT INTO customers(
customers.cust_address,
customers.cust_city,
customers.cust_state,
customers.cust_zip,
customers.cust_country,
customers.cust_contact,
customers.cust_email
)
VALUES('zhangsan','good','111','ca','dasdsa','usa',NULL)

这样就插入成功了。

在插入的时候为了安全起见,那么每次插入的时候应该写好列名。不管使用哪种INSERT语法,都必须给出VALUES的正确数目。如果不提供列名,则必须给每个表列提供一个值。如果提供列名,则必须对每个列出的列给出一个值。如果不这样,将产生一条错误消息,相应的行插入不成功。

省略列 如果表的定义允许,则可以在INSERT操作中省略某些列。

省略的列必须满足以下某个条件

  • 该列定义为允许NULL值(无值或空值)。
  • 在表定义中给出默认值。这表示如果不给出值,将使用默认值

提高整体性能 数据库经常被多个客户访问,对处理什么请求以及用什么次序处理进行管理是MySQL的任务。

INSERT操作可能很耗时(特别是有很多索引需要更新时),而且它可能降低等待处理的SELECT语句的性能。

如果数据检索是最重要的(通常是这样),则你可以通过在INSERT和INTO之间添加关键字LOW_PRIORITY,指示MySQL降低INSERT语句的优先级。

INSERT INTO customers(
customers.cust_address,
customers.cust_city,
customers.cust_state,
customers.cust_zip,
customers.cust_country,
customers.cust_contact,
customers.cust_email
)
VALUES('zhangsan','good','111','ca','dasdsa','usa',NULL)
,('zhangsan','good','111','ca','dasdsa','usa',NULL)
,('zhangsan','good','111','ca','dasdsa','usa',NULL)
,('zhangsan','good','111','ca','dasdsa','usa',NULL)

如果想插入多行,只需要加入多个values即可。

INSERT一般用来给表插入一个指定列值的行。但是,INSERT还存在另一种形式,可以利用它将一条SELECT语句的结果插入表中。

这就是所谓的INSERT SELECT,顾名思义,它是由一条INSERT语句和一条SELECT语句组成的。

假如你想从另一表中合并客户列表到你的customers表。不需要每次读取一行,然后再将它用INSERT插入,可以如下进行:

insert into customers(xx,xx,xx)
select xx,xx,xx
from newcustomers

差不多就是这样的了。

INSERT SELECT中的列名 为简单起见,这个例子在INSERTSELECT语句中使用了相同的列名。

但是,不一定要求列名匹配。事实上,MySQL甚至不关心SELECT返回的列名。

它使用的是列的位置,因此SELECT中的第一列(不管其列名)将用来填充

表列中指定的第一个列,第二列将用来填充表列中指定的第二个列,如此等等。

这对于从使用不同列名的表中导入数据是非常有用的。

2、更新

为了更新(修改)表中的数据,可使用UPDATE语句。

可采用两种方式使用UPDATE

  • 更新表中特定行;
  • 更新表中所有行。
UPDATE customers
SET cust_email = 'email@qq.com'
where cust_id = 10005;


上面这就是更新语句了。

如果更新多个列的话:

UPDATE customers
SET cust_email = 'email@qq.com',
cust_name = 'game'
where cust_id = 10005;

IGNORE关键字 如果用UPDATE语句更新多行,并且在更新这些行中的一行或多行时出一个现错误,则整个UPDATE操作被取消(错误发生前更新的所有行被恢复到它们原来的值)。

为即使是发生错误,也继续进行更新,可使用IGNORE关键字,如下所示: UPDATE IGNORE customers…

这么说明一下,如果确定只更新一行的话,那么建议是更新是用update 1这种模式,指明只更新一行。

为了从一个表中删除(去掉)数据,使用DELETE语句。可以两种方式使用DELETE

3、删除

  • 从表中删除特定的行;
  • 从表中删除所有行。

删除表的内容而不是表 DELETE语句从表中删除行,甚至是
删除表中所有行。但是,DELETE不删除表本身。

更快的删除 如果想从表中删除所有行,不要使用DELETE

可使用TRUNCATE TABLE语句,它完成相同的工作,但速度更快(TRUNCATE实际是删除原来的表并重新创建一个表,而不是逐行删除表中的数据)

到此这篇关于mysql 数据插入和更新及删除详情的文章就介绍到这了,更多相关mysql 数据插入和更新及删除内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • master and slave have equal MySQL server UUIDs 解决方法

    master and slave have equal MySQL server UUIDs 解决方法

    使用rsync配置了大量mysql,省去了大量编译和配置的时间,随逐个修改master和slave服务器的my.cnf,后,发现数据不能同步
    2013-07-07
  • Mysql 中的case-when详解

    Mysql 中的case-when详解

    case-when  是一种 sql 语句中的语法结构,主要用于数据的行列转换,本文给大家介绍Mysql 中的case-when的相关知识,感兴趣的朋友跟随小编一起看看吧
    2024-06-06
  • MySQL 四种事务隔离级别详解及对比

    MySQL 四种事务隔离级别详解及对比

    这篇文章主要介绍了MySQL 四种事务隔离级别详解及对比的相关资料,这里对Mysql 的基础知识做了详细介绍及对其事务隔离进行了比较,需要的朋友可以参考下
    2016-12-12
  • MySQL客户端软件(DBeaver)连接报错解决方案

    MySQL客户端软件(DBeaver)连接报错解决方案

    DBeaver是一个开源的通用数据库管理工具,可以连接多种不同类型的数据库,本文主要介绍了MySQL客户端软件(DBeaver)连接报错解决方案,具有一定的参考价值,感兴趣的可以了解一下
    2024-04-04
  • mysql中取出json字段的小技巧

    mysql中取出json字段的小技巧

    这篇文章主要介绍了mysql中取出json字段的小技巧,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • 教你如何使用MySQL8递归的方法

    教你如何使用MySQL8递归的方法

    这篇文章主要介绍了教你如何使用MySQL8递归的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • MySQL三大日志之binlog、redoLog、undoLog详细讲解

    MySQL三大日志之binlog、redoLog、undoLog详细讲解

    这篇文章主要介绍了MySQL三大日志之binlog、redoLog、undoLog的相关资料,,binlog是MySQL服务层的日志,记录数据库执行的写入性操作,redoLog是InnoDB存储引擎层的日志,记录数据页的变更,undoLog也是InnoDB存储引擎层的日志,记录数据的逻辑变化,需要的朋友可以参考下
    2025-02-02
  • 详解MySQL集群搭建

    详解MySQL集群搭建

    本文将搭建一个最简化的MySQL Cluster系统,配置方法中的所有命令都是以root账户运行。
    2015-09-09
  • navicat中创建存储过程、触发器和使用游标的简单实例(图文)

    navicat中创建存储过程、触发器和使用游标的简单实例(图文)

    这篇文章主要介绍了navicat中创建存储过程、触发器和使用游标的简单实例,需要的朋友可以参考下
    2017-02-02
  • MySQL 8.0.19支持输入3次错误密码锁定账户功能(例子)

    MySQL 8.0.19支持输入3次错误密码锁定账户功能(例子)

    这篇文章主要介绍了MySQL 8.0.19支持输入3次错误密码锁定账户功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01

最新评论