MySQL概念

b5032d1e2ec147288edf36b27d586ce0.gif原理定义概念

 

定义

数据库(Database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库

 

数据库是长期储存在计算机内、有组织的、可共享的数据集合

 

分类:

 

(1)非结构化数据:

 

数据相对来讲没有固定的特点,这种数据非常不便于检索

但是生活中很多都是非结构化数据

(2)半结构化数据:

 

数据之间有着相同的存储结构 属性:值

 

每一条数据的属性可以不同

 

张三:

三号学生

李四:

(3)结构化数据

 

创建在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据

 

数据之间有着相同的存储结构 属性 值

 

同一个结构模型中每一条数据的属性都是相同的,但是值有可能不同,这些数据非常便于存储和管理

 

于是针对这些数据,专门设计一套数据存储的软件,现在我们说的数据库主要用来存储这些数据

 

产品

 

 

sqlserver -->微软

Mysql -->Java-->Oracle收购

免费

Oracle-->Oracle

收费

DB2-->IBM 份额很少

问题

 

我们所有的数据库都放在软件中

我们要获取到数据,就需要使用软件给我们提供的访问数据的接口

最痛苦的就是程序员,我们就要为存储数据学习不同的数据库

于是有人开始倡导:使用统一的操作数据库的方式

SQL

 

sql一般指结构化查询语言(Structured Query Language),简称SQL.

 

全世界所有的结构化数据库都适用

 

分类

 

DQL:Data Query Language 数据查询语言

 

定义数据库的一些组件 表 索引 视图 自增序列...

 

DML:Data Manipulate Language 数据操纵语言

 

数据库的增、删、改、查

 

DDL:Database Definition Language 数据定义语言

 

Create Drop Alter

 

DCL:Data Control Language 数据库控制语言

权限

 

事务的提交:commit

 

事务的回滚:rollback

 

SQL语言属于第四代语言,而java c++ 才属于第三代

 

安装

官网

​ https://www.mysql.com/

 

​ https://dev.mysql.com/downloads/mysql/

 

 

 

 

 

MySQL安装

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

安装路径

 

C:\Program Files\MySQL\MySQL Server 8.0

 

root密码 123456

 

端口 3306

 

数据库已经安装完成并可以使用了,但是现在就是操作不方便

 

进入mysql数据库的命令

 

(1)cmd 进入到doc窗口

 

(2)输入 cd C:\Program Files\MySQL\MySQL Server 8.0\bin

 

(3) mysql -u root -p

 

​ 输入密码:123456

 

(4)show databases;

 

(5)use mysql

 

(6)select host,user from user;

 

安装mysql的访问工具

 

navicat 收费的 ,我们需要进行简单的破解

破解之前必须关闭杀毒软件

数据库连接错误

 

1045 用户名和密码不匹配 用户名root 密码 123456

2003 连接不到mysql服务器,很常见的是因为启动失败

概念

关系模型中常用的概念

 

关系:可以理解为一张二维表,每个关系都具有一个关系名,就是通常说的表名

元组:可以理解为二维表中的一行,在数据库中经常被称为记录

属性:可以理解为二维表中的一列,在数据库中经常被称为字段

域:属性的取值范围,也就是数据库中某一列的取值限制

关键字:一组可以唯一标识元组的属性,数据库中常称为主键,由一个或多个列组成

关系模式:指对关系的描述。其格式为:关系名(属性1,属性2, ... ... ,属性N),在数据库 中成为表结构

scott用例表

emp 员工信息表

字段名 中文 类型 空? 默认值 克其他说明

EMPNO🔑 雇员编号 int(11) 否 主键

ENAME 雇员名称 varchar(255) 是  

JOB 岗位工种 varchar(255) 是  

MGR 上级 int(11) 是  

HIREDATE 雇佣日期 date 是  

SAL 工资 decimal 是  

COMM 奖金|津贴 decimal 是  

DEPTNO 部门编号 int(11) 是 外键,dept表的deptno 关联

dept部门信息表

字段名 中文 类型 空? 默认值 其他说明

DEPTNO🔑 部门编号 int(11) 否 主键

DNAME 部门名称 varchar(255) 是  

LOC 地址 varchar(255) 是  

salgrade薪资区间表

字段名 中文 类型 空? 默认值 其他说明

GRADE 等级 int(11)   

LOSAL 最低薪资 int(11)   

HISAL 最高薪资 int(11)   

二、SQL-DQL语句

格式

 

select 列名*N from 表名 where 查询条件1 and/or 查询条件2 group by 列 Having 分组条 件 Order by 排序

 

规则

 

sql在书写的时候除了查询条件之外,大小写都可以

 

select * from user where uname ='zs';

 

SELECT * FROM USER WHERE UNAME = 'zs';

 

保持大小写风格

 

去公司之后需要看其他员工SQL大小写

 

-- 属于SQL语句的注释

 

所有的查询条件为字符串时,需要用''进行修饰,否则就会当做列名去处理

 

select查询列和别名

 

 -- 查询所有员工信息(*通配符,默认查询所有的列)

 select * from emp;

 -- 查询员工的姓名

 select ename from emp;

 -- 查询员工的薪资 select sal from emp;

 -- 查询员工的姓名和薪资

 select ename , sal from emp;

 select ename sal from emp;

 select ename sal comm from emp;

 -- 查询员工的姓名和薪资,推荐使用单引号

 select ename '员工姓名', sal "薪资" from emp;

 -- 查询到的数据可以直接进行运算

 select ename ,sal ,sal * 12 from emp;

 select ename ,sal ,comm ,(sal+comm) * 12 from emp;  

select的条件查询

 

普通条件查询 = > < != <> >= <=

 

 -- 查询员工编号为7369的员工

 select ename,sal from emp where empno = 7369;

 -- 查询员工姓名叫做

 SMITH select ename,deptno,job from emp where ename = 'SMITH';

 select ename,deptno,job from emp where ename = 'smith';

 -- 查询薪资大于2000的员工姓名

 select ename from emp where sal > 2000;

 -- 查询工作为SALESMAN

 select * from emp where job = 'SALESMAN';

 -- 查询部门在20的员工

 select * from emp where deptno = 20;

 -- 查询薪资不等于2000的员工

 select * from emp where sal != 2000;

 select * from emp where sal != 2000; 

in 在某个范围中查找

 

 -- 查询 员工编号 为 7369 7788 7881的员工信息

 select * from emp where empno in (7369,7788,7881);

 -- 查询 员工编号除了 7369 7788 7881之外的所有员工信息

 select * from emp where empno not in(7369,7788,7881);

 -- 查询除了10,20部门之外的所有员工

 select * from emp where deptno not in (10,20);

null值查询

 

 -- 查询不发放津贴的员工信息

 select * from emp where comm is null;

 -- 查询发放津贴的员工信息

 select * from emp where comm is not null; 

范围比较

 

 -- 查询薪资范围在1000-4000之间的员工信息 [1000.4000]

 select * from emp where sal between 1000 and 4000;

模糊查询 % _

 

-- 查询名字中有S的员工

select * from emp where ename like '%S%';

-- 查询名字最后一个字符是S

select * from emp where ename like '%S';

-- 查询名字第一个字符是S

select * from emp where ename like 'S%';

-- 查询名字第二个字符是A

select * from emp where ename like '_A%';

-- 查询名字中有%的员工

select * from emp where ename like '%\%%';

-- 查询名字第8 188个字符是A,这是需要一些特殊的手段-》函数

-- % 代表任意字符的任意次数 _任意字符的一次

多条件联合查询 and or

 

(1)and 必须前后同时满足条件才能返回结果

 

(2)or前后有一个满足条件就能返回结果

 

-- 查询在20部门并且薪资大于2000的员工

select * from emp where deptno =20 and sal >2000;

-- 查询在20部门或者薪资大于2000的员工

select * from emp where deptno = 20 or sal >2000;

--查询不在20部门并且薪资小于2000的员工

select * from emp where deptno <> 20 and sal <2000;

select结果排序 order by

 

使用asc是升序排列(默认),使用desc可以降序排序

 

单列

 

-- 按照薪资进行排序(默认升序)

select * from emp order by sal;

-- 按照薪资进行排序(降序)

select * from emp order by sal desc;

-- 按照薪资进行排序(升序)

select * from emp order by sal asc;

-- 按照津贴进行排序(null排在最前面)

select * from emp order by comm;

多列

 

-- 多个排序的列

select * from emp order by deptno,sal;

-- 多个排序的列(部门升序 薪资降序)

select * from emp order by deptno,sal desc;

-- 多个排序的列(工作,薪资)

select * from emp order by job,sal;

select结果分页

 

-- 每次查询前N行

SELECT

 * 

FROM

 emp 

 LIMIT 4;

 

-- 查询第N页,每页显示M个

select * from emp limit 0,3;

select * from emp

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

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

相关文章

Go基础之变量和常量

Go基础之变量和常量 文章目录 Go基础之变量和常量一. 标识符、关键字、内置类型和函数1.1 标识符1.2 关键字1.3 保留字1.4 内置类型1.4.1 值类型&#xff1a;1.4.2 引用类型&#xff1a;(指针类型)1.5 内置函数1.6 内置接口error 二.Go变量命名规范2.1 采用驼峰体命名2.2 简单、…

汽车驾驶任务的隐马尔可夫模型识别方法研究

汽车驾驶任务的隐马尔可夫模型识别方法研究 一、Introduction 自动驾驶汽车经过了几十年的发展&#xff0c;是目前国内外汽车行业中的重要研究方向。自 动驾驶汽车的智能化需要车辆能够有类“人”的行为&#xff0c;在决策策略上可以满足人的心理 需求。人在驾驶过程中&#…

计算机专业毕业设计项目推荐10-饮食搭配平台(Go+微信小程序+Mysql)

饮食搭配平台&#xff08;Go微信小程序Mysql&#xff09; **介绍****系统总体开发情况-功能模块****各部分模块实现** 介绍 本系列(后期可能博主会统一为专栏)博文献给即将毕业的计算机专业同学们,因为博主自身本科和硕士也是科班出生,所以也比较了解计算机专业的毕业设计流程…

什么是TF-A项目的长期支持?

安全之安全(security)博客目录导读 问题&#xff1a;Trusted Firmware-A社区每六个月发布一次代码。然而&#xff0c;对于生产中的平台&#xff0c;该策略在维护、重要软件修复的向后兼容性、获得最新的安全缓解措施和整体产品生命周期管理方面不具备可扩展性。 开源软件项目&…

【CMU15-445 Part-15】Query Planning Optimization II

Part15-Query Planning & Optimization II Selection Statistics 维护每张表中的基本主要信息也就是tuple数量 N R N_R NR​以及每个属性中不同值的数量 V ( A , R ) V(A,R) V(A,R)&#xff0c; N R N_R NR​关系R中的元组数量&#xff0c;单独维护&#xff0c;不能用pag…

【网络编程】UDP数据报套接字编程和TCP流套接字编程

文章目录 1. 网络编程基础1.1 为什么需要网络编程&#xff1f;1.2 网络编程是什么&#xff1f;1.3 概念 2. Socket套接字3. UDP数据报套接字编程3.1 DatagramSocket API3.2 DatagramPacket API3.3 InetSocketAddress API 4. UDP构建服务端客户端&#xff08;一发一收&#xff0…

Java基于SSM+Vue的平时成绩管理系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用Vue技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

Pytorch之shuffleNet图像分类

&#x1f482; 个人主页:风间琉璃&#x1f91f; 版权: 本文由【风间琉璃】原创、在CSDN首发、需要转载请联系博主&#x1f4ac; 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦 前言 ShuffleNet是Face&#xff08;旷视&#xff09;在2017年发布的一个高效率…

el-date-picker增加默认值 修改样式

预期效果 默认是这样的 但希望是直接有一个默认的当天日期&#xff0c;并且字体颜色啥的样式也要修改&#xff08;在这里假设今天是2023/10/6 功能实现 踩了坑挺多坑的&#xff0c;特此记录 官方文档 按照官方的说明&#xff0c;给v-model绑定一个字符串就可以了 在j…

【MySQL】基本查询 (一)

文章目录 一. 基础查询二. where条件子句三. NULL的比较结束语 操作如下表 //创建表结构 mysql> create table exam_result(-> id int unsigned primary key auto_increment,-> name varchar(20) not null comment 同学姓名,-> chinese float default 0.0 comment…

基于SSM的大学生就业信息管理系统设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

《Spring Boot入门》

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

PyTorch入门之【AlexNet】

参考文献&#xff1a;https://www.bilibili.com/video/BV1DP411C7Bw/?spm_id_from333.999.0.0&vd_source98d31d5c9db8c0021988f2c2c25a9620 AlexNet 是一个经典的卷积神经网络模型&#xff0c;用于图像分类任务。 目录 大纲dataloadermodeltraintest 大纲 各个文件的作用&…

软件设计师_数据结构与算法基础_学习笔记

文章目录 6.1 数组与矩阵6.1.1 数组6.1.2 稀疏矩阵 6.2 线性表6.2.1 数据结构的定义6.2.2 顺序表与链表6.2.2.1 定义6.2.2.2 链表的操作 6.2.3 顺序存储和链式存储的对比6.2.4 队列、循环队列、栈6.2.4.2 循环队列队空与队满条件6.2.4.3 出入后不可能出现的序列练习 6.2.5 串6.…

Hive【Hive(六)窗口函数】

窗口函数&#xff08;window functions&#xff09; 概述 定义 窗口函数能够为每行数据划分 一个窗口&#xff0c;然后对窗口范围内的数据进行计算&#xff0c;最后将计算结果返回给该行数据。 语法 窗口函数的语法主要包括 窗口 和 函数 两个部分。其中窗口用于定义计算范围…

【计算机网络面试题(62道)】

文章目录 计算机网络面试题&#xff08;62道&#xff09;基础1.**说下计算机网络体系结构2.说一下每一层对应的网络协议有哪些&#xff1f;3.那么数据在各层之间是怎么传输的呢&#xff1f; 网络综合4.**从浏览器地址栏输入 url 到显示主页的过程&#xff1f;5.说说 DNS 的解析…

LabVIEW工业虚拟仪器的标准化实施

LabVIEW工业虚拟仪器的标准化实施 创建计算机化的测试和测量系统&#xff0c;从计算机桌面控制外部测量硬件设备&#xff0c;以及在计算机屏幕上显示的类似仪器的面板上查看来自外部设备的测试或测量数据&#xff0c;所有这些都需要虚拟仪器系统软件。该软件允许用户执行所有这…

VL53L5CX驱动开发(1)----驱动TOF进行区域检测

VL53L5CX驱动开发----1.驱动TOF进行区域检测 闪烁定义视频教学样品申请源码下载主要特点硬件准备技术规格系统框图应用示意图区域映射生成STM32CUBEMX选择MCU 串口配置IIC配置X-CUBE-TOF1串口重定向代码配置Tera Term配置演示结果 闪烁定义 VL53L5CX是一款先进的飞行感应&…

总结二:linux面经

文章目录 1、 Linux中查看进程运行状态的指令、查看内存使用情况的指令、tar解压文件的参数。2、文件权限怎么修改&#xff1f;3、说说常用的Linux命令&#xff1f;4、说说如何以root权限运行某个程序&#xff1f;5、 说说软链接和硬链接的区别&#xff1f;6、说说静态库和动态…

【目标检测】——PE-YOLO精读

yolo&#xff0c;暗光目标检测 论文&#xff1a;PE-YOLO 1. 简介 卷积神经网络&#xff08;CNNs&#xff09;在近年来如何推动了物体检测的发展。许多检测器已经被提出&#xff0c;而且在许多基准数据集上的性能正在不断提高。然而&#xff0c;大多数现有的检测器都是在正常条…