MySql基础知识及数据查询

news2024/12/26 20:42:30

目录

第一章 数据库概述

1.为什么要学习数据库?

2.数据库的相关概念

3.ORM(Object Relational Mapping)思想  

4.表与表的记录之间存在哪些关联关系  

第二章 基本的SELECT语句

1.SQL的分类  

2.  SQL基本规则  

3.导入现有的数据表、表的数据

4.最基本的SELECT语句  

第三章 运算符

1.算术运算符

2.比较运算符

3.逻辑运算符

4.位运算符

第四章 排序与分页

1.基本排序

2.使用order by对数据排序

3.分页

4.where、order by、limit声明顺序

5.mysql新特性:offset

6.注意


第一章 数据库概述

1.为什么要学习数据库?


1.为了将内存中的数据持久化
        持久化:把数据保存到可掉电式存储设备中以供之后使用。数据持久化意味着将内存中的数据保存到硬盘中加以固化
2.为何使用数据库来存储
        原因:数据库中可存储数据类型多样化;容易操作其中存储的数据;可以存储的数据量更大  


2.数据库的相关概念


1.DB-DataBase

        数据库;本质是一个文件系统
2.DBMS-Database Management System

        数据库管理系统;一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制
3.SQL:Structured Query Language

        结构化查询语言;专门用来与数据库通信的语言
4.关系型数据库和非关系型数据库
关系型:存储的复杂数据结构存在一定的关系模型
非关系型:
        键值型数据库:Redis
        文档型数据库:MongoDB
        搜索引擎数据库:Elasticsearch
        列式数据库:HBase
        图型数据库:InfoGrid  


3.ORM(Object Relational Mapping)思想  


E-R模型:entity- relationship
E-R模型三个主要概念:实体集、属性、联系集
        1.数据库中的一个表- Java中的一个类
        2.表中的一条数据-类中的一个对象
        3.表中的一列-类中的一个对象  


4.表与表的记录之间存在哪些关联关系  

        一对一关系、一对多关系、多对多关系,自关联

第二章 基本的SELECT语句

1.SQL的分类  


1.DDL:数据定义语言
CREATE、ALTER、DROP、RENAME、TRUNCATE
2.DML:数据操作语言
INSERT、DELETE、UPDATE、SELECT
3.DCL:数据控制语言
COMMIT、ROLLBACK、SAVEPOINT、GRANT、REVOKE

2.  SQL基本规则  

1.sql可以写在一行或者多行
2.每条命令以 ;或 \g 或 \G 结束(这两个表示转置)
3.关键字无法缩写或分行
4.标点符号:
        字符串、时间类型都需要使用单引号
        列的别名使用双引号
5.建议关键字变量为大写,表名数据库名小写
6.SQL注释
        #单行注释、单行注释:

        - -(后面必须有空格)

        /**/多行注释  

3.导入现有的数据表、表的数据

1.source  文件的全路径名
举例:命令行中输入:source d:\atguigudb.sql;
2.基于具体的图形化界面工具导入

4.最基本的SELECT语句  


1.select 字段1,字段2… from …表名
2.*:表中所有的字段
3.列的别名:AS-全称:alias(别名)
三种方法

select emp_id empId,
last_name AS lname,
department_id "部门ID"
from emps;

4.去除重复行:DISTINCT
select distinct 字段…from 表名…

SELECT DISTINCT department_id
From employees;

5.空值参与运算:null不等同于0,‘’;空值参与运算:结果也一定为空
6.着重号:1左边的符号;当表名与关键字重复时加入着重号
7.查询常数:字段里写常数即可

SELECT 'XXX' , salary 
FROM employees;


8.显示表结构:describe 表名;显示表中字段的详细信息

DESCRIBE table;


9.过滤数据:字符串用单引号执行
SELECT字段…FROM表名…WHERE过滤条件

SELECT last_name,manager_id
FROM employees
WHERE employee_id = 176;

第三章 运算符

1.算术运算符

1.加 +
sql中+没有连接作用,只表示加法运算;字符串会转换为数值,不能转换为数值就为0

DUAL:一个伪表

#结果:1001
SELECT 100 + 1
from DUAL;

SELECT 100 + '1'
from DUAL;

#字符串转换为数值
SELECT 100 + 'a'
from DUAL;

#null参与运算结果为null
SELECT 100 + NULL
from DUAL;

2.减 -
3.乘 *
4.除 / ;div
        一般除不尽,结果都是浮点型;

        分母为0结果为null
5.余 %;mod
        结果的符号和被模数有关

2.比较运算符

1.比较为真返回1;比较为假返回0;其他返回false
2.比较运算符:

        等于:= ;<=>:安全等于

        不等于: <> != :这两个都是null
        大于/小于:< <= >= >
        若都是都是字符串,按照ansi比较规则进行比较
3.只要有null参与比较,结果就为null
4.ISNULL为函数;IS NULL为比较运算符

SELECT salary
FROM emps
WHERE pct IS NULL;

SELECT salary
FROM emps
WHERE ISNULL(pct) 

6.between条件一 and条件二
条件一要小于条件二

闭区间

SELECT emp_id
FROM emps
WHERE salary BETWEEN 6000 AND 8000

7.LIKE:模糊查询
% :代表不确定个数的字符
_ :代表一个不确定的字符

SELECT last_name
From emps
WHERE last_name LIKE '%a%'

SELECT last_name
From emps
WHERE last_name LIKE '_a%'


8.REGEXP 、 RLIKE:正则表达式

SELECT 'start' REGEXP 'ar'
FROM DUAL;

3.逻辑运算符

 注意:and的优先级是高于or的

4.位运算符

一定范围内,每左移一位,乘以2;每右移一位,除以2

 

第四章 排序与分页

1.基本排序

        如果没有使用排序操作,默认情况下查询的数据是按照添加数据的顺序显示

2.使用order by对数据排序

1.升序:ASC(ascend)

SELECT emp_id 
FROM emps
ORDER BY salary ASC;

2.降序:DESC(descend)

SELECT emp_id 
FROM emps
ORDER BY salary DESC;

3.order by后没有指明排序方式,则升序

4.列的别名只能在order by中使用

SELECT emp_id empId
FROM emps
ORDER BY empId;

5.二级排序

SELECT emp_id 
FROM emps
ORDER BY salary DESC,dept_id ASC;

6.where需要声明在from后面,order by前

3.分页

1.在mysql中使用limit实现数据的分页显示limit 数据偏移量 条目数

2.每页显示pagesize条记录,此时显示第pagenumber页:公式:limit (pagenumber-1)*pagesize,pagesize

#每页显示20条记录,此时显示第2页
SELECT emp_id,last_name
From emps
LIMIT 20,20;

4.where、order by、limit声明顺序

SELECT emp_id
FROM emps
WHERE salary > 100
ORDER BY salary DESC
LiMIT 10,10;

5.mysql新特性:offset

#表中100条数据,显示第32与第33条数据
SELECT emp_id
FROM emps
LIMIT 31,2;

#使用OFFSET来实现
SELECT emp_id
FROM emps
LIMIT 2 OFFSET 31;

6.注意

        LIMIT只能在MYSQL、SQLite、PGSQL中使用;

        在SQL SErver、DB2、Oracle中无法使用

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

全网最牛,打通接口自动化测试框架详细,一篇足够

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 接口自动化测试开…

原型设计用得最多的是PS吗?该如何画原型?

在产品开发的前期工作中&#xff0c;产品经理或设计师通常需要进行原型设计工作&#xff0c;创建一个可交互和可视化的原型&#xff0c;以更准确地表达他们的设计构思和想法&#xff0c;并为项目顺利递交给开发人员做好准备。进行原型设计时&#xff0c;使用设计工具来画原型图…

计算机常识

文章目录 1. 计算机存储单位换算2. 为什么我买的256内存&#xff0c;实际不足256内存&#xff1f;3. 32位和64位操作系统支持内存 1. 计算机存储单位换算 1Byte 8bit 1KiB 1024 Byte 1MiB 1024 KiB 1048576 Byte 1GiB 1024 MiB 1TiB 1024 GiB 2. 为什么我买的256内存&a…

2023.07.04 homework

到高中前&#xff0c;大多数都还算可以&#xff0c;大多数娃娃主要还是兴趣和学习细节问题

SciencePub学术 | 计算机综合类重点SCIE征稿中

SciencePub学术 刊源推荐: 计算机综合类重点SCI&EI征稿中&#xff01;进展顺利、极速录用。信息如下&#xff0c;录满为止&#xff1a; 一、期刊概况&#xff1a; 计算机综合重点SCIE 【期刊简介】IF&#xff1a;1.0-1.5&#xff0c;JCR4区&#xff0c;中科院4区&#xf…

Neighborhood Contrastive Learning for Novel Class Discovery (CVPR 2021)

Neighborhood Contrastive Learning for Novel Class Discovery (CVPR 2021) 摘要 在本文中&#xff0c;我们解决了新类发现(NCD)的问题&#xff0c;即给定一个具有已知类的有标签数据集&#xff0c;在一组未标记的样本中揭示新的类。我们利用ncd的特性构建了一个新的框架&am…

setContentView DecorView Activity生命周期

DecorView DecorView是Android中的一个重要类&#xff0c;它是View系统的根View&#xff0c;用于承载应用程序的所有视图层级。下面是一些关于DecorView的信息和相关链接&#xff1a; 1、DecorView是Android系统中的顶级View&#xff0c;它是Window的根视图&#xff0c;负责显…

排序算法解析

常见的排序算法包括以下几种&#xff1a; 冒泡排序&#xff08;Bubble Sort&#xff09;&#xff1a;重复比较相邻的两个元素&#xff0c;将较大的元素逐渐向后移动&#xff0c;直到整个序列有序。 选择排序&#xff08;Selection Sort&#xff09;&#xff1a;从未排序部分选…

Nginx负载均衡、虚拟主机

目录 常用的6种负载均衡算法 轮询算法(round robin)默认 权重(weight) 响应时间(fair) 连接数(least_conn) IP_hash url_hash(第三方) 开发优选&#xff1a;一致性哈希 安装步骤&#xff1a; 虚拟主机 常用的6种负载均衡算法 轮询算法(round robin)默认 轮询方式&a…

MMaction2 使用记录1——训练及测试

目录 训练及测试 Training 在你的 PC上训练 Training 多 GPUs Test 训练及测试 Training 在你的 PC上训练 你可以使用tools/train.py在一台有CPU和可选GPU的机器上训练一个模型。 下面是该脚本的完整用法&#xff1a; python tools/train.py ${CONFIG_FILE} [ARGS] 默…

基于Java出租车管理系统设计实现(源码+lw+部署文档+讲解等)

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

2023RPA最佳实践案例之:实在智能助力杭州银行打造数字员工智能辅助平台

导语&#xff1a; 近期&#xff0c;实在智能荣登"2023爱分析RPA最佳实践案例"榜单。此次评选活动旨在表彰在RPA领域具备实践领先性、案例创新性、应用成熟度、价值创造等优点的企业和厂商&#xff0c;实在智能以其为杭州银行打造的RPA数字员工解决方案作为目前 RPA …

一天吃透操作系统面试八股文

内容摘自我的学习网站&#xff1a;topjavaer.cn 操作系统的四个特性&#xff1f; 并发&#xff1a;同一段时间内多个程序执行&#xff08;与并行区分&#xff0c;并行指的是同一时刻有多个事件&#xff0c;多处理器系统可以使程序并行执行&#xff09; 共享&#xff1a;系统中…

回归预测 | MATLAB实现PSO-DNN粒子群算法优化深度神经网络的数据多输入单输出回归预测

回归预测 | MATLAB实现PSO-DNN粒子群算法优化深度神经网络的数据多输入单输出回归预测 目录 回归预测 | MATLAB实现PSO-DNN粒子群算法优化深度神经网络的数据多输入单输出回归预测效果一览基本介绍模型描述程序设计参考资料 效果一览 基本介绍 回归预测 | MATLAB实现PSO-DNN粒子…

一文教你搞懂性能测试常见指标

目录 1. 性能指标分类 2. 系统性能指标 2.1 响应时间 2.2 系统处理能力 2.3 吞吐量 2.4 并发用户数 2.5 错误率 3. 资源性能指标 3.1 CPU 3.2 内存 3.3 磁盘吐吞量 3.4 网络吐吞量 4. 中间件指标 5. 数据库指标 6. 稳定性指标 7. 可扩展性指标 8. 可靠性…

谷歌浏览器Crx插件库-https://crxdl.com/

地址&#xff1a;https://crxdl.com/ postman插件&#xff1a;talend json插件库&#xff1a;csdn插件 抓取视频&#xff1a;猫抓

C++primer(第五版)第十章(泛型算法)

10.1概述 大多数算法定义在头文件algorithm中.另外头文件numeric中定义了一组数值泛型算法. 一般情况下算法不直接操作容器,而是通过迭代器来对元素进行处理,因此迭代器令算法不依赖容器,但算法依赖于元素类型的操作. 泛型算法本身不会执行容器的操作,它们只会运行于迭代器之…

XD教程笔记

一、快捷键 选择&#xff1a; V 粘贴外观&#xff1a; ctrl alt V 矩形&#xff1a; R 组件&#xff1a; ctrl K 椭圆&#xff1a; E 向某一方向对齐&#xff1a; ctrl shift 方向键 钢笔&#xff1a; P 100%显示&#xff1a; ctrl 1 文本&#xff1a; T 锁定&a…

SAP ABAP 查表数据接口

查 SAP 表数据的接口 1.使用范例&#xff1a; 字段注释QUERY_TABLE查询的表名FIELDNAME查询的字段ROWCOUNT查询的行数ROWCOUNT查询的行数OPTIONS查询条件FIELDS查询字段的释义和字符长度DATA查询的数据TOTALROWS符合条件数据的行数 FIELDS 结果&#xff1a; 外围系统接口调用…

图像像素操作与二值化

目录 1、图像像素比较 1.1 比较函数 1.2 图像最大值最小值寻找 2、图像像素逻辑操作 3、图像二值化 3.1 固定阈值二值化 3.2 自适应阈值二值化 1、图像像素比较 1.1 比较函数 1.2 图像最大值最小值寻找 Mat img imread("F:/testMap/bijiao.png");Mat white i…