【数据库一】MySQL数据库初体验

news2024/11/25 0:54:03

MySQL数据库初体验

  • 1.数据库基本概念
    • 1.1 数据Data
    • 1.2 表
    • 1.3 数据库
    • 1.4 数据库管理系统
    • 1.5 数据库系统
  • 2.数据库的发展
  • 3.主流的数据库介绍
    • 3.1 SQL Server(微软公司产品)
    • 3.2 Oracle (甲骨文公司产品)
    • 3.3 DB2(IBM公司产品)
    • 3.4 MySQL (甲骨文公司收购)
    • 3.5 国产数据库系统
  • 4.关系数据库
    • 4.1 概念
    • 4.2 E-R图
    • 4.3 关系数据库
    • 4.4 关系数据库应用
  • 5.非关系数据库
    • 5.1 概念
    • 5.2 非关系数据库的优点
    • 5.3 非关系数据库应用
  • 6. 增删改查命令操作
    • 6.1 查看数据库结构
    • 6.2 SQL语言
    • 6.3 创建及删除数据库和表
    • 6.4 查询表数据
    • 6.5 修改表名和表结构
  • 7.知识点总结

1.数据库基本概念

1.1 数据Data

数据就是描述事物的符号记录。主要包括数字,文字、图形、图像、声音、档案记录等。一般以“记录”形式按统一的格式进行存储

1.2 表

表就是将不同的记录组织在一起。主要是用来存储具体数据

1.3 数据库

数据库(database)是表的集合存储数据的仓库。数据库是用来组织、存储和管理数据的仓库。以一定的组织方式存储相互有关的数据集合,是按照数据结构来组织、存储和管理数据的仓库

1.4 数据库管理系统

数据库管理系统(DBMS)是实现对数据库资源有效组织、管理和存取的系统软件。数据库的建立和维护功能、数据定义功能、数据操纵功能、数据库的运行管理和通信功能。

1.5 数据库系统

数据库系统是一个人机系统由硬件、OS、数据库、DBMS、应用软件和数据库用户组成用户可以通过DBMS或应用程序操作数据库

2.数据库的发展

在这里插入图片描述
在这里插入图片描述

3.主流的数据库介绍

3.1 SQL Server(微软公司产品)

  • 面向Windows操作系统

  • 简单、易用

3.2 Oracle (甲骨文公司产品)

  • 面向所有主流平台

  • 安全、完善,操作复杂

3.3 DB2(IBM公司产品)

  • 面向所有主流平台

  • 大型、安全、完善

3.4 MySQL (甲骨文公司收购)

  • 免费、开源、体积小

在这里插入图片描述

3.5 国产数据库系统

  • 华为:欧拉
  • 阿里:龙蜥
  • 腾讯:tencentOS
  • 麒麟:(银河麒麟、中标麒麟 – >centos 优麒麟 – > Ubuntu )
  • 统信
  • 红旗

4.关系数据库

4.1 概念

  • 关系数据库系统基于关系模型的数据库系统

  • 关系模型的数据结构使用简单易懂的二维数据表

  • 关系模型可用简单的== “实体-关系”(E-R)图==来表示;

  • E-R图中包含了实体(数据对象)、关系和属性三个要素。

在这里插入图片描述

4.2 E-R图

实体

也称为实例,对应现实世界中可区别于其他对象的“事件”或“事物”。

属性

实体所具有的某一特性一个实体可以有多个属性

联系

实体集之间的对应关系称为联系,也称为关系。

总体来说所有实体及实体之间联系的集合构成一个关系数据库。

4.3 关系数据库

数据库分两大类:关系型数据库非关系型数据库

关系型数据库典型代表:MySQL(5-7/8.0)MariadbPostgreSQLQracleSQL ServerDB2

国产数据库代表:阿里云——RDB、华为——高斯、腾讯——TDBA、阿里——Oceanbase、人大金仓、达梦

关系数据库的存储结构是二维表格。在每个二维表中,每一行称为一条记录,用来描述一个对象的信息每一列称为一个字段,用来描述对象的一个属性

在这里插入图片描述
关系型数据库的存储结构是二维表。如果想要创建数据表,需要先建立库,然后在库中创建表,在表中添加多个列和行,在不同的列或者不同行中添加数据。其中列是存储字段,用来描述对象的一个属性;而行是存储记录,用来描述一个对象的信息

4.4 关系数据库应用

在这里插入图片描述

5.非关系数据库

5.1 概念

  • 非关系数据库也被称作NoSQL (Not Only sQL)。存储数据不以关系模型为依据,不需要固定的表格式

  • 按照键值对的形式进行存储,例如k/v、key/value。

5.2 非关系数据库的优点

  • 数据库可高并发读写
  • 对海量数据高效率存储与访问;
  • 数据库具有高扩展性与高可用性

5.3 非关系数据库应用

在这里插入图片描述

6. 增删改查命令操作

6.1 查看数据库结构

(1)查看当前服务器中的数据库

show databases;      #不区分大小写,分号;表示结束

(2) 查看数据库中包含的表

use 数据库名;
show tables;
show tables form 数据库;     #不登录数据库,直接查看数据库中的表信息

在这里插入图片描述

(3)查看表的结构(字段)

use 数据库名;
describe  数据库名. 表名;    #不登录数据库,查看数据库中的表结构信息
可缩写成:desc 表名;

在这里插入图片描述

6.2 SQL语言

SQL语句用于维护管理数据库,包括数据查询、数据更新、访向控制、对象管理等功能.

SQL语言分类:

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

DML:数据操纵语言,用于对表中数据进行管理(增、删、改).

DQL:数据查询语言,用于从数据表中查找符合条件的数据记录.

DCL:数据控制语言用于设置或者更改数据库用户或角色权限.

6.3 创建及删除数据库和表

(1)创建新的数据库

create database 数据库名;

在这里插入图片描述

(2)创建新的表

create table 表名 (字段1 数据类型,字段2 数据类型,.....,[primary key(设为主键的字段名)]);     #主键一般选择能代表唯一性的字段不允许取空值(NULL),一个表只能有一个主键

在这里插入图片描述
(3)删除指定的数据表

use  数据库名;
drop table [数据库名].表名;           #如不用use进入库中,则需加上数据库名

(4)删除指定的数据库

drop  database 数据库名;

6.4 查询表数据

(1)查询数据记录

select 字段名1,字段名2[,...]    from  表名   [where条件表达式];
select * from clr1;
select name,age from clr1 where sex='男';
select * from clr1 where id>=2 and id<=90;
select * from clr1 limit 2;       #只显示头2行
select * from clr1 limit 2,2;    #显示第2行后的前2行(不包括第2行,也就是第3、4行)
select * from clr1\G      #以列表方式竖向显示,结尾没有分号,在Xshell中可以看到效果,在Navicat中无法实现

在这里插入图片描述
在这里插入图片描述

(2)修改、更新数据表中的数据记录

update 表名 set 字段名1=字段值1, [字段名2=字段值2]  [WHERE条件表达式1];
update clr1 set name='小红花' where id=90;
update clr1 set age=29,sex='男' where id=6 or name='小可爱';

在这里插入图片描述
在这里插入图片描述

(3)在数据表中删除指定的数据记录

delete from 表名 [where条件表达式];
delete from clr1 where id=8;

在这里插入图片描述

6.5 修改表名和表结构

(1)修改表名

alter table 旧的表名 rename 新的表名
alter table clr1 rename clr;

在这里插入图片描述

(2)扩展表结构(增加字段)

alter table 表名 add 字段 数据类型  default ' 默认值'alter table clr add hobby varchar(10) default '不明';
#default '不明':表示此字段设置默认值,爱好不明,可与NOT NULL配合使用

在这里插入图片描述

(3)修改字段(列)名,唯一键

alter table 表名 change 旧列名 新列名 数据类型  [unique key]alter table clr change name username varchar(10) unique key;

在这里插入图片描述

在这里插入图片描述
(4)删除字段

alter table 表名 drop 字段名;
alter table clr drop hobby;

在这里插入图片描述

7.知识点总结

DDL:用于创建数据库对象:库 表 索引

create database 库名;
use 库名;
create table 表名(字段1  数据类型,字段2  数据类型,... [,primary key (字段)]);

drop table 表名;
drop database 库名;

show databases;
show tables [from库名];
desc [库名].表名;

DML:用于管理表数据

insert into 表名 values(字段1的值,字段2的值,....);      #要按照表结构的字段顺序设置值
insert into 表名(字段1,字段4...) values (字段1的值,字段4的值,...);     #插入指定字段的值,未指定的字段默认为NULL

update 表名 set字段=where条件表达式;
delete from 表名 where条件表达式;

DQL:用于根据条件查询表数据

select * from 表名  [where条件表达式];
solect  字段1,字段2,... from表名  [where条件表达式];

select * from表名\G     #纵向查看每行记录字段的值,需要在Xshell中使用,才能看到效果
select * rom表名 limit N;    #显示表的前N行记录
select * rom表名 limit N,M;   #显示从表的第N行之后的连续M行记录(不包含第N行)

修改表结构

操作名称具体步骤
修改表名alter table 旧表名 rename 新表名;
增加表字段alter table 表名 add 新字段 数据类型 字段属性;
修改表字段名alter table 表名 change 旧字段名 新字段名 数据类型 字段属性;
删除字段alter table 表名 drop 字段名;

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

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

相关文章

MySQL-索引详解(五)

♥️作者&#xff1a;小刘在C站 ♥️个人主页&#xff1a; 小刘主页 ♥️努力不一定有回报&#xff0c;但一定会有收获加油&#xff01;一起努力&#xff0c;共赴美好人生&#xff01; ♥️学习两年总结出的运维经验&#xff0c;以及思科模拟器全套网络实验教程。专栏&#xf…

【K8S系列】深入解析k8s网络之—网络故障

序言 你只管努力&#xff0c;其他交给时间&#xff0c;时间会证明一切。 文章标记颜色说明&#xff1a; 黄色&#xff1a;重要标题红色&#xff1a;用来标记结论绿色&#xff1a;用来标记一级论点蓝色&#xff1a;用来标记二级论点 Kubernetes (k8s) 是一个容器编排平台&#x…

FasterTransformer 005 初始化:如何将参数传给模型?

cpp的例子 device_malloc cpp没有用具体数值初始化 float *d_from_tensor NULL;device_malloc(&d_from_tensor, batch_size * seq_len * hidden_dim);https://github1s.com/NVIDIA/FasterTransformer/blob/v1.0/sample/cpp/transformer_fp32.cc#L35-L38 直接用的cudaMal…

【电子学会】2023年03月图形化四级 -- 绘制直尺

绘制直尺 编写一段程序&#xff0c;绘制一段7厘米的直尺。 1. 准备工作 &#xff08;1&#xff09;保留小猫角色&#xff0c;隐藏&#xff1b; &#xff08;2&#xff09;白色背景。 2. 功能实现 &#xff08;1&#xff09;点击绿旗&#xff0c;设置笔的颜色为红色&#…

事务和事务的隔离级别

一、事务 &#xff08;一&#xff09;为什么需要事务 事务是数据库管理系统&#xff08;DBMS&#xff09;执行过程中的一个逻辑单位&#xff08;不可再进行分割&#xff09;&#xff0c;由一个有限的数据库操作序列构成&#xff08;多个DML语句&#xff0c;select语句不包含事…

数字图像处理期末复习习题 SCUEC part1

1.在利用LoG算子做边缘检测的时候&#xff0c;作为一种经验法则&#xff0c;当滤波器空间参数为a7时&#xff0c;LoG滤波器空域模板大小应为 答&#xff1a;4343 理由是&#xff1a;n大于等于6a1 2.空间域方法主要分为灰度变换和空间滤波两类&#xff0c;灰度变换在图像的单…

【前端 - CSS】第 15 课 - 复合选择器

欢迎来到博主 Apeiron 的博客&#xff0c;祝您旅程愉快 &#xff01; 时止则止&#xff0c;时行则行。动静不失其时&#xff0c;其道光明。 目录 1、缘起 2、复合选择器 2.1、后代选择器 2.2、子代选择器 2.3、并集选择器 2.4、交集选择器&#xff08;了解&#xff09…

SpringBatch从入门到实战(三):父子Job和多步骤控制

一&#xff1a;Job嵌套 Job之前也可以嵌套&#xff0c;比如一个父Job封装多个已经存在的子Job。 Configuration public class ChildrenJobConfig {Autowiredprivate JobBuilderFactory jobBuilderFactory;Autowiredprivate StepBuilderFactory stepBuilderFactory;Beanpublic…

基础知识学习---牛客网C++面试宝典(八)操作系统--第三节

1、本栏用来记录社招找工作过程中的内容&#xff0c;包括基础知识学习以及面试问题的记录等&#xff0c;以便于后续个人回顾学习&#xff1b; 暂时只有2023年3月份&#xff0c;第一次社招找工作的过程&#xff1b; 2、个人经历&#xff1a; 研究生期间课题是SLAM在无人机上的应…

Golang每日一练(leetDay0096) 添加运算符、移动零

目录 282. 给表达式添加运算符 Expression Add Operators &#x1f31f;&#x1f31f;&#x1f31f; 283. 移动零 Move Zeroes &#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Rust每日一练 专栏 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 …

Cenos7 --- Redis下载和安装(Linux版本)

1.下载和安装 Download | Redis进入官网Download | Redis&#xff0c; 上边点击下载7.0.11,右键复制下载衔接 https://download.redis.io/releases/redis-7.0.2.tar.gz 1.weget获取 我这个安装包放在 /tools/installbags下 cd /tools/installbags wget https://download.red…

Java进阶 —— Java多线程编程笔记

❤ 作者主页&#xff1a;欢迎来到我的技术博客&#x1f60e; ❀ 个人介绍&#xff1a;大家好&#xff0c;本人热衷于Java后端开发&#xff0c;欢迎来交流学习哦&#xff01;(&#xffe3;▽&#xffe3;)~* &#x1f34a; 如果文章对您有帮助&#xff0c;记得关注、点赞、收藏、…

【头歌-Python】9.3 中英文词云绘制(project) 第1~3关

第1关&#xff1a;词云练习1 任务描述 本关任务&#xff1a;编写一个能制作词云的小程序。 相关知识 词云 词云&#xff0c;也叫文字云&#xff0c;是一种应用广泛的数据可视化方法。是过滤掉文本中大量的低频信息&#xff0c;形成“关键词云层”或“关键词渲染”&#xf…

基于VMWare组件安装Centos7.9

1.前提条件 使用VMware进行安装&#xff0c;VMware可以自行下载&#xff0c;需要介质(VMware和CentOS7.9)的同仁&#xff0c;请留言&#xff0c;我给你下载链接。 2.CentOS7.9安装 1.打开VMware&#xff0c;点击“新建虚拟机(N)...” 2.选择“典型” &#xff0c;点击“下一步…

基础知识学习---牛客网C++面试宝典(六)操作系统--第一节

1、本栏用来记录社招找工作过程中的内容&#xff0c;包括基础知识学习以及面试问题的记录等&#xff0c;以便于后续个人回顾学习&#xff1b; 暂时只有2023年3月份&#xff0c;第一次社招找工作的过程&#xff1b; 2、个人经历&#xff1a; 研究生期间课题是SLAM在无人机上的应…

A100 GPU服务器安装GPU驱动教程

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

【OpenCV DNN】Flask 视频监控目标检测教程 06

欢迎关注『OpenCV DNN Youcans』系列&#xff0c;持续更新中 【OpenCV DNN】Flask 视频监控目标检测教程 06 3.6 OpenCVFlask实时监控和视频播放cvFlask06 项目的文件树cvFlask06 项目的程序文件cvFlask06 项目的网页模板cvFlask06 项目的运行 本系列从零开始&#xff0c;详细…

chatgpt赋能python:Python排序算法实现及其应用

Python排序算法实现及其应用 排序是计算机科学中最基础也是最常用的算法之一。在数据分析、数据挖掘和机器学习等领域&#xff0c;排序算法有着广泛的应用。Python作为一种流行的编程语言&#xff0c;在排序方面具有一定的优势。本文将介绍一些常见的Python排序算法实现以及应…

有趣的图(三)(57)

小朋友们好&#xff0c;大朋友们好&#xff01; 我是猫妹&#xff0c;一名爱上Python编程的小学生。 和猫妹学Python&#xff0c;一起趣味学编程。 今日主题 咱们之前分别学习了图的基本概念&#xff0c;和图的深度优先遍历算法dfs。 你学会了吗&#xff1f; 咱们今天要学…

Linux系统的tty架构及UART驱动详解

​一、模块硬件学习 1.1. Uart介绍 通用异步收发传输器&#xff08;Universal Asynchronous Receiver/Transmitter)&#xff0c;通常称为UART&#xff0c;是一种异步收发传输器&#xff0c;是电脑硬件的一部分。它将要传输的资料在串行通信与并行通信之间加以转换。 作为把并…