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

news2024/11/26 15:52:16

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)删除字段

ALTERTABLE表名DROP字段名;
alter into 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  *  from表名 limit N,M;   #显示从表的第N行之后的连续M行记录(不包含第N行)

修改表结构

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

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

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

相关文章

安卓高通机型的基带移植 修改 编译的相关 增加信号 支持5G等【二】

安卓高通机型的基带移植 修改 编译的相关 增加信号 支持5G等【一】 前面分享了这篇帖子&#xff0c;很多友友希望更新下新机型的基带替换方法。今天对其中做一些补充说明。由于安卓机型跨版本幅度较大。有的机型从出厂安卓8有可能官方目前已经更新到安卓12 13等等。所以任何的教…

每天五分钟机器学习:如何确定梯度下降中的学习率?

本文重点 学习率是梯度下降算法中的一个重要参数,它控制着每次迭代中参数的更新幅度,因此学习率的大小直接影响着算法的收敛速度和精度。在实际应用中,如何选择合适的学习率是一个非常重要的问题。 手动调整法 最简单的方法是手动调整学习率。我们可以根据经验或者试错的…

sealos 五年磨一剑——云操作系统正式发布

这是计划的一部分 这是一个宏伟的计划&#xff0c;漫长且有趣。。。 2018 年的一个晚上&#xff0c;我写下了 sealos 第一行代码&#xff0c;当时仓库命名 “kubeinit”&#xff0c;后一想格局太小&#xff0c;我不可能只做一个安装 kubernetes 的事&#xff0c;安装只是计划…

不知道测试什么?这些是你需要知道的软件测试类型和常识

有多少软件测试类型呢? 我们作为测试人员了解很多种不同的软件测试类型&#xff0c;例如功能测试(Functional Test)、非功能测试、自动测试、敏捷测试、以及它们的各种子类型. 尽管在我们的测试过程中会接触很多种测试类型, 或者听说过某些测试类型&#xff0c;但是很少人敢说…

小姐姐们,一起学数据分析

&#x1f496; 亲爱的女生们&#xff0c;听我说&#xff01;数据分析&#xff0c;给你的未来注入浪漫与激情&#xff01;&#x1f496; 嗨&#xff0c;小姐姐们&#x1f46d;&#xff0c; 我想和你们分享一个令人兴奋的话题——数据分析&#xff01;或许你们会觉…

Liunx系统重修

Liunx中以“树”结构的形式来管理文件和文件夹的&#xff01;

ISP下载原理分析

STM32的启动方式&#xff0c;系统存储器启动就是通过ISP下载 ISP简介 ISP下载是指可以通过串行外设&#xff0c;直接将程序下载Flash中&#xff0c;然后自动运行程序的启动方式。 ISP的时候需要用到bootloder(自举程序)&#xff0c;bootloader存储在STM32内部的自举ROM存储器…

webpack踩坑

因为电脑重新装了系统 所以很多环境都需要配置 1.首先去node.js官网下载了node&#xff0c;node下载后对应的npm版本也会自动下载好 2.想要成功跑通项目&#xff0c;还需要下载webpack 全局安装webpack npm -i webpack -Dnpm install webpack-cli -g但一直在报错 查看webpac…

基于Java毕业生就业信息统计系统设计实现(源码+lw+部署文档+讲解等)

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

2023互联网Java高级工程师1080道面试题(附答案)分享

Java 面试八股文有必要背吗&#xff1f; 我的回答是&#xff1a;很有必要。你可以讨厌这种模式&#xff0c;但你一定要去背&#xff0c;因为不背你就进不了大厂。现如今&#xff0c;Java 面试的本质就是八股文&#xff0c;把八股文面试题背好&#xff0c;面试才有可能表现好。…

python字符串格式化控制数值经度

python字符串格式化通过占位符拼接演示了字符串格式化拼接的方法 但是大家应该有注意到 我们的 8.70 就变成了 8.700000 那么 我们就需要对浮点数 做一个经度控制 我们先编写如下代码 dom1 110; dom2 1234.1234567; print(dom1) print(dom2)运行结果如下 我们定义了一个整…

【RuoYi-Cloud-Plus】学习笔记 07 - Sentinel(二)Node ProcessorSlotChain 总览与知识整理

文章目录 前言参考目录版本说明学习笔记1、Sentinel 架构图2、Node2.1、入口节点 EntranceNode2.2、链路节点 DefaultNode2.3、簇点 ClusterNode2.4、统计节点 StatisticNode3、Slot Chain3.1、DefaultSlotChainBuilder3.1.1、Slot 排序的实现3.1.2、SPI 文件读取3.2、NodeSele…

Java并发工具之ThreadLocal

一、ThreadLocal 简介 1. ThreadLocal 是什么&#xff1f; ThreadLocal 字面意思是本地线程&#xff0c;其实更准确来说是线程局部变量&#xff0c;线程类 Thread 有个变量叫做 threadLocals&#xff0c;其类型就是ThreadLocal.ThreadLocalMap 类型&#xff0c;他其实不是一个…

回忆童年游戏,完美利用Python制作飞机大战(爷青回~)

名字&#xff1a;阿玥的小东东 学习&#xff1a;python、C/C 博客链接&#xff1a;阿玥的小东东的博客_CSDN博客-python&&c高级知识,过年必备,C/C知识讲解领域博主 目录 pygame包的安装 添加python环境变量 创建飞机大战窗口 飞机照片 将变量及函数抽取出来 添加多…

LeetCode:31. 下一个排列

31. 下一个排列 1&#xff09;题目2&#xff09;思路3&#xff09;代码4&#xff09;结果 1&#xff09;题目 整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。 例如&#xff0c;arr [1,2,3] &#xff0c;以下这些都可以视作 arr 的排列&#xff1a;[1,2,3]、[1…

Nacos负载均衡策略

文章目录 按权重分配流量负载均衡自定义负载均衡策略 按权重分配流量负载均衡 SpringCloud新版本&#xff08;2021.x.x&#xff09;中负载均衡器用LoadBalancer替代了Ribbon&#xff0c;默认只提供了2种负载均衡策略&#xff1a;RandomLoadBalancer 和 RoundRobinLoadBalancer。…

[冷冻电镜]IMOD使用指南

参考教程&#xff1a; Etomo Tuturial for IMOD version 4.11 1. Initial Setup 本教程提供了一个小双轴示例数据集和Etomo的分布指南&#xff0c;更详细的内容参考Tomography Guide。该版本使用1k*1k的图像而不是压缩版本。imodhelp命令可以打开帮助界面&#xff0c;查看各种…

java并发之CAS(Compare and swap)

1. 简介 CAS的底层调用native方法&#xff0c;最终是利用CPU的一个特殊指令&#xff0c;该指令由CPU保证了原子性&#xff0c;而且包含多个操作&#xff0c;比如先比较再更新。 原理&#xff1a; &#xff08;1&#xff09;需要读写的内存值&#xff08;V&#xff09;、原值…

【Kafka】Docker安装kafkajava kafka api

内容目录 一、安装zookeeper1 拉取镜像2 创建network3 启动容器 二、安装kafka1 拉取kafka镜像2 启动kafka容器3 创建topic4 创建生产者5 创建消费者 三、kafka的java api1 producer2 消费者 docker依赖于zookeeper&#xff0c;首先安装zookeeper 一、安装zookeeper 1 拉取镜像…

[PyTorch][chapter 40][数据增强]

前言&#xff1a; 深度学习对数据量要求非常大, 我们通常会遇到图像的数据集比较小,影响Train效果。 这个时候可以通过transformer 方法,增加图像的多样性,达到数据 增强的效果。 transformer 不会单独使用&#xff0c;通常和其它torch 其他类一起使用 transformer 常用方法…