SQL语句速查

  • 创建部门表
deptno dname location
1 技术部 23楼
create table dept			--dept部门
(
deptno int primary key, --deptno部门编号,primary key主键
dename varchar(9), --dname部门名称,varchar长度变化的字符串
loc varchar(10) --loc部门位置
); --varchar是最长多少,char是固定的长度
  • 创建员工表
empno name deptno manager hiredate salary
001 张三 1 2 2023-03-04 4444.00
create table employees
(
empno int primary key,
name char(10) not null, --not null 不能为空
deptno int,
manager int,
hiredate date,
salary numeric(7,2) --总长7位,保留小数点后2两位
);
  • 创建经理表
员工号 头衔
2 技术部经理
9 总裁
create table manager
(
empno int primary key,
title varchar(16)
);

  • 常用数据类型
数据类型 说明
int 整数类型
char(n) 字符/字符串,固定长度为n
varchar(n) 字符/字符串,可变长度,最大长度为n
numeric(a,b) 精确数值,总位数=a,小数点后位数=b
date 存储年月日,yyyy-mm-dd
  • insert:用于向表中插入新纪录,有两种用法

    • 为表中所有字段添加值时不需要字段名称,但要确保值的顺序与表中字段顺序相同
    insert into 表名 values(字段1的值,字段2的值,....);
    • 为指定的字段插入数据时,腰包字段名和字段值都列出来,并一一对应
    insert into 表名 (字段1,字段2,...) values(字段1的值,字段2的值,...);
  • 主键:主键的全称是主键约束,表的主键由表中一个或多个字段组成,主键唯一代表表中一条记录,关系数据库中通常每个表都有一个主键,没有主键的表通常是不严谨的设计的产物,主键有以下特点:

    • 每个表只能定义一个主键
    • 主键值必须唯一标识表中的每一记录,且不能为null。即表中不可能存在有相同主键值的两条记录
    • 一个字段名只能在联合主键字段中出现一次
    • 联合主键不能包含不必要的多余字段,当联合主键的某一字段删除后,剩下的字段不能唯一代表一条记录
  • select

--查询表中所有的字段
select * from 表名; --查询表中指定的字段
select 字段1,字段2,... from 表名;
  • distinct 去重:同一字段中可能会出现重复值,使用关键字distinct去掉重复值
select distinct 字段名 from 表名;
  • where 条件过滤:如果要从表中选取指定的数据,将where子句添加到select语句
select 字段名 from 表名 where 字段 运算符 值;
  • and 和 or 运算符
select 字段名 from 表名 where 字段n 运算符 值n and|or 字段m 运算符 值m;
  • like 搜索匹配的字符串:在where子句中使用like运算符来搜索匹配字符串中的指定模式,百分号%匹配零个、一个或多个字符。
select 字段名 from 表名 where 字段 like 字符串;
  • in 匹配多个值:在where子句中指定多个搜索条件可以匹配的值,in实际是多个 or条件 的合并
select 字段名 from 表名 where 字段名 in (值1,值2,...);
  • between 指定范围:值可以实数字、字符串或日期
select 字段名 from 表名 where 字段名 between 值1 and 值2;
  • order by 排序:asc 升序,desc 降序
select 字段名 from 表名 order by 字段名1,字段名2,... asc|desc;
  • update 更新数据
update 表名 set 字段1=值1,字段2=值2,... where 子句;
--where 子句指定记录更新,没有where将更新表中所有记录
  • delete 删除记录:用于删除表中记录
delete from 表名 where 子句;
--where 子句指定记录更新,没有where将更新表中所有记录
  • view 视图

    • 视图是基于SQL语句的结果集的可视化表,视图中的字段就是来自一个或多个数据库中的正式的表中的字段
    • 视图总是显示当前的数据,每当用户查询视图时,数据库引擎通过使用SQL语句来重建数据
create view 视图名 as select 语句;
  • null:NULL值代表遗漏的未知数据,它的作用是未知的或不适用的值的占位符。

    • 如果表中的某个列是可选的,那么我们可以在不向该列添加值的情况下插入新记录或更新已有的记录。这意味着该字段将以NULL值保存。
    • 字段值是否是NULL的判断只能用 is null 或 is not null 。不能用=和!=
  • 字段 和 表的别名:在SQL语句中可以为表名或字段名指定临时使用的别名(Alias),别名只在当前的SQL语句中生效,它通常比字段名更具有可读性。别名有以下应用场景:
    • 字段名过长或可读性差
    • 涉及多个表,且多个表中有相同的字段名
    • 代表查询函数的结果
select 字段名 as 别名 from 表名 as 别名; --as可以省略
  • join连接:是基于多个表之间的共同字段把他们结合起来进行查询的一种方法:

    • 内连接:列出两个表中都存在的记录
    • 左连接:即使没有匹配也列出左表中的所有记录
    • 右连接:即使没有匹配也列出右表中的所有记录
select 字段名 from 表1 join 表2 where 子句;
  • SubQuery子查询:也称为嵌套查询,是一种嵌套在其他SQL语句的where子句中的查询,子查询用于为主查询返回其所需数据或对检索数据进行进一步限制
select 字段1,字段2,... from 表名 where 字段名 操作符(子查询);

  • count 函数

    • 统计符合条件的记录数
    • count(*) 统计表中的记录总数
    • count(字段名) 统计指定字段不为null的记录数
select count(*) from employee;
select count(deptno) from employee;
  • max函数:返回所选字段的最大值,用法是 max(字段名);

  • min函数:返回所选字段的最小值,用法是 min(字段名);

  • avg函数:返回所选字段的平均值,用法是 avg(字段名);

  • sum函数:返回所选字段的合计值,用法是 sum(字段名);

  • group by 分组:用于结合统计函数,更加一个或多个列对结果集进行分组

select 字段名,统计函数 from 表名 where子句 group by 字段名;
  • having 过滤分组:与where类似,但它们的过滤对象不同,where 对被选择的列进行过滤,having 子句对group by 产生的分组进行过滤

  • SQL语句的书写顺序:

select from where group by  having order by limit;

SQL语句简单入门的更多相关文章

  1. [转帖]PG语法解剖--基本sql语句用法入门

    PG语法解剖--基本sql语句用法入门 https://www.toutiao.com/i6710897833953722894/ COPY 命令挺好的 需要学习一下. 原创 波波说运维 2019-0 ...

  2. day39——SQL语句简单介绍、库、表、记录、安装mysql简单命令

    day39 SQL语句简单介绍 库(增删改查) 查看数据库 show databases; 查看其中一个库 show create database db1; 创建数据库 create databas ...

  3. 初始SQL语句 简单使用

    初始SQL语句 简单使用 SQL语言共分为四大类: DQL (Data QueryLanguage )数据查询语言 DML(Data manipulation language)数据操纵语言 DDL( ...

  4. SQL知识以及SQL语句简单实践

    综述 大家都知道SQL是结构化查询语言,是关系数据库的标准语言,是一个综合的,功能极强的同时又简洁易学的,它集级数据查询(Data Quest),数据操纵(Data Manipulation),数据定 ...

  5. SQL语句简单增删改查

    常用数据类型 Int:整数,长度没有作用 Varchar:字符串,varchar(3)表示最多存放3个字符,1个中文或英文或符合都占1个字符 Decimal:小数,decimal(5,2)表示共存5位 ...

  6. SQL语句简单整理

    转载原文:http://blog.sina.com.cn/s/blog_48df31d901017c6o.html 1.用户 - 查看当前用户的缺省表空间 select username,defaul ...

  7. SQL语句简单应用(未完)

    简介:   SQL(structured query language)结构化查询语句,是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系型数据库系统,同时也是数据库脚本文件的扩展名 ...

  8. SQL语句简单记录

    SQL SERVER 新增列与默认值 alter table 表名 add 列明 bit default 0 not null 删除列(容易删除失败) alter table 表名 drop colu ...

  9. SQL语句简单笔记

    Create database database name://创建数据库 Show databases dbName: //显示所有数据库 Create table tableName: //创建表 ...

  10. 手工sql注入简单入门

    1.判断是否可以注入: 数字型: 1.1在参数后面加一个引号',如果页面报数字number错误,则一定不是sql注入点:如果报数据库比如mysql.oracle之类的错误,则是一个sql注入点. 1. ...

随机推荐

  1. vs2022的一些调试技巧——远程调试&线程检查&性能检查

    visual studio一直都是.net/c#开发人员最受欢迎的编译器,除了强大的代码提示和项目模板,还拥有大量的调试工具,这一期我们介绍下code freeze阶段的一些调试技巧.包括测试环境/生 ...

  2. [C#] FFmpeg 音视频开发总结

    为什么选择FFmpeg? 延迟低,参数可控,相关函数方便查询,是选择FFmpeg作为编解码器最主要原因,如果是处理实时流,要求低延迟,最好选择是FFmpeg. 如果需要用Opencv或者C#的Emgu ...

  3. 【HarmonyOS】详解低代码端云一体化开发之数据模型

    [关键字] 元服务.低代码平台.端云一体化开发.数据模型.拖拽式UI [1.写在前面] 上一篇中分享了关于低代码平台开发元服务的基本使用,有兴趣的可以看一下,文章地址如下: https://devel ...

  4. MariaDB server_audit 审计插件

    具体安装步骤: 1.使用SHOW VARIABLES LIKE 'plugin_dir'; 查出插件安装目录 2.复制 mariadb-5.5.58-linux-x86_64/lib/plugin 下 ...

  5. k8s+log-pilot日志收集

    github 地址:https://github.com/AliyunContainerService/log-pilot 介绍 log-pilot是一个很棒的 docker 日志工具.可以从dock ...

  6. ChatGPT小型平替之ChatGLM-6B本地化部署、接入本地知识库体验

    本文期望通过本地化部署一个基于LLM模型的应用,能让大家对构建一个完整的应用有一个基本认知.包括基本的软硬环境依赖.底层的LLM模型.中间的基础框架及最上层的展示组件,最终能达到在本地零编码体验的目的 ...

  7. 【Netty】一个RPC实例

    Netty实现简易RPC调用 总体流程: 客户端发起rpc调用请求,封装好调用的接口名,函数名,返回类型,函数参数类型,函数参数值等属性,将消息发送给服务器. 服务器的handler解析rpc请求,调 ...

  8. 容器基础-- namespace,Cgoup 和 UnionFS

    Namespace 什么是 Namespace ? 这里的 "namespace" 指的是 Linux namespace 技术,它是 Linux 内核实现的一种隔离方案.简而言之 ...

  9. .Net微服务实战

    前言 第一篇.Net微服务实战是2020年开始的,整个系列拥有文章共11篇,抛开代码计算共有7W多字,每一篇都是我花了不少精力与心思进行打磨. 后续该系列有新增的文章会在此目录同步更新,也是主要方便自 ...

  10. ShardingSphere5入门到实战

    ShardingSphere5入门到实战 第01章 高性能架构模式 互联网业务兴起之后,海量用户加上海量数据的特点,单个数据库服务器已经难以满足业务需要,必须考虑数据库集群的方式来提升性能.高性能数据 ...