数据库和sql语句

news2024/11/15 15:29:23

一、数据库和sql语句

(一)数据库的相关概念

1、数据:数据信息。据:属性,对一系列对象的具体属性的描述的集合

2、数据库:用来组织(表示各个数据之间是有关联的,按照规则组织起来)、存储和管理(对数据的增删改查)数据的仓库

3、数据库是企业的重要信息资产,在使用数据库时,要注意(查和增无所谓,删和改要谨慎

4、数据库管理系统(DBMS):实现对数据的有效组织、管理和存取的系统软件mysql

(二)数据库的组成结构

1、数据库是一个人机系统,由硬件、OS、数据库、DBMS和数据库的用户共同组成

2、用户是通过DBMS(各种数据库软件)来对数据库进行操作

(三)数据库的分类

1、关系型数据库:mysql

2、非关系型数据库:redis、es

(四)关系型数据库:存储数据的结构是一个二维表格

1、表:行、列

(1)行:记录、用来描述一个对象的信息
(2)列:字段,用来描述对象的一个属性

2、类型:mysql(中小类型的数据并发请求、免费)、oracle(大数据量使用)、sql-server(已淘汰)、mariaDB、postgresql

(1)关系型数据库当中,表里面的数据是关联的,表和表之间的数据也是关联起来的

(2)重点:多表关联、最多可以关联几张表?(最多三张表、再多会降低查询数据的性能

(五)非关系型数据库:redis

1、保存数据不是一张表格,使用键值对来保存数据(key----value)例:yyy=12

2、类型

(1)redis:缓存性的数据库
(2)es:索引型数据库
(3)MongDB:文档型数据库

3、关系型数据库和非关系型数据库的区别——查询速度上

(1)关系型数据查询速度更慢一些
(2)非关系型数据库可以支持高并发读写,对海量数据依旧保持着高效率的存储和访问

二、mysql数据库的存储引擎

(一)版本

1、5.5之前:MYISAM,不支持事务和外键的存储引擎,适用于读得多,写得好

2、5.6之后,默认的存储引擎(Innodb),可以支持事务、外键,行级锁定的存储引擎,支持高并发性能的应用

(二)事务

1、含义

(1)在数据库中,一个或者多个操作组成的数据操作的序列,这些操作要么全部成功,要么失败一个就全部不执行,确保数据一致性和完整性

2、事务的特点:确保数据库的状态始终保持一致性,确保数据的完整和一致(核心)

(1)原子性。数据库最小的工作单位,要么全部执行成功,要么全部不执行,只要有一个操作失败,整个执行的序列都会被回滚,完成的操作也会被撤销

(2)一致性。事务执行前后,数据库的完整性约束不能被破坏,只有在满足所有的约束条件情况下,事务才能被提交

(3)隔离性。事务的执行是相互隔离,一个事务的执行不能受到其他执行事务的干扰,并发事务之间相互隔离,防止数据不一致的情况发生

(4)持久性。事务一旦提交,他所做的所有修改会被永久的保存在数据库中,既是系统崩溃,提交的数据也不会丢失

(三)mysql的名词

database

数据库

table

row

column

index

索引

view

视图

procedure

存储过程

trigger

触发器

user

用户

privilege

权限

(四)mysql语句规范

1、sql语句不区分大小写,但建议大写

2、表名严格区分大小写

3、sql语句可以单行也可以多行书写,但是默认都以;结尾

4、关键词不能跨行或者简写

5、子语句通常位于多行,便于编辑,提高可读性

(五)mysql的命名规则

1、必须以字母开头,后面可以包含数据,

2、特殊符号:# _ $

3、不要使用mysql的保留字做表名或者库名,例如:table、select

4、数据库名、表名、用户名严格区分大小写

(六)mysql的字符类型

int

4个字节,用来存储整数,范围很大

char(字符串类型)

固定长度的字符串类型,用来存储固定长度的字符串

varchar(字符串类型)

可变长度的字符串类型,存储可变长度的字符串(不可以无限制的随便写,要根据类型的长度)

‘ ‘ ——char固定占4个字节,二varchar占1个字节

‘ab’——char占4个字节,varchar占3个字节

1、char:无论是否定义值,都会占用固定长度的字节大小

2、varchar:在保存时,例如固定14,实际长度占5个,最后占用长度为6个字节(5个+1个隐藏符)

3、varchar比char节省磁盘空间,但是varchar读写速度比char慢

字符窜类型,一定要用单引号引起

float(m,d)

单精度浮点数,存储浮点数,m表示总位数,d表示小数位

double(m,d)

双精度浮点数,存储浮点数,m表示总位数,d表示小数位

text

用于存储大文本数据,例如:文档,长字符串

image

二进制存储图像,图片、多媒体

decimal(5,2)

用于存储固定精度的小数,5表示总位数,2表示小数位

date

存储日期:yyyy-mm-dd

datetime

存储日期:yyyy-mm-dd HH:MM:SS(时:分:秒)

timestamp

和datetime的格式一样,可以自动更新为当前的时间戳

三、sql语句

(一)sql语句的分类(重点)

1、DDL:数据定义语言,用于创建数据库的对象,例如:创建库、表、索引

(1)create:创建
(2)drop:删除
(3)alter:修改

2、DML:数据操作语言,对表中的数据进行管理

(1)update:更新
(2)insert:添加
(3)delete:删除(对表里的内容进行删除操作)

3、DQL:查询数据记录(使用最多)——重点

(1)select:选择

4、DCL:数据控制语言,设置或者更改数据库用户或者用户的权限

(1)grant:赋予权限
(2)revoke:取消权限

5、TCL:事务控制语句,管理数据库当中的事务

(1)commit:确认提交事务,一旦提交之后,就无法修改
(2)rollback:事务提交之后无法回滚,只有在commit之前才可以rollback
(3)savepoint:保存点,可以回滚
null和空格的区别:
null:什么都没有,对象没有任何的描述信息
空格:也是字符,也是描述信息

(二)sql语句的实操

1、DDL:数据定义语言:create(创建)、drop(删除)、alter(修改)

(1)新建库、删除库

(2)新建表、删除表

(3)修改表名

(4)修改表的结构

(5)修改列名

(6)删除列

(7)修改列的数据类型

2、DML:数据操作语言,对表中的数据进行管理:update(更新)、insert(添加)、delete

(1)往表中添加数据

(2)update更新

①修改密码(给密码加密)

②添加内容

(3)delete删除

3、DQL:查询数据记录(使用最多):select

(1)指定条件查询

(2)去重查询

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

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

相关文章

【QT】信号和槽能自动传递参数

一、前置示例代码 main.cpp #include "widget.h"#include <QApplication>int main(int argc, char *argv[]) {QApplication a(argc, argv); // 应用程序对象a&#xff0c;在Qt中&#xff0c;应用程序对象&#xff0c;有且仅有一个。Widget w; // 窗口对…

2023年09月 Python(一级)真题解析#中国电子学会#全国青少年软件编程等级考试

Python等级考试&#xff08;1~6级&#xff09;全部真题・点这里 一、单选题&#xff08;共25题&#xff0c;每题2分&#xff0c;共50分&#xff09; 第1题 下列 Python 语句能够正确输出"学而时习之"五个字的是&#xff1f;&#xff08; &#xff09; A: print “…

springboot项目打jar包,运行时提示jar中没有主清单属性

可能性一&#xff1a; 没有在pom中加入maven插件 在pom中加入下方代码即可。 <build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</ve…

电脑定时关机

电脑定时关机 1.右键 管理 2. 3. 4. 5. shutdown.exe/s /f /t 06.点击完成就好了 7.这里面可以 看到定时任务和启动 右键有运行 结束 禁用

【Java 进阶篇】Java Request 继承体系详解

在Java编程中&#xff0c;Request&#xff08;请求&#xff09;是一个常见的概念&#xff0c;特别是在Web开发中。Request通常用于获取来自客户端的信息&#xff0c;以便服务器能够根据客户端的需求提供相应的响应。在Java中&#xff0c;Request通常涉及到一系列类和接口&#…

【Linux】解决缓存锁问题:无法获得锁 /var/lib/dpkg/lock-frontend

今天在运行apt-get update更新软件包后&#xff0c;突然发现安装新的软件出现了这个报错&#xff1a;正在等待缓存锁&#xff1a;无法获得锁 /var/lib/dpkg/lock-frontend。锁正由进程 1855&#xff08;unattended-upgr&#xff09;持有。如图。 这个错误通常是由于其他进程正在…

3DMAX金属屋顶墙面铺设插件使用方法

3DMAX金属屋顶墙面铺设插件教程 3DMAX金属屋顶墙面铺设插件&#xff0c;一键生成金属板屋顶、金属外墙面板&#xff0c;是一款非常实用的建筑建模插件。 【适用版本】 3dMax7或更新版本 【使用方法】 1.启动3dMax软件&#xff0c;打开&#xff08;或创建&#xff09;场景文件…

《持续交付:发布可靠软件的系统方法》- 读书笔记(八)

持续交付&#xff1a;发布可靠软件的系统方法&#xff08;八&#xff09; 第 8 章 自动化验收测试8.1 引言8.2 为什么验收测试是至关重要的8.2.1 如何创建可维护的验收测试套件8.2.2 GUI 上的测试 8.3 创建验收测试8.3.1 分析人员和测试人员的角色8.3.2 迭代开发项目中的分析工…

Java学习 3. 习题 1.

一、 1. 2. 3. 4. 5. 二、 1. 2. 3. 4. 5. 6. 7. 8.

Vsan数据恢复—Vsan存储断电导致虚拟机无法启动的数据恢复案例

Vsan分布式存储故障&检测&#xff1a; 异常断电导致一台vsan存储设备上层虚拟机无法启动。 将故障Vsan存储上的所有磁盘编号后取出&#xff0c;由北亚企安的硬件工程师对vsan存储上的所有硬盘进行物理故障检测&#xff0c;经过检测没有发现硬盘存在物理故障。 vsan存储结构…

北邮22级信通院数电:Verilog-FPGA(7)第七周实验(2):BCD七段显示译码器(关注我的uu们加群咯~)

北邮22信通一枚~ 跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章 持续关注作者 迎接数电实验学习~ 获取更多文章&#xff0c;请访问专栏&#xff1a; 北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客 关注作者的uu们可以进群啦~ 一.verilog代码 1.1 …

【数据结构】选择排序

⭐ 作者&#xff1a;小胡_不糊涂 &#x1f331; 作者主页&#xff1a;小胡_不糊涂的个人主页 &#x1f4c0; 收录专栏&#xff1a;浅谈数据结构 &#x1f496; 持续更文&#xff0c;关注博主少走弯路&#xff0c;谢谢大家支持 &#x1f496; 直接选择、堆排序 1. 直接选择排序2…

网工内推 | 急招网工,思科、华为认证优先,法定节假日三薪

01 江苏臻云技术 招聘岗位&#xff1a;网络工程师 职责描述&#xff1a; 1、负责落实数据中心机房日常网络监测及巡检任务&#xff1b; 2、负责数据中心网络设备日常监控、变更、维护、巡检&#xff1b; 3、负责日常巡检报告、故障维护报告、变更申请的文档的编制&#xff1b;…

微信小程序如何使用地球半径计算两组经纬度点之间的距离(自身位置与接口返回位置)【上】

目录 1.配置位置权限 2.获取当前自身经纬度 3. 请求接口拿到返回经纬 4. 循环取每一项的经纬 5.如何判断是否打开了定位权限 6.进行距离计算操作 7.运行效果 8.完整代码 首先在使用小程序时&#xff0c;请求的接口一定要去配置合法域名&#xff0c;才能够进行接下来…

【开源】基于SpringBoot的车险自助理赔系统的设计和实现

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 角色管理模块2.3 车辆档案模块2.4 车辆理赔模块2.5 理赔照片模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 角色表3.2.2 车辆表3.2.3 理赔表3.2.4 理赔照片表 四、系统展示五、核心代码5.1 查询车…

基于机器视觉的行人口罩佩戴检测 计算机竞赛

简介 2020新冠爆发以来&#xff0c;疫情牵动着全国人民的心&#xff0c;一线医护工作者在最前线抗击疫情的同时&#xff0c;我们也可以看到很多科技行业和人工智能领域的从业者&#xff0c;也在贡献着他们的力量。近些天来&#xff0c;旷视、商汤、海康、百度都多家科技公司研…

【C++初阶】类和对象——构造函数析构函数拷贝构造函数

个人主页点击直达&#xff1a;小白不是程序媛 C系列专栏&#xff1a;C头疼记 目录 前言 类的6个默认成员函数 构造函数 概念 构造函数的特性 析构函数 概念 析构函数特性 拷贝构造函数 概念 拷贝构造函数特性 总结 前言 上篇文章我们对于C中的类有了初步的认识和…

【运维知识大神篇】两种方法,一键部署ElasticSearch集群(Shell+Ansible自动化部署)

本篇文章给大家介绍一下用Shell和Ansible两种方式&#xff0c;去一键部署ES&#xff08;ElasticSearch&#xff09;集群&#xff0c;实现在集群部署中的批量化操作&#xff0c;享受自动化部署的魅力。 准备主机 主机名IPcpudiskmemoryAnsible10.0.0.612C20G2GELK10410.0.0.10…

Linux必备技能:掌握的必会命令

1 rpm查看程序配置文件 rpm -qc httpd2 rpm查看系统已经安装的相关的包 rpm -qa | grep httpd3 netstat查看服务支持的端口 netstat -anltupe | grep httpd

初识HTML超文本标记语言

文章目录 前端简介引入前端三剑客什么是HTML&#xff1f;超文本传输协议前戏HTTP超文本传输协议1.什么是HTTP协议2.四大特性3.数据格式4.响应状态码 基于HTTP协议搭建HTMLHTML简介 前端简介 引入 前端&#xff1a;与用户直接打交道的操作界面都可以称之为前端(那些炫酷的页面)…