初识MySQL数据库

目录

一、了解数据库

1.数据库的相关概念

2.数据库系统发展史

3.主流数据库产品

二、数据库分类

1.关系数据库

2.非关系型数据库

三、mysql的yum安装与源码编译安装  

1.源码编译安装mysql

2.yum安装 mysql5.7 

四、MySQL数据类型

1.常用的数据类型

五、查看数据库结构

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

2.查看数据库中包含的表

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


一、了解数据库

1.数据库的相关概念

数据(Data)

描述事物的符号记录

包括数字,文字、图形、图像、声音、档案记录等

以“记录”形式按统一的格式进行存储

表

将不同的记录组织在一起

用来存储具体数据

数据库

表的集合,是存储数据的仓库

以一定的组织方式存储的相互有关的数据集合

是按照数据结构来组织、存储和管理数据的仓库

数据库管理系统 (DBMS)

是管理数据库的系统软件,其包括数据库及用于访问、管理数据库的接口系统

主要功能是维护数据库,并方便、有效地访问数据库中各个部分的数据

数据库系统(DBS)

是一个人机系统,由硬件、OS、数据库、DBMS、应用软件和数据库用户组成

用户可以通过DBMS或应用程序操作数据库

2.数据库系统发展史

第一代数据库

自20世纪60年代起,第一代数据库系统问世
是层次模型与网状模型的数据库系统
为统一管理和共享数据提供了有力的支撑

第二代数据库

20世纪70年代初,第二代数据库系统——关系数据库开始出现
20世纪80年代初,IBM公司的关系数据库系统DB2问世,开始逐步取代层次与网状模型的数据库,成为行业主流
到目前为止关系数据库仍占领数据库应用的主要地位

第三代数据库

自20世纪80年代开始,适应不同领域的新型数据库系统不断涌现
面向对象的数据库系统,实用性强、适用面广
20世纪90年代后期,形成了多种数据库系统共同支撑应用的局面
一些新的元素被添加进主流数据库系统中

3.主流数据库产品

SQL Server(微软公司产品)

面向Windows操作系统简单、易用

Oracle(甲骨文公司产品)

面向所有主流平台安全、完善,操作复杂

DB2(IBM公司产品)

面向所有主流平台大型、安全、完善

MySQL(甲骨文公司收购)

免费、开源、体积小

二、数据库分类

1.关系数据库

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

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

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

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

2.非关系型数据库

非关系数据库也被称为NoSQL(Not Only SQL)

存储数据不以关系为依据,不需要固定的表格式

非关系型数据库的优点

  • 可高并发读写
  • 对海量数据依旧保持着高效率的存储和访问
  • 具有高扩展性和高可用性

非关系型数据库(NoSQL)  存储结构:非二维表格结构,不同类型的NoSQL采用不同的存储结构,比如 键值对、文档、索引、时间序列 等
缓存型   Redis   Memcached
文档型   MongoDB
索引型   Elasticsearch
时序型   Prometheus   InfluxDB
列式型   HBase
 

三、mysql的yum安装与源码编译安装  

1.源码编译安装mysql

---------------安装环境包-----------------确认安装 gcc 、 gcc-c++ 、make、cmake 
ncurses-devel、(字符终端屏幕控制基本库)
bison、(语法分析器)
libaio-devel (支持同步I/O)的软件包
yum -y install gcc gcc-c++ make ncurses ncurses-devel bison cmake libaio-devel
yum install autoconf -y     ####安装5.6版本是需要安装autoconf库---------------添 加mysql用户并加入到mysql组----------------useradd  -s /sbin/nologin mysql
mkdir -p /usr/local/mysqltar zxvf mysql-5.5.24.tar.gz -C /opt/cd   mysql-5.5.24cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/home/mysql \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306                               指定安装路径
指定家目录  sock 数据库连接文件
指定字符集
指定字符编码
扩展性的字符集 支持其他的字符集
开启各种功能的存储引擎机
存储引擎机
存储引擎机
支持readline程序平台 读取数据按行读取,一行是一个对象
本地写入文件,方便导入导出
数据库的家目录  数据库存放的路径
指定管理用户和端口号make -j 2 && make install  ------如果报错,清空缓存文件-如果正常可忽略-------
find -name CMakeCache.txt
rm -f ./CMakeCache.txt                          
---------------------------------chown -R mysql:mysql /usr/local/mysql     export PATH=$PATH:/usr/local/mysql/bin/   \*开机时刷新*\          或者可选择vi /etc/profile 在最后一行加入后 运行source /etc/profile cp support-files/my-medium.cnf /etc/my.cnf                  
或
cp support-files/my-default.cnf /etc/my.cnfcp support-files/mysql.server /etc/init.d/mysqld              chmod 755 /etc/init.d/mysqld                             
chkconfig --add /etc/init.d/mysqld                      
chkconfig mysqld --level 35 on                                  --------------初始化数据库------------------------------------------------
/usr/local/mysql/scripts/mysql_install_db \
--user=mysql \
--ldata=/var/lib/mysql \
--basedir=/usr/local/mysql \
--datadir=/home/mysqlln -s /var/lib/mysql/mysql.sock /home/mysql/mysql.sock           /*直接建立软连接*/vi /etc/init.d/mysqld      #####46行和47行添加
basedir=/usr/local/mysql
datadir=/home/mysqlservice mysqld start
netstat -tnl 3306
mysql    #####初始登录mysql
grant all privileges on *.* to 'root'@'%' identified by 'abc123';    ### ##授予root用户可以在所有终端远程登录,使用的密码是abc123,并对所有数据库和所有表有操作权限。#数据库密码设置
mysqladmin -u root password "abc123"
---------------------------------------------------------------
mysql -u root  -p  
abc123
mysql>show databases;

2.yum安装 mysql5.7 

1. #创建mysql安装包的在线源cd /etc/yum.repos.d/vim mysql.repo[mysql]name=mysql5.7baseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-5.7-community-el7-x86_64/gpgcheck=02. #安装服务mysql-community-serveryum -y install mysql-community-server3. #启动服务systemctl start mysqldss -ntap |grep 33064. #此时无法使用mysql命令直接登入数据库。需要查看本地root用户的默认密码,使用密码登录。grep password /var/log/mysqld.log    #查看默认密码mysql -u root -p'YxaXuEFe4?ir'       #使用密码登录,特殊符号用单引号引起来5. #登入数据库后必须修改密码。mysql> alter user root@'localhost' identified by 'abc123';​#为保证安全,密码的复杂性要足够,需要包含英文字母大小写、数字和特殊字符。​#可以使用"\h;"查看帮助

数据库当前使用的端口查看:

show global variables like 'port';

四、MySQL数据类型

1.常用的数据类型

数据类型含义
int整型   无符号[0,2^32-1],有符号[-2^31,2^31-1]
float单精度浮点    4字节32位
double双精度浮点    8字节64位
char固定长度的字符类型
varchar可变长度的字符类型
text文本
image图片
decimal(5,2)5个有效长度数字,小数点后面有2位

char和varchar类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。 

字节大小:

char无论是否有值,都会占用固定长度的字节大小,保存在磁盘上都是4字节
varchar在保存字符时,默认会加一个隐藏的结束符,因此结束符会多算一个字节

优劣比较:

varchar比char节省磁盘空间
但varchar类型的数据读写速度比char慢,因为char是连续的磁盘空间,而varchar在多次增删改查中会产生一些磁盘空间碎片

五、查看数据库结构

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

 DESCRIBE [数据库名.]表名;可缩写成:DESC 数据库名.表名;
SHOW DATABASES;                        #大小写不区分,分号“;”表示结束

2.查看数据库中包含的表

USE 数据库名;
SHOW TABLES;

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

方式一:先切换库,在查看指定表的字段

 USE  数据库名;      #切换库DESCRIBE 表名;     #查看指定表的结构(  DESCRIBE 可以缩写为DESC)
由于屏幕占比问题与字段数量问题,会导致有些表结构的效果呈现并不好。(由于默认查看为横向的查看 ) 

纵向查看方式:

​desc  表名\G;

方式二:直接查看表结构

 DESCRIBE [数据库名.]表名;可缩写成:DESC 数据库名.表名;

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

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

相关文章

高性能8位单片机 CA51M151,1T 8051内核 / 内置12位ADC / 16 位PWM / 支持触摸 / 8K MTP

CA51M151 系列芯片是基于 1T 8051 内核的 8 位微控制器,不仅保留了传统 8051 芯片的基本特性,通常情况下运行速度比传统的 8051 芯片快 10 倍,性能更加优越。芯片内置 8 KB MTP 程序存储器,256Byte 内部RAM,512Byte 外…

持绪电商:开一家抖音网店大概多久才能做起来

在数字化浪潮的推动下,抖音不仅是年轻人喜爱的短视频平台,更成为电商的新阵地。不少创业者和品牌纷纷入驻,希望能借力抖音的流量红利实现快速成长。但开设一家抖音网店并使其蓬勃发展,并非一朝一夕之事,它需要策略、耐…

植物大战僵尸(杂交版)最新版V2.1来袭!

【新手指导】最新版v2.1来袭 1.闪退怎么办? 答:窗口模式可以解决大部分问题。输入法转换成英文也可以。最后一种办法管理员运行,再后台可运行,即便不是窗口也不会闪退,亲测有效 2.哪里下载? 答:夸克网盘htt…

【网络编程】套接字的多种可选项

可以看出&#xff0c;套接字可选项是分层的。IPPROTOIP层可选项是IP协议相关事项IPPROTO TCP层可选项是TCP协议相关的事项&#xff0c;SOLSOCKET层是套接字相关的通用可选项 getsockopt&&setsockopt #include <sys/socket.h> int getsockopt(int sock, int lev…

呼叫中心系统的基本功能需求okcc呼叫中心pscc磐石云

呼叫中心系统的基本功能需求&#xff1a; 1、自动分配来电话务量&#xff0c;保证客户电话的最高接入率&#xff1b; 2、软电话功能&#xff1a;示忙&#xff0f;示闲&#xff0c;主叫、被叫号码显示&#xff0c;来话保持、来话转移&#xff0c;呼出&#xff0f;内部呼叫&#…

postgresql报错:列“XXX”必须出现在GROUP BY子句中或在聚合函数中使用

背景 我在做一个对关联的几张表进行select的操作时&#xff0c;因为有写重复数据&#xff0c;我只需要其中一条&#xff0c;所以我按照字段写了一个group by&#xff0c;希望每个分组只保留一条数据给我就行了。但是一致性就报如题所示的错误。 原因 据了解&#xff0c;post…

【JMeter接口测试工具】第二节.JMeter项目实战(下)【实战篇】

文章目录 前言一、接口弱压力测试二、高并发、高频率三、生成图形化报告总结 前言 一、接口弱压力测试 场景举例&#xff1a; 场景1:模拟半小时之内 1000 个用户访问服务器资源&#xff0c;要求平均响应时间在3000ms内&#xff0c;且错误率为0 实现步骤&#xff1a; 步骤一&am…

VirtualBox、Centos7下安装docker后pull镜像问题

Docker安装篇(CentOS7安装)_docker 安装 centos7-CSDN博客 首先&#xff0c;安装docker可以根据这篇文章进行安装&#xff0c;安装完之后&#xff0c;我们就需要去通过docker拉取相关的服务镜像&#xff0c;然后安装相应的服务容器&#xff0c;比如我们通过docker来安装mysql,…

什么是场外期权?场外期权有几种做法?

今天带你了解什么是场外期权&#xff1f;场外期权有几种做法&#xff1f;期权分为场内期权&#xff0c;场外期权。场内期权我们都知道&#xff0c;是在期货盘里购买的期权&#xff0c;但场外期权呢&#xff1f; 什么是场外期权&#xff1f; 场外期权是一种在交易所之外进行交易…

拿下SOTA!最强中文Embedding模型对标OpenAI,技术路线公开

国产大模型「日日新 5.0」已经在权威主流评测中鲨疯了。变强的背后原因竟是&#xff0c;来自商汤自研中文Embedding模型——Piccolo2。这是首个对标OpenAI向量长度的模型。 国产大模型最近在权威主流评测中「杀」疯了&#xff01; 商汤「日日新 5.0」在中文大模型测评基准Sup…

一键安全体检!亚信安全携手鼎捷软件推出企业安全体检活动 正式上线

亚信安全联合鼎捷软件股份有限公司&#xff08;以下简称“鼎捷软件”&#xff09;正式推出“一键安全体检”服务。亚信安全网络安全专家将携手鼎捷软件数据安全专家&#xff0c;围绕企业的数智安全状况&#xff0c;进行问题探索与治愈、新问题预测与预警&#xff0c;在全面筛查…

公司面试题总结(六)

31.说一说 webpack 的构建流程是什么&#xff1f; ⚫ 初始化流程&#xff1a; ◼ 从配置文件和 Shell 语句中读取与合并参数 ◼ 初始化需要使用的插件和配置插件等执行环境所需要的参数 ⚫ 编译构建流程&#xff1a; ◼ 从 Entry 发出&#xff0c;针对每个 Module 串行…

MySQL数据库初识

目录 一.数据库相关概述 1.数据库概念 数据&#xff08;Data&#xff09; 表 数据库系统 2.数据库系统发展史 当今主流数据库介绍 3.数据库分类 3.1.关系数据库 3.2.非关系型数据库 二.MySQL数据库安装 1.源码编译安装mysql 2.yum安装mysql 一.数据库相关概述 1.…

NoC进阶

从实践角度,第一步看节点,节点个数,ports数,延迟要求等,初步选择拓扑结构; 再认真分析traffic, 从哪到哪,哪里更多,哪里更近,看看有没有带宽瓶颈; 最后调整路由算法或者拓扑结构。 NoC就像是路网。 设计拓扑结构应该是网络设计的第一步。 后面是路由算法 拓扑结…

Clearedge3d EdgeWise 5.8 强大的自动化建模软件

EdgeWise是功能强大的建模软件&#xff0c;提供领先的建模功能和先进的技术&#xff0c;让您的整个过程更快更准确&#xff01;您可以获得使用自动特征提取和对象识别的 3D 建模&#xff0c;ClearEdge3D 自动建模和对象识别软件通过创建竣工文档和施工验证完成该过程。拓普康和…

canvas记录1:canvasPutImageData

对于GCanvas&#xff08;一个跨平台的2D图形渲染引擎&#xff09;中的canvasPutImageData&#xff08;或更常见的putImageData方法&#xff0c;因为GCanvas通常遵循Canvas API的标准&#xff09;&#xff0c;其使用方式与HTML5 Canvas API中的putImageData方法非常相似。以下是…

python+selenium做ui自动化测试用法必会

一、前言   大家都知道&#xff0c;基于Web端的测试的基础框架是需要Selenium做主要支撑的&#xff0c;这里边给大家介绍下Web测试核心之基于Python的Selenium Selenium是用于测试Web应用程序用户界面(UI)的常用框架。它是一款用于运行端到端功能测试的超强工具。您可以使用多…

Ajax的应用

1. Ajax Ajax是Asynchronous Javascript And XML&#xff08;异步JavaScript和XML&#xff09;的缩写。 Ajax技术描述了使用脚本操纵HTTP和Web服务器进行数据交换&#xff0c;在页面不刷新的情况下&#xff0c;实现页面的局部更新。 重点&#xff1a; Ajax 是一种在无需重新加…

气膜结构的使用寿命及其优势—轻空间

气膜结构以其独特的构造方式和显著的优势&#xff0c;在体育馆、展览馆、临时建筑等领域越来越受欢迎。尽管气膜结构的使用寿命与传统钢结构相比可能较短&#xff0c;但其在成本、建造速度、灵活性等方面的优势使其成为许多应用场景中的理想选择。本文将详细探讨气膜结构的使用…

如何基于Excel文件图形化从零建表并导入数据(以MySQL和SQLynx为例)

目录 1. 准备Excel数据 2. 导入Excel数据 a. 登录SQLynx b. 导入Excel文件 3. 验证数据 4. 使用和管理表 5. 总结 在实际的业务过程中&#xff0c;我们经常会有很多数据存储在Excel中&#xff0c;但在Excel中的数据分析不如使用SQL和数据库方便&#xff0c;数据量大些的…