首页 > 数据库 >超实用的 MySQL 语句写法

超实用的 MySQL 语句写法

时间:2023-04-20 09:11:06浏览次数:30  
标签:语句 INSERT name INTO 插入 MySQL table 写法

1. 插入或替换

有时候,在向数据库中插入数据时,你可能会想要更新一行数据,而不是添加一行新数据。这时候,可以使用 INSERT OR REPLACE 语句来实现这个目的。示例:

INSERT OR REPLACE INTO table_name (id, name, age) 
VALUES (1, 'Jack', 28);

在这个例子中,如果表中已经存在 id 为 1 的行,则该行的 name 和 age 会被更新为 'Jack' 和 28。如果该行不存在,则会插入一行新数据。

2. 插入或更新

如果你想要插入一行新数据,如果已经存在该行数据,则更新该行数据,可以使用 INSERT INTO ... ON DUPLICATE KEY UPDATE 语句。示例:

INSERT INTO table_name (id, name, age)
VALUES (1, 'Jack', 28)
ON DUPLICATE KEY UPDATE name = 'Jack', age = 28;

3. 插入或忽略

如果你想要插入一行新数据,如果已经存在该行数据,则忽略该行数据,可以使用 INSERT IGNORE INTO 语句。示例:
INSERT IGNORE INTO table_name (id, name, age) VALUES (1, 'John', 35);

4. SQL中的if-else判断语句

如果你想要根据条件执行不同的 SQL 语句,可以使用 IF() 函数,示例:

SELECT column_name, IF(column_name = 'value', 'yes', 'no') AS result 
FROM table_name;

在这个例子中,如果 column_name 的值为 'value',则将结果设置为 'yes',否则设置为 'no'。

5. 指定数据快照或备份

如果你想要创建一个数据快照或备份,可以使用 SELECT INTO OUTFILE 语句。示例:

SELECT *
INTO OUTFILE '/path/to/backup_file.csv'
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
FROM table_name;

在这个例子中,将数据备份到 '/path/to/backup_file.csv' 文件中,并且字段使用 ',' 分隔,行使用 '\n' 分隔。

6. 写入查询结果集

如果你想要将查询结果集插入到另一个表中,可以使用 INSERT INTO ... SELECT 语句。示例:

INSERT INTO new_table (column1, column2, column3)
SELECT column1, column2, column3
FROM old_table;

在这个例子中,将 old_table 中的 column1、column2 和 column3 的值插入到 new_table 中相应的列中。

7. 强制使用指定索引

如果你想要强制 MySQL 使用指定的索引,可以使用 USE INDEX 语句。示例:

SELECT *
FROM table_name USE INDEX (index_name)
WHERE column_name = 'value';

在这个例子中,强制使用名为 index_name 的索引来查询 table_name 表中 column_name 值为 'value' 的行。

总结

这里介绍了七种超实用的 MySQL 语句写法,这些写法可以帮助你更好地管理和优化你的数据库。这些写法包括插入或替换、插入或更新、插入或忽略、SQL 中的 if-else 判断语句、指定数据快照或备份、写入查询结果集和强制使用指定索引。使用这些写法可以帮助你更高效地使用 MySQL,提高数据操作的效率。

 

 

 

标签:语句,INSERT,name,INTO,插入,MySQL,table,写法
From: https://www.cnblogs.com/liucs/p/17335415.html

相关文章

  • 基于SSM和MySQL实现的疫情数据统计分析系统
    基于SSM和MySQL实现的疫情数据统计分析系统访问【WRITE-BUG数字空间】_[内附完整源码和文档]1.项目简介疫情数据统计分析系统是一个基于SSM框架的网页端系统,项目中实现的功能如下:用户访问网站可以浏览全国疫情的图表信息,管理员登录后台管理系统,可以进行数据录入、数据查询、图表展......
  • MySQL中binlog备份脚本分享
    关于MySQL的二进制日志(binlog),我们都知道二进制日志(binlog)非常重要,尤其当你需要pointtopoint灾难恢复的时侯,所以我们要对其进行备份。关于二进制日志(binlog)的备份,可以基于flushlogs方式先切换binlog,然后拷贝&压缩到到远程服务器或本地服务器的其他存储上,例如挂载的NAS存储,也可......
  • 站不住就准备加仓,这个pandas语句该咋写?
    大家好,我是皮皮。一、前言前几天在Python白银交流群【还有多远】问了一个Pandas处理的问题,这里拿出来给大家分享下。看上去不太好理解,这里继续给个样式。只有一个条件为真,i<3300andi+1>3300 就为真,其余都为假。二、实现过程这里【甯同学】给了一个代码,如下所示:df.open.roll......
  • C# 中break 和 continue 和 return在if语句和for循环中的区别
     break是跳出当前循环就是最近的一次循环,继续执行外循环,continue是指结束本次循环,这次循环后边的不执行了,继续最内层循环的循环break是跳到了外层循环,return则终止该方法,后边的都不执行 可以使用switch iffor进行测试......
  • PromQL的一个QPS语句的分析
    这里以一个请求count指标为例,该指标是随时间增长的瞬时向量,如何用这个指标计算QPS,可以参照如下:req_sum_total瞬时向量,valueandtimestamp,当然返回的数据是一个集合req_sum_total{Project=~"vlm.+",uri!~"/status|.*prometheus"}筛选后瞬时向量req_sum_total{Project=~"......
  • MySQL数据库事务
    什么是数据库事务数据库事务(transaction)是访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。事务由事务开始与事务结束之间执行的全部数据库操作组成。数据库事务的四大特性数据库事务的四大特性和程序事务相同,......
  • sql with语句查询 递归查询
    with语句查询可以将一个子查询作为一个结果,相当于一个i临时表多次使用WITHt1AS(SELECT1ASid,'bird'AScname),t2AS(SELECT1ASid,'123'ASinfo)SELECTt1.cname,t2.infoFROMt1,t2WHEREt1.id=t2.id;t1和t2两个临时结果,后续查询可以使用。最后的查询也可以再......
  • mysql备份脚本
    [root@node1scripts]#catmysql_bak.shBackup_Dir=/data/backup/mysql/dayuser=roothost=localhostpwd=rootif[!-d$Backup_Dir]thenmkdir-p$Backup_DirfiDB_Name=(information_schemaachievements_statistical_utf8mb4adv......
  • Python操作MySQL就是这么简单
    Python操作MySQL就是这么简单下载MySQL8.0安装MySQL8.0步骤2:选择安装类型步骤3:选择安装位置步骤4:配置MySQL8.0步骤5:安装MySQL8.0步骤6:完成安装启动MySQL8.0MySQL8.0的常用命令python的pymysql库操作方法安装pymysql库安装pymysql库连接到MySQL数据库......
  • Mysql操作多表查询的方法
    多表查询是指在关系型数据库中,通过同时查询多个数据表来检索相关数据的操作。这种查询方式通常用于需要在多个数据表中搜索和比较数据的情况,以获取更完整和准确的结果。在多表查询中,使用联接(join)操作将多个表连接在一起,并使用条件语句来指定要检索的数据。联接操作可以使用不同的方......