100条常用SQL语句
最新更新时间:2021年03月09日13:56:21
《猛戳-查看我的博客地图-总有你意想不到的惊喜》
本文内容:最近在做node开发,写了大量的sql语句,本文以作记录,CRUD(create, read, update, delete)
基础学习
关键字
- ORDER BY
ORDER BY 关键字默认按照
升序
对记录进行排序,也可以使用关键字ASC
ascending
如果需要按照降序
对记录进行排序,可以使用DESC
descending关键字
//单列降序 只查询一条数据
select * from table1 where origin_id = 333 order by modified_time DESC limit 1;
//多列升序
SELECT * FROM table1 ORDER BY origin_id,modified_time;
//筛选3列按照2列升序排列升序
SELECT id,origin_id,modified_time FROM table1 ORDER BY origin_id,modified_time;
- SELECT TOP, LIMIT, ROWNUM
返回记录的数目
//MySQL 语法
SELECT * FROM table_name LIMIT 2;
//SQL Server / MS Access 语法
SELECT TOP 2 * FROM table_name;
//Oracle 语法
SELECT * FROM Persons WHERE ROWNUM <=5;
常用sql语句
增
//创建视图 视图是一张虚拟表
//视图的创建方式和表一样,需要实例化、配置映射文件、实现get/set方法等
CREATE VIEW my_view_data AS SELECT t.name FROM table1 AS t;
删
//删除单条数据
DELETE FROM table1 WHERE value=1;//删除指定的多条数据
DELETE FROM table1 WHERE value IN (1,4);//删除连续的多条数据
DELETE FROM table1 WHERE value>=1 AND value<=9;
改
- 修改已有行的某几列
//更改table表中多条数据的多列,id是[36,42]的七条数据的school_id和school_name
UPDATE `table1` SET `school_id` = '101', `school_name` = '初中' WHERE `id` BETWEEN 36 AND 42;//更改table1表中每一条数据的name为'[]',一般用于数据初始化
UPDATE `table1` SET `name` = '[]';
- 向表增加列
//向 table1 表增加列 school_id和school_name,默认值为''
ALTER TABLE `table1` ADD COLUMN `school_id` varchar(36) NULL DEFAULT '' COMMENT '学校编号', ADD COLUMN `school_name` varchar(36) NULL DEFAULT '' COMMENT '学校名称';ALTER TABLE `table_name` ADD COLUMN `column_name` varchar(1000) NOT NULL DEFAULT '[]' COMMENT '这个列的文字说明';
查
- 精确查询
SELECT * FROM `table1` WHERE `is_deleted` = 0;
SELECT * FROM `table1` WHERE `id` = 1;
SELECT * FROM `table1` WHERE `school_id` = '80022431';
- 范围查询
//查询 1,5,13
SELECT * FROM `table1` WHERE id=1 OR id=5 OR id=13;
SELECT * FROM `table1` WHERE id IN(1,5,13);//查询 1,5,13 以外的数据
SELECT * FROM `table1` WHERE NOT (id=1 OR id=5 OR id=13);
SELECT * FROM `table1` WHERE id NOT IN(1,5,13);//查询 [11,22]
SELECT * FROM `table1` WHERE `id` BETWEEN 11 AND 22;//查询 [11,22] 以外的数据
SELECT * FROM `table1` WHERE `id` NOT BETWEEN 11 AND 22;
- 判断空
//为空
SELECT * FROM `table1` WHERE `id` IS null;
//不为空
SELECT * FROM `table1` WHERE `id` IS NOT null;
- 分页查询
SELECT * FROM table1 LIMIT 0,10;//从表的偏移量0开始查询10条数据
SELECT * FROM table1 LIMIT 12,8;//从表的偏移量12开始查询8条数据
- 排序查询
SELECT * FROM table1 ORDER BY create_time DESC;//按照创建时间降序
- 单列多值查询
//查询 school_type 为 101 和 102 的数据
SELECT * FROM table1 WHERE (school_type=101 OR school_type=102) AND is_deleted=0;
- 模糊查询
//school列保存的是 学校id 的字符串数组 "[1,2,3,4,5]"
//查询 school 列中包含2的数据
let school_id = '2';
SELECT * FROM table1 WHERE school like '%2%';
注意:
需要有左右引号
“%” 符号用于在模式的前后定义通配符(默认字母)
NOT LIKE 表示取非
//查询 table1 表中的所有数据
SELECT * FROM table1;
SELECT age,name FROM table1;//查询某列的值并去重
SELECT DISTINCT phone_brand FROM table1;// xiaomi huawei iphone vivo oppo
SELECT COUNT(DISTINCT phone_brand) AS nums FROM table1;//5//查询 table1 表中的数据量
SELECT COUNT(*) FROM table1;
SELECT COUNT(*) AS numbs FROM table1;//按照条件查询 table1 表中的所有数据
SELECT * FROM table1 WHERE name="wanshaobo";
SELECT * FROM table1 WHERE is_delete="wanshaobo" AND name="bus";//表连接查询 table1是主表 table2是从表
SELECT * FROM table1 LEFT JOIN table2 ON table1.id=table2.page_id;//按照关联字段将table2的数据合并到table1中
SELECT table1.*,table2.id FROM table1 LEFT JOIN table2 ON table1.id=table2.page_id;//按照关联字段将table2的部分数据合并到table1中
SELECT table1.age,table2.name FROM table1 LEFT JOIN table2 ON table1.id=table2.page_id;//按照关联字段将table2的数据合并到table1中 只返回部分数据//3表查询 table1是主表 table2和table3是从表
SELECT t3.i_d,t3.na_me,t4.verion FROM (SELECT t1.id AS i_d,t2.name AS na_me FROM table1 AS t1 LEFT JOIN table2 AS t2 ON t1.p_id = t2.id) AS t3 LEFT JOIN table3 AS t4 ON t3.pId = t4.p_id
高级SQL
SELECT name AS n, country AS c FROM Websites;
SELECT name, CONCAT(url, ', ', alexa, ', ', country) AS site_info FROM Websites;
SELECT w.name, w.url, a.count, a.date FROM Websites AS w, access_log AS a WHERE a.site_id=w.id and w.name="菜鸟教程";
参考资料
- 表连接
- SQL
感谢阅读,欢迎评论^-^
打赏我吧^-^
100条常用SQL语句相关推荐
- 出生日期范围的Sql语句_【呕心总结】python如何与mysql实现交互及常用sql语句
9 月初,我对 python 爬虫 燃起兴趣,但爬取到的数据多通道实时同步读写用文件并不方便,于是开始用起mysql.这篇笔记,我将整理近一个月的实战中最常用到的 mysql 语句,同时也将涉及到如何 ...
- MySQL(用户管理,常用sql语句,数据库备份恢复,MySQL调优,恢复误操作数据)...
一.MySQL用户管理. 一个MySQL数据库里可以跑多个库,总不能给所有人的程序员root用户,则可以给他们单独的用户访问数据库. 创建用户:(grant all on *.* to 'user1' ...
- oracle常用SQL语句(汇总版)
原文地址:https://www.cnblogs.com/xrhou12326/p/4094737.html Oracle数据库常用sql语句 ORACLE 常用的SQL语法和数据对象 一.数据控制语 ...
- 一些常用SQL语句的总结 竖项变横项
一些常用SQL语句的总结 转自:http://stevieliu.bokee.com/5076391.html 关键词: sql 查询表内容 SELECT 表名=case when a.colord ...
- 南大通用GBase8s 常用SQL语句(四十)
南大通用GBase8s 常用SQL语句(四十) DATAFILES 子句 DATAFILES 子句指定当您使用外部表时打开的操作系统文件或管道. DATAFILES 子句 元素 描述 限制 语法 fi ...
- 55:Mysql用户管理|常用sql语句|mysql数据库备份恢复
2019独角兽企业重金招聘Python工程师标准>>> 1.Mysql用户管理: 场景,为了安全,新建的站点,创建新的用户,或者给已有用户授权,对某个库或者某个表有权限: 语法: g ...
- MySQL用户管理、常用SQL语句、MySQL数据库备份恢复
mysql用户管理 1.创建一个普通用户并授权 [root@gary-tao ~]# mysql -uroot -p'szyino-123' Warning: Using a password on ...
- 经典MySQL语句大全和常用SQL语句命令的作用。
转载自 http://blog.csdn.net/suyu_yuan/article/details/51784893 转自网络: 经典MSSQL语句大全和常用SQL语句命令的作用 下列语句部分是M ...
- oracle维护常用SQL语句(查看系统表和视图)
转:http://www.360doc.com/content/11/1230/15/7489308_176090474.shtml oracle维护常用SQL语句(查看系统表和视图) 1.查看表空间 ...
- 常用SQL语句(增删查改、合并统计、模糊搜索)
转自:http://www.cnblogs.com/ljianhui/archive/2012/08/13/2695906.html 常用SQL语句 首行当然是最基本的增删查改啦,其中最重要的是查. ...
最新文章
- matlab读int16读文件_matlab文件读写.doc.doc
- C main()参数
- jquery字符串序列化方法总结
- 15日直播预告丨SQL条件等价改写秘笈(主讲人:怀晓明)
- 网络协议端口号说明(转)
- Java主类结构:变量与常量
- Error:不允许有匹配 [xX][mM][lL] 的处理指令目标。
- Word编辑公式的快捷键与命令
- 天猫精灵 python_天猫精灵控制家里的灯
- 华为联运游戏或应用审核驳回:检查HMS Core更新失败
- halcon入门之_提取遥控器字符并且写入txt文本
- 在阿里 AI Lab 做 NLP 高级算法专家是一种什么样的体验?
- 洛谷P1725 琪露诺(单调队列优化dp)
- netgen.5.0.0下载地址与Windows下编译方法
- 数据资产盘点的流程和方法
- 快手架构师:3亿日活的快手微服务架构实践
- 爪哇国新游记之七----使用ArrayList统计水果出现次数
- JME3教程:Android创建一个简单的示例
- uml建模外卖订餐系统
- 【电信学】【2016.02】基于IMU的遥控车自主导航位置跟踪
热门文章
- 王者荣耀服务器维护七月三号,王者荣耀3月23日更新维护公告 自然之灵拼图活动开启...
- 网页加载出现没有合适的负载均衡器_一篇文章彻底了解清楚什么是负载均衡
- yolo v3 pytorch版本(转载)
- Backpropogation反向传播公式推导【李宏毅深度学习版】
- 标记集合 java编译_深入理解Java虚拟机读书笔记-java编译期和运行期优化
- MFC基于 单文档为状态栏添加进度条
- hadoop jps 没有命令_hadoop:伪分布模式启动步骤分解
- 实现一个文本文件的解析类(vector,字符串解析的应用)
- Java实现JPBC密码库的实验
- GoC语言学习(C/C++程序设计语言入门)