牛客mysql做题笔记持续更新中

本文详细介绍了MySQL中的数据操作,包括插入(普通插入、多条一次性插入、从另一表导入)、替换(REPLACE INTO)、更新(设置新值、替换已有值)、删除(DELETE、TRUNCATE)、创建表、修改表、查询(SELECT)、字符/函数、多表链接、索引、CASE WHEN函数、视图和触发器。涵盖了SQL基础操作的关键知识点。
摘要由CSDN通过智能技术生成

1.插入表单

  • 普通插入(全字段):INSERT INTO table_name VALUES (value1, value2, ...)
  • 普通插入(限定字段):INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...)
  • 多条一次性插入:INSERT INTO table_name (column1, column2, ...) VALUES (value1_1, value1_2, ...), (value2_1, value2_2, ...), ...
  • 从另一个表导入:INSERT INTO table_name SELECT * FROM table_name2 [WHERE key=value]
  • 尝试插入数据,但表单中已存在id,则忽略,insert ignore into table_name values(value1,value2...)

2.replce into

replace into 跟 insert into功能类似,不同点在于:replace into 首先尝试插入数据到表中,

  1. 如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据;
  2. 否则,直接插入新数据。

插入数据的表必须有主键或者是唯一索引!否则的话,replace into 会直接插入数据,这将导致表中出现重复的数据。

3.uni与pri

primary key = unique +  not null。uni约束的字段中不能包含重复值。

4.update

  • 设置为新值:UPDATE table_name SET column_name=new_value ,[ column_name2=new_value2] [WHERE column_name3=value3]
  • 根据已有值替换:UPDATE table_name SET key1=replace(key1, '查找内容', '替换成内容') [WHERE column_name3=value3]

5.计算时间差

TIMESTAMPDIFF(interval, time_start, time_end)可计算time_start-time_end的时间差,单位以指定的interval为准,常用可选:

  • SECOND 秒
  • MINUTE 分钟(返回秒数差除以60的整数部分)
  • HOUR 小时(返回秒数差除以3600的整数部分)
  • DAY 天数(返回秒数差除以3600*24的整数部分)
  • MONTH 月数
  • YEAR 年数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值