数据库深入浅出,数据库介绍,SQL介绍,DDL、DML、DQL、TCL介绍

一、基础知识:

1.数据库基础知识

        数据(Data):文本信息(字母、数字、符号等)、音频、视频、图片等;

        数据库(DataBase):存储数据的仓库,本质文件,以文件的形式将数据保存到电脑磁盘中

        数据库管理系统(DBMS):管理、操作、维护数据库的软件

        数据库应用程序(DBAS):DataBase Application System操作数据库管理系统,使用数据

        数据库管理员(DBA):DataBase Administrator负责数据库的维护和运营。

2.数据库分类:

        关系型数据库:MySql、Oracle、DB2、SQL server

        非关系型数据库:Redis、MongoDB、MemCache、HBase

2.1关系型数据库

        将复杂的数据,以二维表(存储关系:行、列)来展示,由二维表之间的联系组成数据组

        单表操作、多表操作;

        优点:易于维护(二维表结构格式一致)、使用方(通用SQL)、复杂操作(单表多表联合)

        缺点:操作磁盘文件(读写性能差)、固定的表结构(灵活度降低)、处理高并发读写较差

2.2非关系型数据库(NoSQL)

        非关系型数据库NoSQL(Not Only SQL)数据库,数据结构化存储方法的集合,可以是文档、键值对等。

二、MySql基础知识

        MySQL 是一个关系型数据库管理系统, 由瑞典 MySQL AB 公司开发, 目前属于 Oracle 公司。MySQL从最初的1.0、3.1到后来的8.0,发生了各种各样的变化。被Oracle收购后,MySQL的版本演化出了多个分支,除了需要付费的MySQL企业版本,还有很多MySQL社区版本。

1.SQL(Strcutured Query Language)语句

1.1SQL基本概念

        SQL:Structured Query Language结构化查询语句,是目前使用最广泛的关系型数据库操作语言。在数据库管理系统中,使用SQL语言来实现数据的存取、更新等功能。

        SQL标准,涉及的内容其实是SQL92里头最基本或者说最核心的一部分。SQL92本身是分级的,包括入门级、过度级、中间级和完全级。不过,SQL标准包含的内容实在太多了,而且有很多特性对新的SQL产品而言也越来越不重要了。从SQL99之后,标准中符合程度的定义就不再分级,而是改成了核心兼容性和特性兼容性;也没有机构来推出权威的SQL标准符合程度的测试认证了。

1.4SQL分类
1.4.1数据查询语言DQL(Data Query Language)

        主要用于数据查询,基本结构SELECT 字段 FROM 及 WHERE 子句组合查询一条或多条语句

        SELECT、 FROM、 WHERE、 GROUP BY、having、ORDER BY、limit

1.4.2数据操作语言DML(Data Manipulation Language)

        主要用于数据的增、删、改的操作

        INSERT INTO 、 DELETE FROM、 UPDATE 表名 SET

1.4.3数据定义语言DDL(Data Definition Language)

        主要用于对数据库对象(库、表、索引、视图),进行创建、修改、删除

        CREATE、ALTER、DROP    配合 table、database、default、rename to、change等关键字操作

1.4.4数据控制语言DCL(Data Control Language)

        主要用于授予或回收访问数据库的权限;

        GRANT(授予权限),REVOKE(回收权限)

1.4.5事务控制语言TCL(Transaction Control Language)

        数据库的事务管理

        START TRANSACTION:开启事务

        COMMIT:提交事务

2.DDL(Definition)操作

        DDL主要用针对是数据库对象(数据库、表、索引、视图、存储过程)进行创建, 修改和删除操作。

        create创建、drop删除、alter修改;

3.DML(Manipulation)操作

3.1 添加数据 insert into

-- 1. 插入部分或全部字段

insert into 表名(字段名1,字段名2,...,字段名n) values(值1,值2,...,值n);

-- 2. 插入全部字段

insert into 表名 values(值1,值2,...,值n);3.2 修改数据

3.2修改数据 update...set

-- 语法格式

update 表名 set 字段1=值1,字段2=值2,...,字段n=值n where 条件;

3.3 删除数据 delete from

-- 语法格式

delete from 表名 where 条件;

4.DQL(Query)数据查询语句

        MySQL提供了一张虚拟表,该表名为“dual”,是MySQL为了满足用“SELECT ••• from•••”的习惯而增设的一张虚拟表。 在使用dual表时,如果没有where子句,则可以省略“from dual”, 没有实际意义, 查询的字段不属于任何表的时候, 就可以使用dual这张虚拟表。

        select 字段,[聚合函数(字段)] from 表名 [where 条件] group by 字段名 [having 条件] [排序]

5.TCL(Transaction Contral)事务控制语句

        常用的存储引擎有InnoDB(MySQL5.5以后默认的存储引擎)和MyISAM(MySQL5.5之前默认的存储引擎),其中InnoDB支持事务处理机制,而MyISAM不支持。

        事务是一个整体, 由一条或者多条SQL语句组成, 这些SQL语句要么都执行成功, 要么就失败, 只要有一条SQL出现异常, 整个操作就会回滚。

        回滚: 就是事务运行的过程中发生了某种故障, 或者SQL出现了异常, 事务不能继续执行, 系统将事务中对数据库的所有已完成的操作全部取消, 回滚到事务开始时的状态。

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

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

相关文章

postgresql 触发器如何生成递增序列号,从1开始,并且每天重置

大家好,我是三叔,许久不见,这期给大家介绍一下笔者在开发中遇到的业务处理:pgsql 创建触发器生成每日递增序列,并且第二天重置,根据不同的用户进行不同的控制。 1.创建生成递增序列的 table 表 -- 创建us…

springboot之拦截器、servlet过滤器

一 使用maven新建Spring Boot项目 1. File --> New --> Project... --> Maven ,如下图所示 Project SDK下拉列表框中选择前面安装的 Java1.8,如果下拉列表框中不存在Java 1.8,可以单击New按钮,找到安装Java的位置&…

第02章-变量与运算符

1 关键字 关键字:被Java语言赋予了特殊含义,用作专门用途的字符串(或单词)。如class、public、static、void等,这些单词都被Java定义好了,称为关键字。 特点:关键字都是小写字母;官…

CSS与基本选择器

<div class"c1" id"d1"></div> CSS基本知识 什么是css&#xff1a;CSS&#xff08;Cascading Style Sheet&#xff0c;层叠样式表)定义如何显示HTML元素。 当浏览器读到一个样式表&#xff0c;他就会按照这个样式l来进行渲染。其实就是让HT…

Langchain-Chatchat项目:4.1-P-Tuning v2实现过程

常见参数高效微调方法(Parameter-Efficient Fine-Tuning&#xff0c;PEFT)有哪些呢&#xff1f;主要是Prompt系列和LoRA系列。本文主要介绍P-Tuning v2微调方法。如下所示&#xff1a; Prompt系列比如&#xff0c;Prefix Tuning(2021.01-Stanford)、Prompt Tuning(2021.09-Goo…

音视频rtsp rtmp gb28181在浏览器上的按需拉流

按需拉流是从客户视角来看待音视频的产品功能&#xff0c;直观&#xff0c;好用&#xff0c;为啥hls flv大行其道也是这个原因&#xff0c;不过上述存在的问题是延迟没法降到实时毫秒级延迟&#xff0c;也不能随心所欲的控制。通过一段时间的努力&#xff0c;结合自己闭环技术栈…

基于Java(SpringBoot框架)毕业设计作品成品(35)AI人工智能毕业设计AI图像卡通动漫化图像风格迁移系统设计与实现

博主介绍&#xff1a;《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者&#xff0c;CSDN博客专家&#xff0c;在线教育专家&#xff0c;CSDN钻石讲师&#xff1b;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程&#xff0c;免费 项…

Rust 语言常见的一些概念(下)

目录 1、函数 参数 语句和表达式 具有返回值的函数 2、注释 文档注释 多行注释 3、控制流 3.1 if 表达式 3.2 使用esle if 处理多重条件 3.3 在 let 语句中使用 if 3.4 使用循环重复执行 使用 loop 重复执行代码 从循环中返回值 循环标签&#xff1a;在多个循环…

【PyQt学习篇 · ⑨】:QWidget -控件交互

文章目录 是否可用是否显示/隐藏是否编辑是否为活跃窗口关闭综合案例信息提示状态提示工具提示“这是什么”提示 焦点控制单个控件角度父控件角度 是否可用 setEnabled(bool)&#xff1a;该函数用于设置QWidget控件的可用性&#xff0c;参数bool为True表示该控件为可用状态&…

08-Docker-网络管理

Docker 在网络管理这块提供了多种的网络选择方式&#xff0c;他们分别是桥接网络、主机网络、覆盖网络、MACLAN 网络、无桥接网络、自定义网络。 1-无桥接网络&#xff08;None Network&#xff09; 当使用无桥接网络时&#xff0c;容器不会分配 IP 地址&#xff0c;也不会连…

Day18力扣打卡

打卡记录 寻找重复数&#xff08;双指针&#xff09; 链接 Floyd判圈法&#xff0c;先用快慢指针以不同速率进行移动&#xff0c;最终一定会出现相遇点&#xff0c;然后在使一指针从初始开始&#xff0c;两指针再以同步调移动&#xff0c;再次相遇的点一定为循环开始的点位。 …

【计算机网络笔记】传输层——TCP特点与段结构

系列文章目录 什么是计算机网络&#xff1f; 什么是网络协议&#xff1f; 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能&#xff08;1&#xff09;——速率、带宽、延迟 计算机网络性能&#xff08;2&#xff09;…