首页 > 数据库 >SQL笔记

SQL笔记

时间:2022-11-02 23:44:30浏览次数:36  
标签:varchar -- SQL 笔记 int 字段 表名 主键



-- 创建部门表(dept:部门,dname:名称,location:位置)
create table dept(
deptno int primary key,
dname varchar(9)
location varchar(10)
);

-- 创建员工表
create table employee(
empno int primary key,
name int char(10) not null,
deptno int,
manager int,
hiredate date,
salaryh
);

-- 创建经理表
create table managers(
empno int primary key,
title varchar (16)
);

/*
int 整数类型
char(n) 字符/字符串,固定长度为n
varchar(n) 字符/字符串,可变长度,最大为n
numeric(a,b) 精确数值,总位数为a,小数点后位数b
date 储存年、月、日的值
*/

-- 插入
insert into 表名 values(字段1的值,字段2的值,字段3的值,...)
insert into 表名(字段1,字段2,字段3,...) values(字段1的值,字段2的值,字段3的值,...)

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

-- 查询数据
select * from '表名';
select 字段1,字段2 from 表名;

-- 去重复值
select distinct 字段名 from 表名;

-- 条件过滤
select 字段名 from 表名 where 字段 运算符 值;

/*
运算符
= 等于
<>或!= 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
BETWEEN 在某个范围内
LIKE 搜索匹配的字符串模式
*/

-- and和or 运算符
select 字段名 from 表名 where 字段n 运算符 值n and|or 字段m 运算符 值m;

-- LIKE 搜索匹配的字符串
select 字段名 from 表名 where like 字符串;

-- in 匹配多个值(可加not)
select 字段名 from 表名 where 字段名 in (值1,值2,...);

-- between 指定范围(可加not)
select 字段名 from 表名 where 字段名 between 值1 and 值2;

-- 排序
select 字段名 from 表名 order by 字段1,字段2,... asc|desc;

-- 更新数据
update 表名 set 字段1=值1,字段2=值2,... where 子句;
省略where子句,表中所有的记录都将更新。

-- 删除记录
delete from 表名 where 子句;
省略where子句,表中所有记录都将删除。

-- index 索引
create index 索引名 on 表名(字段1,字段2,..)
提高访问数据的速度。

-- view 视图
create view 视图名 as select语句;

-- null值
null值代表遗漏的未知数据,是未知的或不适用的值的占位符。
是否为null要用is null 或 is not null进行判断。

-- 表的别名
别名只在当前SQL语句中生效,更具有可读性
- 字段名长或可读性差时
- 涉及多个表,而且多个表中有相同的字段名时
- 代表查询函数的结果
select 字段名 as 别名 from 表名 as 别名;
as 可省略。

-- join连接
内连接(inner join):列出两个表中都存在的记录
左连接(left join):即使没有匹配也列出左表中的所有记录
右连接(right join):即使没有匹配也列出右表中的所有记录
select 字段名 from 表1 join 表2 on 子句;

SubQuery子查询
也称嵌套查询,子查询用于为主查询返回其所需数据,或者对检索数据进行进一步的限制。
select 字段1,字段2,...from 表名 where 字段名 操作符(子查询);
 
count函数
count(*)统计表中的记录总数
count(1)统计有数据的为1
count(字段名)统计指定字段不为null的记录数。

max&min函数
max(字段名)返回所选字段的最大值
min(字段名)返回所选字段的最小值

avg&sum函数
avg(字段名)返回所选字段的平均值
sum(字段名)返回所选字段的合计值

group by分组
group by 用于结合统计函数,根据一个或多个列的结果集进行分组。
select 字段名,统计函数 from 表名 where 子句 group by 字段名;

having过滤分组
用于对group by子句产生的组进行过滤
select 字段名,统计函数 from 表名 where子句 group by 字段名 having 统计函数 运算符 值;

 

标签:varchar,--,SQL,笔记,int,字段,表名,主键
From: https://www.cnblogs.com/qingfengguihe/p/16852972.html

相关文章

  • 《SRE实战手册》学习笔记之切入SRE
    转载:https://www.cnblogs.com/imyalost/p/15891000.html这篇文章是《SRE实战手册》学习笔记的第二篇,理解SRE之后,就要找到切入点来落地。 理解SRE中的指标和目标SRE强......
  • Binder学习笔记-2——binder优先级传递
    基于Linux-5.10,有补充Linux-5.15的说明一、优先级相关结构体和成员1.structbinder_prioritystructbinder_priority{//binder_internal.hunsignedintsched_......
  • c primer plus 第一章学习笔记
    1.中央处理单元(cpu)2.随机存取内存(ram)是储存程序和文件的工作区3.使用c语言的7个步骤:1)定义程序的目标:   先自己有思路,思考需要做什么,需要程序做什么,需要哪些信息,......
  • 《SRE实战手册》学习笔记之认识SRE
    转载:https://www.cnblogs.com/imyalost/p/15889223.html前言我自己一直是专注在性能测试和稳定性保障领域的,因此买了很多相关的技术课程学习。极客时间上赵成老师的《SR......
  • PostgreSQL查询引擎——create table xxx(...)基础建表流程
    CREATETABLEtable_name([{column_namedata_type[COLLATEcollation][column_constraint[...]]}[,...]])wherecolumn_constraintis:[CONSTRAINTco......
  • Mysql-sql通用语法-DDL
    ......
  • Pycharm社区版 - sqlite使用
    问题1:社区版没有database窗口怎么解决?https://www.jb51.net/article/255929.htm安装完成DatabaseNavigator后,按如下配置:问题2:创建了table后不会展示字段信息解决......
  • 《Unix/Linux系统编程》第十二章学习笔记
    第十二章  块设备I/O和缓冲区管理12.1块设备I/O缓冲区I/O缓冲的基本原理非常简单。文件系统使用一系列I/O缓冲区作为块设备的缓存内存。当进程试图读取(dev,blk)标识......
  • MYSQL-安装
    1、下载地址https://downloads.mysql.com/archives/community/2、解压3、下图目录下创建一个my.ini文件写入下方内容[mysql]default-character-set=utf8[mysqld]......
  • 论文笔记 - RETRIEVE: Coreset Selection for Efficient and Robust Semi-Supervised
    Motivation虽然半监督学习减少了大量数据标注的成本,但是对计算资源的要求依然很高(无论是在训练中还是超参搜索过程中),因此提出想法:由于计算量主要集中在大量未标注的数据上......