SQL基础知识:DDL、DML、DQL

DDL:数据定义语言

对数据库和数据表的管理

数据库

1、创建

create database [if not exists] databasename;

2、列举

show databases;

3、查看当前所在数据库

select database();

4、切换

use databasename;

5、删除

drop database [if exists] databasename;

数据表

注意:需要先指定数据库,如果没指定数据需要使用[databasename.]注明

1、创建

create table [if not exists] [databasename.]tablename(字段1 数据类型1,字段2 数据类型2,···字段N 数据类型N);

数据类型

数值–整数用int,非整数用double/float;
字符–varchar
日期–date
日期时间–datetime

2、列举

show table;

3、描述

desc [databasename.]tablename;

4、删除

drop table [if exists] [databasename.]tablename;

5、清空

truncate [databasename.]tablename;

DML:数据操作语言

管理数据表的数据

插入:insert

insert into tablename(colname1,colname2···) values(value1,value2,···)

更新:update

update tablename set colname1=newvalue [and colname2=newvalue2 and ···] [where 更新条件]

不加条件为全列更新

删除:delete

delete from tablename [where 删除条件]

不加条件为全表清空

DQL:数据查询语言

对表中数据查询和统计分析

基本查询

select 1 from 2 where 3 group by 4 having 5 order by 6 limit 7

执行顺序:from、[join on ]、where、group by、having、select、order by 、limit

  1. 决定查询的结果有哪些列,给定哪些列、结果就会显示这些列
  2. 表示查询哪张表,给定表名字
  3. 条件查询,只有满足条件的数据才会返回
  4. 实现分组
  5. 分组后的条件过滤
  6. 排序。默认ASC升序,DESC降序
  7. 分页输出。limit M,N 表示从M+1开始显示,显示N条
   显示8到10条  limit 7,3

条件查询:where

  • and/or
  • like
  • between··· and···;>、<、>=、<=、!=、=
  • in\exist
  • is null\is not null

聚合查询

count、sum、avg、max、min

分组查询:group by

having 条件过滤,搭配group by使用

排序查询:order by

desc 降序

分页查询:limit

结果保存

insert into tablename select ···

tablename需要事先创建,select里的列名称可以与tablename列名称不一样,但是数据类型跟列数必须一致

select ··· into tablename
from a表

多表查询

连接方式

内连接

笛卡尔连接:cross join

SELECT * FROM r, s;
SELECT * FROM r CROSS JOIN s;

条件连接:又叫θ-连接,笛卡尔积得到的记录中选择满足某个条件的,θ 表示条件中的 = / != / >= / <= / > / <等

SELECT r.a, r.b, s.c, s.d FROM r, s WHERE r.b <= s.c;
SELECT r.a, r.b, s.c, s.d FROM r INNER JOIN s ON r.b <= s.c;

等值连接:又叫内连接,笛卡尔积得到的记录中选择满足某个相等条件的,将条件连接中的 θ 换为 = 即可,等值连接是一种特殊的条件连接

SELECT r.a, r.b, s.c, s.d FROM r, s WHERE r.b = s.c;
SELECT r.a, r.b, s.c, s.d FROM r INNER JOIN s ON r.b = s.c;

自然连接:笛卡尔积得到的记录中选择同名的某个列相等的,将等值连接中的列限定为同名列即可,同名列只显示一次,是一种特殊的等值连接

SELECT r.a, r,b, s.c FROM r, s WHERE r.b = s.b; 
--or
SELECT r.a, r.b, s.c FROM r INNER JOIN s ON r.b = s.b;

外连接

左外连接:连接(自然 / 等值 / θ-连接)结果加上左侧表失配行连右侧表全空值行

SELECT * FROM r RIGHT JOIN s ON r.b = s.b;

右外连接:连接(自然 / 等值 / θ-连接)结果加上右侧表失配行连左侧表全空值行

SELECT * FROM r RIGHT JOIN s ON r.b = s.b;

全外连接:连接(自然 / 等值 / θ-连接)结果加上左侧表失配行连右侧表全空值行和右侧表失配行连左侧表全空值行

(SELECT * FROM r LEFT JOIN s ON r.b = s.b) 
UNION 
(SELECT * FROM r RIGHT JOIN s ON r.b = s.b);
--or
select s.*,r.* from s full join r.b = s.b

子查询

查询结果的列来自同一张表,条件来自别的表

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/474806.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 660. 移除 9(9进制)

文章目录1. 题目2. 解题1. 题目 从 1 开始&#xff0c;移除所有包含数字 9 的所有整数&#xff0c;例如 9&#xff0c;19&#xff0c;29&#xff0c;…… 这样就获得了一个新的整数数列&#xff1a;1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;5&#xff0c;6&…

DllImport的用法

DllImport是System.Runtime.InteropServices命名空间下的一个属性类&#xff0c;其功能是提供从非托管DLL导出的函数的必要调用信息。 DllImport属性应用于方法&#xff0c;要求最少要提供包含入口点的dll的名称。 DllImport的定义如下&#xff1a; [AttributeUsage(Attr…

postman怎么导出测试用例_利用Charles抓包巧转接口自动化测试用例

在前面的文章中&#xff0c;也有介绍类似的工具的。例如&#xff1a;一键将接口请求转为测试用例介绍了开源的mitmproxy录制转化为接口测试用例&#xff0c;postman接口用例转化为python自动化测试用例 文章记录了如何把postman的测试用例转化为python的接口自动化的测试用例&a…

【基础知识】Sticky Bit, SUID,SGID

作者&#xff1a;gnuhpc 出处&#xff1a;http://www.cnblogs.com/gnuhpc/ 1.Sticky Bit 1&#xff09;作用于文件&#xff1a;曾经被一些老的Unix系统用来将可执行文件在第一次执行后放在swap中提高后续该程序的运行速度&#xff0c;现在已经过时。 2&#xff09;作用于目录&a…

LeetCode 1236. 网络爬虫(BFS/DFS)

文章目录1. 题目2. 解题2.1 BFS2.2 DFS1. 题目 给定一个链接 startUrl 和一个接口 HtmlParser &#xff0c;请你实现一个网络爬虫&#xff0c;以实现爬取同 startUrl 拥有相同 域名标签 的全部链接。该爬虫得到的全部链接可以 任何顺序 返回结果。 你的网络爬虫应当按照如下模…

启动不起来_国产开源工具:U盘启动工具Ventoy v1.0.29发布——墨涩网

Ventoy是一个制作可启动U盘的开源工具。有了Ventoy你就无需反复地格式化U盘&#xff0c;你只需要把ISO文件拷贝到U盘里面就可以启动了&#xff0c;无需其他操作。你可以一次性拷贝很多个不同类型的ISO文件&#xff0c;在启动时Ventoy会显示一个菜单来选择。 无差异支持Legacy B…

众多Android 开源项目再次推荐,学习不可错过

FBReaderJ FBReaderJ用于Android平台的电子书阅读器&#xff0c;它支持多种电子书籍格式包括&#xff1a;oeb、ePub和fb2。此外还支持直接读取zip、tar和gzip等压缩文档。项目地址&#xff1a;http://www.fbreader.org/FBReaderJ/Angle Angle是一款专为Android平台设计的&#…

LeetCode 1231. 分享巧克力(极小极大化 二分查找)

文章目录1. 题目2. 解题1. 题目 你有一大块巧克力&#xff0c;它由一些甜度不完全相同的小块组成。我们用数组 sweetness 来表示每一小块的甜度。 你打算和 K 名朋友一起分享这块巧克力&#xff0c;所以你需要将切割 K 次才能得到 K1 块&#xff0c;每一块都由一些 连续 的小…

筛选末位数字为1或5_看看广州示范性高中排行榜,怎么填报志愿?如何运用末位考生分数...

人们评价一所高中学校的层次通常会用两个指标&#xff1a;高考升学率和录取分数线&#xff0c;升学率又多以高优率高低为排序标准。在志愿填报期间&#xff0c;不少家长总希望我对学校进行比较。我试以三个维度对广州的70所示范性高中学校(校区)进行比较供大家参考。2016-2018近…

简明Python3教程 8.控制流

简介 迄今为止我们见到的所有程序总是含有一连串语句并且python忠实的顺序执行它们。 那么如何改变它们的执行顺序呢&#xff1f;例如你希望程序根据不同情况作出不同反应&#xff0c;按照当前时间分别 打印出’Good Morning’或’Good Evening’? 也许你已经猜到了&#xff0…

LeetCode 1166. 设计文件系统(哈希map)

文章目录1. 题目2. 解题1. 题目 你需要设计一个能提供下面两个函数的文件系统&#xff1a; create(path, value): 创建一个新的路径&#xff0c;并尽可能将值 value 与路径 path 关联&#xff0c;然后返回 True。 如果路径已经存在或者路径的父路径不存在&#xff0c;则返回 …

python 生成html文件浏览器_Handout库:能将python脚本转化为html展示文件

有的时候我们需要将python代码进行展示讲解&#xff0c;这个时候使用py文件进行讲解效果并不是最好的。如果能转化为html文件&#xff0c;在浏览器中展示&#xff0c;那就完美了。好消息是存在一个名为handout的库可以实现我们的设想。安装pip3 installU handout快速学习下面是…

转 OFBIZ webservice简介

OFBIZ webservice简介 Opentaps(OFBiz 9.04之后)中webservice用的是AXIS2&#xff0c;最开始自己在网上搜了好多资料&#xff0c;自己拿回来测试&#xff0c;发现都不对。后自己再找了下AXIS的资料说&#xff0c;那种报错很有可能是由于两个版本不对引起的&#xff0c;所以就决…

LeetCode 1087. 字母切换(回溯)

文章目录1. 题目2. 解题1. 题目 我们用一个特殊的字符串 S 来表示一份单词列表&#xff0c;之所以能展开成为一个列表&#xff0c;是因为这个字符串 S 中存在一个叫做「选项」的概念&#xff1a; 单词中的每个字母可能只有一个选项或存在多个备选项。 如果只有一个选项&…

遍历删除_面试难题:List 如何一边遍历,一边删除?

1. 新手常犯的错误可能很多新手(包括当年的我&#xff0c;哈哈)第一时间想到的写法是下面这样的&#xff1a;public static void main(String[] args) { List platformList new ArrayList<>(); platformList.add("博客园"); platformList.add("…

Delphi下物理删除dBase数据库的*.dbf文件

{ ************************************************************ }{ }{ 数据库操作实例 …

LeetCode 1060. 有序数组中的缺失元素(二分查找)

文章目录1. 题目2. 解题2.1 一次遍历2.2 二分查找1. 题目 给出一个有序数组 A&#xff0c;数组中的每个数字都是 独一无二的&#xff0c;找出从数组最左边开始的第 K 个缺失数字。 示例 1&#xff1a; 输入&#xff1a;A [4,7,9,10], K 1 输出&#xff1a;5 解释&#xff1…

iOS代码工具箱

判断日期是不是同一天&#xff0c;不要求是小时、分钟要一样。from&#xff1a;http://www.oliverfoggin.com/nsdate-isequaltodatetounitgranularity/?utm_sourceiOSDevWeekly&utm_campaigniOS_Dev_Weekly_Issue_115&utm_mediumemail #import <Foundation/Foundat…

python天气预报官网_python 实现对天气预报官网未来一周七天的天气情况抓取

通过HTMLPaser和urlib模块对网页进行抓取并分析实现步骤&#xff1a;1、自定义MYHTMLParser类2、实例化类并访问天气预报官网3、抓取关键数据4、对数据进行切片处理并输出字典from html.parser import HTMLPaser #处理页面模块from urllib import request #访问网站模块L […

LeetCode 536. 从字符串生成二叉树(递归)

文章目录1. 题目2. 解题1. 题目 你需要从一个包括括号和整数的字符串构建一棵二叉树。 输入的字符串代表一棵二叉树。 它包括整数和随后的0&#xff0c;1或2对括号。 整数代表根的值&#xff0c;一对括号内表示同样结构的子树。 若存在左子结点&#xff0c;则从左子结点开始…