一、基本操作

1、添加(insert)
INSERT INTO user_temp (uid, username) VALUES (19088, 'asdf');

2、修改(update)
UPDATE user_temp SET username = '111' WHERE uid = 19088;

3、删除(delete)
DELETE FROM user_temp whe uid = 19088;

4、查询(select)
SELECT id,username,spreader_uid,addtime FROM rrl_user WHERE addtime >= '2018/08/26';

二、SQL进阶

1、批量添加,INSERT INTO SELECT语句与SELECT INTO FROM语句区别
(1)INSERT INTO SELECT
Insert into Table2(field1,field2) select value1,value2 from Table1;

注:1.要求目标表Table2必须存在,并且字段field1,field2 也必须存在
2.如果Table2有主键而且不为空,则 field1,field2中必须包括主键

(2)SELECT INTO FROM
SELECT vale1, value2 into Table2 from Table1

注:1.要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中


2、批量修改,根据一张表的数据批量修改另一张表的数据
UPDATErrl_goods
SETbeans_pay_rate = beans,cash_pay_rate = cash
FROM rrl_goods, test_goods_20180705
WHERE test_goods_20180705.goods_id = rrl_goods.id

注:beans_pay_rate 和 cash_pay_rate 是表 rrl_goods 的字段,beans 和 cash 是表 test_goods_20180705 的字段


3、批量删除
(1)子查询删除
--删除所有满足子查询的数据
DELETE FROM user_temp whe uid IN (SELECT id FROM rrl_user WHERE addtime >= '2018/08/26');
(2)删除重复记录
delete from tablename where id not in (select max(id) from tablename group by col1,col2,...);

4、查询进阶
(1)子查询方式1(IN或者=)
SELECT*
FROMrrl_user_money_record
WHERE uid IN (SELECT id FROM rrl_user WHERE addtime >= '2018/08/26'
);
(2)子查询方式2
SELECT*,(SELECT username FROM rrl_user WHERE id = uid) as username
FROMrrl_user_money_record
WHERE uid = 19088;
(3)连接查询-左连接
SELECTr.*,u.username,u.addtime
FROMrrl_user_money_record r
LEFT JOIN rrl_user u
ON r.uid = u.id
WHERE u.addtime >= '2018/08/26';

左连接以左表数据为基准。

(4)连接查询-右连接
SELECTr.*,u.username,u.addtime
FROMrrl_user_money_record r
RIGHT JOIN rrl_user u
ON r.uid = u.id
WHERE u.addtime >= '2018/08/26';

右连接以右表数据为基准。

(5)连接查询-全连接
SELECTr.*,u.username,u.addtime
FROMrrl_user_money_record r
JOIN rrl_user u
ON r.uid = u.id
WHERE u.addtime >= '2018/08/26';

全连接以两表数据为基准。

(6)偏移分页查询(OFFSET-FETCH)
SELECT*
FROMrrl_user
ORDER BYaddtime DESC
OFFSET 0 ROWS FETCH NEXT 10 ROWS ONLY;

注:偏移0行去10行,即显示第一页,每页10条数据。

SELECT*
FROMrrl_user
ORDER BYaddtime DESC
OFFSET XXX ROWS FETCH NEXT {PageSize} ROWS ONLY;

注: XXX = (PageIndex - 1) * PageSize

(7)分组查询(可以去重)
SELECTuid,COUNT(1) c
FROMrrl_user_money_record
WHERE addtime >= '2018/08/26'
GROUP BY uid
HAVING COUNT(1) > 1;

注: GROUP BY 后的字段必须在SELECT后面查询出来才行,分组查询也达到去重的目的。

(8)去重查询
SELECTDISTINCT uid
FROMrrl_user_money_record
WHERE addtime >= '2018/08/26';
(9)随机取出10条数据查询
select top 10 * from rrl_user order by newid();

SQL干货 增删改查(CURD)从入门到熟练 实用 - lbx相关推荐

  1. vue实现对数据的增删改查(CURD)

    vue实现对数据的增删改查(CURD) 导语: 网上看到一个写的比较好的学习文章,转载分享一下 在管理员的一些后台页面里,个人中心里的数据列表里,都会有对这些数据进行增删改查的操作.比如在管理员后台的 ...

  2. 【Laravel】Laravel-admin后台框架-2创建数据表建立模块增删改查CURD(2)

    前言 前面的操作我们已经能够 安装Laravel-admin 创建数据表并生成模型 修改模型实现按业务写入数据 可以参考之前的文章 [Laravel]Laravel-admin后台框架-2创建数据表建 ...

  3. SQL(一) —— 增删改查

    SQL基础模块 SQL(一) -- 增删改查 一.初识数据库 1.1 DBMS的种类 1.2 RDBMS的常见系统结构 1.3 SQL 二.增删改查 2.1 数据类型 2.2 数据库操作 2.3 数据 ...

  4. mybatis --入门 单表增删改查-curd

    目录 1. mybatis 环境搭建 2. 实体类映射文件配置(写sql) 3. mybatis核心配置文件 (环境配置) 4. 测试 mybatis document https://mybatis ...

  5. Mybatis实现增删改查 -- Mybatis快速入门保姆级教程(二)

    文章目录 前言 五.配置文件完成增删改查 1.学习目标 2.入门案例环境准备 3.查询--查询所有 4.查询--根据id查询 5. 查询--条件查询 6.查询--多条件动态查询 7.条件查询--单条件 ...

  6. 巨杉数据库SequoiaDB在Java开发中的增删改查CURD

    文章目录 JSON应用开发 增删改查操作 1 快速入门 1.1 环境部署 部署SequoiaDB集群环境 部署Windows开发环境 1.2 正式开始 2 CURD教程 2.1 Java开发环境搭建 ...

  7. php pdo 更新sql语句,增删改查sql语句及PDO数据库连接操作流程实例-2019年7月24日...

    一.增删改查sql语句语法: 增: INSET INTO `表名` SET `字段名`=值 (也可写别名用,值前面加冒号->:别名): 删: DELETE FROM `表名`  WHERE `字 ...

  8. Web SQL介绍,web sql中增删改查、数据存储位置、运行脚本、建表建库

    Web SQL: Web SQL是一种简单的存在服务器中的数据库,运行在javascript脚本中,其数据储存在计算机Application中Web SQL中. web sql提供了三个核心方法: 1 ...

  9. SQL语句增删改查公司-员工3表典型案例

    基础原生SQL增删改查,一般公司业务表,必知必会基础流程! 程序开发之大法,从数据库开始,不管是sqlserver,Oracle数据库还是其他MySQL等等的数据库.都是从写SQL语句开始.需要您必知 ...

  10. SQL语句(增删改查)

    个人感觉SQL语句不用刻意的去记忆,多使用,用到的时候忘记了就查找一下,使用的频繁,自然就记住了. SQL语句使用:数据库操作SQL.数据表操作SQL.数据记录操作SQL (一)数据库SQL 1.创建 ...

最新文章

  1. [2010国家集训队]Crash的旅游计划
  2. signature=16ceadeb007b12c6b3bcab834073ab21,Distributed Backscattering
  3. 面试:你说你精通Java并发,给我讲讲Java并发之J.U.C
  4. 继苏宁京东后 拼多多也宣布下调新款iPhone售价
  5. 使用睡袋_宝宝睡袋使用心得
  6. Verilog实现UART串口收发器数字电路
  7. 为何python不好找工作-听说自学Python不好找工作,小白要如何学Python?
  8. 水晶易表Xcelsius 2008安装常见问题小结
  9. mysql 订单表 订单详情表 关联 排序 统计
  10. Ctfshow菜狗杯------传说之下(雾)
  11. Python 从函数 def 到类 Class
  12. 图片顺序命名不带括号,方法步骤
  13. Machine Learning之高等数学篇(五)☞《偏导数与方向导数、梯度》
  14. 电视盒子显示ntp服务器异常,ntp服务器连接异常咋办
  15. apicloud 不干胶标签打印模块及开发
  16. 自动驾驶入门技术(4)—— 摄像头
  17. redis主从保证数据一致性
  18. 数理统计与统计软件测试卷,《数理统计》测验卷(一)答案
  19. 连续两个南航的研究生面试出了从来没出现过的问题,本科和研究生都是计算机专业的,竟然说static是不可更改的。
  20. abp vnext后台任务(BackgroundWorkerBase)

热门文章

  1. 51单片机C语言送片外数据,单片机片内RAM和片外RAM数据传送实验报告
  2. Android Studio 3.0 中的 Android Profiler
  3. 实战十:基于lstm+crf实现电子病历实体信息识别 完整的代码+数据集+说明 毕设
  4. AndroidR上展讯CameraAPP的openCamera流程
  5. 直击|联想与NetApp成立“联想凌拓” 陆大昕任CEO
  6. UE4 射击游戏项目实战开发 001 ~初学笔记
  7. AMD EPYC 7551P 32-Core Processor服务器部署openstack 创建的windows虚拟机蓝屏
  8. 【自用】青龙拉取JD各个实用库集合(排名不分先后)
  9. 浅谈DFS分布式文件系统
  10. 7-16 哈利·波特的考试