数据库深入浅出,数据库介绍,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.mzph.cn/news/125880.shtml

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

相关文章

腾讯云轻量应用服务器的“镜像”操作系统选择方法

腾讯云轻量应用服务器镜像怎么选择?如果是用来搭建网站可以选择宝塔Linux面板腾讯云专享版,镜像系统根据实际使用来选择,腾讯云百科txybk.com来详细说下腾讯云轻量应用服务器镜像的选择方法: 腾讯云轻量应用服务器镜像选择 轻量…

BI零售数据分析,告别拖延症,及时掌握一线信息

在日常的零售数据分析中,经常会因为数据量太大,分析指标太多且计算组合多变而导致数据分析报表难产,零售运营决策被迫拖延症。随着BI数据可视化分析技术的发展,智能化、可视化、自助分析的BI数据分析逐渐成熟,形成一套…

2、NLP文本预处理技术:词干提取和词形还原

一、说明 在上一篇文章中,我们解释了文本预处理的重要性,并解释了一些文本预处理技术。在本文中,我们将介绍词干提取和词形还原主题。 词干提取和词形还原是两种文本预处理技术,用于将单词还原为其基本形式或词根形式。这些技术的…

第03章_基本的SELECT语句

第03章_基本的SELECT语句 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 1. SQL概述 1.1 SQL背景知识 1946 年,世界上第一台电脑诞生,如今,借由这台电脑发展…

oracle 重启步骤及踩坑经验

oracle 重启步骤及踩坑经验 标准重启步骤 切换到oracle用户 su - oracle关闭监听 lsnrctl stop杀掉oracle有关进程 ps -ef|grep $ORACLE_SID|grep -v ora_|grep LOCALNO|awk {print $2}|xargs kill -9#查询pid ps -ef|grep $ORACLE_SID|grep -v ora_|grep LOCALNO|awk {p…

恒驰服务 | 华为云数据使能专家服务offering之数仓建设

恒驰大数据服务主要针对客户在进行智能数据迁移的过程中,存在业务停机、数据丢失、迁移周期紧张、运维成本高等问题,通过为客户提供迁移调研、方案设计、迁移实施、迁移验收等服务内容,支撑客户实现快速稳定上云,有效降低时间成本…

上海中优城市万豪酒店推出全新国际IP童趣主题房,独特住宿体验中国首秀

2023年10月30日,中国上海 – 近日,上海中优城市万豪酒店正式推出由全球品牌娱乐公司孩之宝官方授权打造的小马宝莉和变形金刚主题客房,以创意客房、新奇体验和丰富礼遇,为童游家庭或年轻的动漫迷们开启沉浸式入住之旅,…

Latex报错 “Paragraph ended before \Gin@iii was complete“

大家看看自己的模版的前面 加载的包 里面是不是有个 \usepackage{graphics} 问题就在这里,我们需要把它改成\usepackage{graphicx}

xmind2testcase使用与二次开发

xmind2testcase安装、简单二次开发与使用说明: 添加xmind文件备份 重构生成CSV文件 preview预览页面数据显示重构 一、安装 1.xmind2testcase安装 pip install xmind2testcase 2.启动服务 进入默认位置:C:\Users\dell\AppData\Roaming\Python\Py…

集简云slack(自建)无需API开发轻松连接OA、电商、营销、CRM、用户运营、推广、客服等近千款系统

slack是一个工作效率管理平台,让每个人都能够使用无代码自动化和 AI 功能,还可以无缝连接搜索和知识共享,并确保团队保持联系和参与。在世界各地,Slack 不仅受到公司的信任,同时也是人们偏好使用的平台。 官网&#x…

生产级 React 框架介绍

文章目录 生产级 React 框架生产级 React 框架Next.jsRemixGatsbyExpo 如何选择生产级 React 框架 生产级 React 框架 React 是一个流行的 JavaScript 框架,用于构建用户界面。React 框架可以帮助你快速构建高质量的 React 应用,但并不是所有的 React 框…

什么是Web 3.0?

什么是Web 3.0?简而言之,就是第三代互联网。 在回答Web 3.0之前,让我们先看一下Web 1.0和Web 2.0。 互联网革命 Web 1.0,第一代互联网,从互联网诞生到1997年。 在Web 1.0,互联网的信息是静态的只读网页&a…

问题 C: 搬寝室(DP)

算法分析: 题目意思为求n个物品,拿k对使得消耗的体力最少, 或者说是这k对物品,每一对中两件物品的质量差平方最小, 所以要使得质量差的平方小,只能排序后取质量相邻两个物品作为一对; 现在设f…

如何用ChatGPT快速写出一份合格的PPT报告

我们【AI写稿专家】的小伙伴中有很多企业高管和公务员,大家经常有写报告写ppt的需求,下面小编给大家介绍一下我们新发布生成PPT的功能,很简单很方便,看完大家不到1分钟就能生成一份拿得出手的PPT报告,再也不用费尽心思…

【设计模式】第25节:行为型模式之“访问者模式”

一、简介 访问者模式允许一个或者多个操作应用到一组对象上,设计意图是解耦操作和对象本身,保持类职责单一、满足开闭原则以及应对代码的复杂性。 二、优点 分离操作和数据结构增加新操作更容易集中化操作 三、适用场景 数据结构稳定,操…

私有网络的安全保障,WorkPlus Meet内网视频会议助力企业高效会议

在企业内部沟通与协作中,视频会议成为了一种必不可少的沟通方式。然而,传统的互联网视频会议往往受制于网络不稳定因素,给企业带来不便与困扰。WorkPlus Meet作为一款专注内网视频会议的软件,致力于为企业打造高效、稳定的内网视频…

NLP实践——中文指代消解方案

NLP实践——中文指代消解方案 1. 参考项目2. 数据2.1 生成conll格式2.2 生成jsonline格式 3. 训练3.1 实例化模型3.2 读取数据3.3 评估方法3.4 训练方法 4. 推理5. 总结 1. 参考项目 关于指代消解任务,有很多开源的项目和工具可以借鉴,比如spacy的基础模…

KNN模型

使用K-Nearest Neighbors (KNN)算法进行分类。首先加载一个数据集,然后进行预处理,选择最佳的K值,并训练一个KNN模型。 # encodingutf-8 import numpy as np datas np.loadtxt(datingTestSet2.txt) # 加载数据集,返回一个numpy数…

html获取网络数据,列表展示 第二种

html获取网络数据&#xff0c;列表展示 第二种 js遍历json数组中的json对象 image.png || - 判断数据是否为空&#xff0c;为空就显示 - <!DOCTYPE html> <html><head><meta charset"utf-8"><title>网页列表</title><script …

Java作业一

编写程序实现如下界面效果&#xff1a; import java.util.Scanner;public class Test01 {public static void main(String[] args) {String name;Scanner input new Scanner(System.in);System.out.println("请输入您的姓名&#xff1a;");name input.nextLine();S…