当前位置:网站首页>SQL 语言的详解 --- 最最基础的内容!!! 刚学完常复习
SQL 语言的详解 --- 最最基础的内容!!! 刚学完常复习
2022-08-08 10:26:00 【GDM猿】
如果喜欢!!
欢迎关注!!
持续回访! !
CSDN主页:所有博客内容,Java大树逐渐成长
Gitee地址:想看博客代码??点击这里
QQ : 1939639916(有问题可以加好友,备注csdn)
目录
一. SQL 类型
数据类型 | 大小 | 说明 | 对应java类型 |
int | 4字节 | 与java一样 | int |
decima (M,D) | M/D最大值+2 | 双精度 M : 指定长度 D : 小数点位数 | BigDecima |
varchar (SIZE) | SIZE | 可变长度字符串 | String |
datetime | 8字节 | 表示时间范围: 1000-01-01 00:00:00 到9999-12-31 223:59:59 函数now(): 表示当前时间 | java.util.Date java.sql.Timestamp |
二. 数据库操作
- create database 数据库名 ;
- show databases;
- use 数据库名
- drop database 数据库名;
三. 表操作
- create table 表名( 列名1 类型1,列名2 类型2...);
- show tables;
- desc 表名;
- drop table 表名;
四. CURD增删查改
1. 新增
①普通新增
insert into 表名(列1,列2) values (数据1,数据2...);
说明: 表明后面括号可以省略,省略默认全列插入
①复制新增
insert into 表1 (列1,列2..) select 列1,列2 from 表2;
说明: 将表2 的列1 和 列2复制到 表1 中,要求查询的列要与插入的列匹配
2. 删除
delect from 表名 where 限制内容;
说明: 需要配合关键字进行条件限制删除
3. 查询
普通查询 --- 查询有很多点 可以参考下表
select 查询的内容 from 表名
说明: *是通配符,表示所有,可以选择查询全部,也可以查询部分内容
4. 修改
update 表名 set 内容 where 限制内容;
五. 内容表格总结:
比较运算符 | |
>,>=,>, | 可以比较int ,varchar,datetime |
= , != , <> | 相等和不相等和早期不相等 注意只有一个等号,和java双等号不一样 |
<=> | 相等,null安全,null 和null比较结果为true ; =是false |
between A and B | 范围匹配, [A , B] |
in (option1,option2...) | 如果是option中的任意一个,返回true |
is null 和 is not null | 是空,不是空 : 相当于java中的 = null 和 != null |
like | 模糊匹配,&表示多个任意字符 ,_表示一个字符 |
逻辑运算符 | |
and | 相当于java中的 && |
or | 相当于java 中的 || |
not | 相当于java中的 ! |
查询常用 | |
distinct | 去重--针对去重的每一个条件都相同才会去重 select distinct 列名 from 表名 ; |
order by | order by asc 升序 order by desc 降序 |
where | 条件限制 |
limit | 分页查询---select ... from ... where ... order by ... limit S offset N; 从第S条开始查询 , 查询N条 ; offset 可以省略 |
数据库约束 | |
not null | 指示某列不能存储null值 |
unique | 保证这一列每一行必须有唯一的值(不重复) |
default | 规定没有给列赋值 时的默认值 |
primary key | 主键 : not null 和 unique 的结合 确保某列有唯一标识 |
foreign key | 外键 : 保证一个表中的数据匹配另一个表中的值的参照完整性 |
check | 保证列中的值符合指定的条件(mysql5并不支持这个功能,了解即可) |
聚合函数 | |
count | 返回查询到的数据的 数量(计算行数) |
sum | 返回查询到的数据的 总和(必须要是数字) |
avg | 返回查询到的数据的 平均值(数字或者日期) |
max | 返回查询到的数据的 最大值 |
min | 返回查询到的数据的 最小值 |
聚合关键用法 | |
group by | 分组聚合: 根据查询结果,把相同的记录分成一组,再针对每一组进行聚合 例子 : select from max(salary),min(salary) form emp group by role 查询每个role(员工岗位)的最高和最低工资 |
having | 条件限制:对分组结果进行过滤的时候要使用having,必须与 group by配合使用 和where类似,区别是分组前用where 分组后用having |
多表查询(联合查询) | |
join on 或者 , | 内连接:通过笛卡尔积让两个表连接到一起 主要where的限制条件 |
left/right join on | 左外连接: 左侧的表完全显示 右外连接: 右侧的表完全显示 |
子查询( 嵌套查询) | |
in ( ) | 嵌套查询: 是一种嵌套在其他 SQL 查询的 WHERE 子句中的查询。 子查询用于为主查询返回其所需数据,或者对检索数据进行进一步的限制。 |
边栏推荐
猜你喜欢
随机推荐
语音聊天app开发——对用户更具吸引力的设计
列存储数据库是通过什么来定位的呢?
ReentrantLock原理,ReentrantLock和synchronized区别
目标检测中的Bounding Box Regression Loss
CentOS MySQL体系管理
关系数据库是怎么确定关系表中的数据的呢?
典型的图数据库有哪些呀?
键值数据库中可以对值进行查询嘛?
Tensorflow basic concepts
Detailed Explanation of Gradient Vanishing and Gradient Explosion Problems
HMS Core分析服务智能运营6.5.1版本上线
键值数据库中的键是什么类型的对象呢?
PWA 应用 Service Worker 缓存的一些可选策略和使用场景
Apple developer account application process full version
使用.NET简单实现一个Redis的高性能克隆版(三)
市面上有哪些经典的文档数据库呀?
snmptrapd+snmptt接收告警并用py脚本发送
微服务分库分表
文档数据库是用来干什么的呢?
IR(红外遥控)基本原理