Mysql基础

SQL概述

启动停止数据库

客户端连接

在系统中找到这个打开后输入密码即可

第二种办法就是配置环境变量

输入这串指令密码即可

数据库的数据模型,客户端操作,服务端会启动DBMS也就是数据管理系统操作多个数据库,单个数据库又能操作多张表,表上的就是数据

关系型数据库

可以有关系的表格就是关系型数据库

SQL

sql的通用语法

分类

DDL

显示数据库

创建数据库

使用数据库

查看数据库

删除数据库

创建表

查询表结构

查询指定表

DML

插入可以指定字段插入也可以逗号隔开多条插入

更改就这样写记住就行

删除某个符合条件和删除整个表

DQL

基础查询,指定字段,全部,查询性别,去重

查询id小于等于11的信息

查询年龄不为22的信息两个都可以

查询为空和非空的信息

查询某个数值范围的对应信息三种写法

查询某个性别是女id小于15的信息

查询id是两个及以上的信息写法

查询是三位数就是三个下划线

查询e结尾的名字

统计某个值的个数,null不被统计

求和女生id

计算平均值,最大值,最小值

统计分组就是男女分别数量

统计平均id分组

查询id小于15的并且以性别分组展示,过滤条件是数量大于等于2的

按照id升序或者降序,升序可以不加asc;

以年龄升序,年龄相同id降序

分页查询,第一页前三行的数据

函数

字符串函数

分别是拼接,转小字母,转大字母,左拼接,右拼接

去除两边空格,返回1到五索引对应元素

数值函数

向上取整,向下取整,取模,随机数,保留两位

日期函数

多表查询

多表关系

多表查询

内连接

查询每一个员工的姓名,和关联部门名称(隐式内连接实现)

显示内连接,inner可省略,写法和隐式内连接区别不大

外连接

左外连接,显示emp整个内容和dept的name,要用左外连接,outer可有可无

右外连接,和左外连接区分就好

自连接

查询员工对应的领导

查询出所有员工即使没有领导也显示出来要用左外连接

联合查询,年龄小于50且薪资低于5000的查出来,两个单表中间加个union all足矣,去掉all是去重

子查询

标量子查询,查询销售部员工信息,把销售部查询的id作为返回值条件查询

查询方东白之后入职的员工信息

列子查询,查询销售部和市场部的员工信息

复制代码
select * from emp where salary> all(select salary from emp where dept_id=(select id from dept where name='财务部'));

查询所有比财务部工资高的员工信息,all换成some就是比任意财务部员工工资高

行子查询,查询薪资和领导相同于张无忌的员工信息

查询与鹿杖客,宋远桥薪资和职位相同的员工信息

复制代码
select e.*,d.* from (select * from emp where entrydate> '2006-01-01') e left join dept d on e.dept_id=d.id;

查询入职日期是20060101的员工信息以及入职信息

相关推荐
2401_8949155310 分钟前
GEO 定位优化源码搭建常见报错排查:数据库、伪静态、接口调试
java·数据库·网络协议·tcp/ip·spring·unity
西凉的悲伤19 分钟前
Java 基于 MySQL 行锁实现高并发业务序列号生成器
java·mysql·springboot·序列号生成
奇树谦35 分钟前
《现代 Key-Value 数据库原理:从 B+Tree 到 LSM Tree》-第三篇:LMDB 深度解析二
数据库·oracle·lsm-tree
提笔了无痕36 分钟前
Agent 上下文管理详解、Context设计与构建
数据库·oracle·agent·context
用户71522873814143 分钟前
数据库字段冗余,真的只是用空间换时间吗?
数据库
沉下去,苦磨练!1 小时前
Human‑in‑the‑Loop
数据库·oracle
吠品1 小时前
Java中实现拓扑排序的两种方式:Kahn算法和DFS
java·数据库·notepad++
轻揉小乔 真新人1 小时前
数据库架构的升级和变更
数据库·数据库架构
ruleslol1 小时前
InnoDB 执行 UPDATE 时的完整操作
mysql
禁默1 小时前
信创实战:Python + SQLAlchemy 接入金仓数据库(从驱动安装到完整 CRUD)
开发语言·数据库·python