文章目录

  • 一、Mysql的基本概念
  • 1.1数据库有哪些组成
  • 数据
  • 数据库
  • 1.2数据库系统和数据库管理系统
  • 1.3数据库的发展史
  • 二、数据库的分类
  • SQL语句 DDL DML DQL DCL
  • 三、数据库的数据类型
  • 三、数据库的操作
  • 3.1查看数据库的结构
  • 3.2创建及删除数据库和表
  • 3.3管理表中的数据记录
  • 3.4修改表名和表结构


Linux操作系统:centos Ubuntu suse
国产系统:华为:欧拉、阿里:龙蜥 腾讯:tencentOS 麒麟(银河麒麟、中标麒麟-> centos 优麒麟-> Ubuntu ) 统信 红旗

一、Mysql的基本概念

1.1数据库有哪些组成

数据

  • 描述事物的符号标记
  • 包括数字、文字、图形、图像、声音、档案记录等
  • 以“记录”形式按统一的格式存储

  • 将不同的记录组织在一起
  • 用来存储具体的数据

数据库

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

数据库中有表,表中有记录。

1.2数据库系统和数据库管理系统

数据库管理系统:

  • 是实现对数据库资源有效组织,管理和存取的系统软件

数据库的建立和维护功能、数据定义功能、数据操纵功能、数据库的运行管理功能、通信功能

数据库系统:

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

mysql list 存数据库 mysql存储集合_mysql

1.3数据库的发展史

第一代数据库

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

第二代数据库

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

第三代数据库

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

二、数据库的分类

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

关系型数据库

  • 关系数据库系统是基于关系模型的数据库系统
  • 关系模型的数据结构使用简单易懂的二维数据表
  • 关系模型可用简单的“实体-关系”(E-R)图来表示
  • E-R图中包含了实体(数据对象)、关系和属性三个要素

关系型数据库SQL 的存储结构为二维表,由库、表、数据组成其中数据是由行(字段)和列(记录)组成

  • 每一行称为一条记录,用来描述一个对象的信息
  • 每一列称为一个字段,用来描述对象的一个属性
  • 关系型数据库典型代表: Mysql(5.7/8.0) Mariadb PostgreSQL Oracle SQL Server DB2
    国产数据库代表: 阿里云RDB 华为 高斯 腾讯 TDBA 阿里 Oceanbase 人大金仓 达梦

非关系型数据库介绍

  • 非关系数据库也被称作NoSQL (Not Only sQL)
  • 存储数据不以关系模型为依据,不需要固定的表格式
  • 非关系型数据库的优点
  • 数据库可高并发读写
  • 对海量数据高效率存储与访问
  • 数据库具有高扩展性与高可用性
  • 非关系型数据库:

缓存型:Redis Mecached

文档型:MongoDB

搜索型:ElasticSearch(ES)

时序型:Prometheus InfluxDB

SQL语句 DDL DML DQL DCL

  • DDL 主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用,主要的命令有CREATE、ALTER、DROP、TRUNCATE等
  • DML 用来对数据库里的数据进行操作的语言,;例如UPDATE、INSERT、DELETE
  • DQL 数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块
  • DCL 是数据库控制功能。是用来设置或更改数据库用户或角色权限的语句

三、数据库的数据类型

常用的数据类型:

数据

作用

int:

整型 无符号【0,2^32-1】,有符号【-2^31,2^32-1】

float:

单精度浮点 4字节32位

double:

双精度浮点 8字节64位

char:

固定长度的字符类型

varchar:

可变长度字符类型

text:

文本

image:

图片

decimal(5,2)

五个有效长度数字,小数点后面有2位

char与varchar的区别 :


CHAR(4)

存储需求

VARCHAR(4)

存储需求

‘’

’ ’

4个字节

‘’

1个字节

‘ab’

'ab ’

4个字节

‘ab’

3个字节

‘abcd’

‘abcd’

4个字节

‘abcd’

5个字节

‘abcdefgh’

‘abcd’

4个字节

‘abcd’

5个字节

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

字节大小:

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

优劣比较:

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

浮点数的含义:
float(m,d)

设个字段定义为float(6,3),如果插入一个数123.4578实际存入库里的是123.457,整数部分最大是3位,如果插入数12.123456,存储的是12.1234,如果插入12.12,存储的是12.1200

三、数据库的操作

3.1查看数据库的结构

1、查案看当前数据库

show databases;

mysql list 存数据库 mysql存储集合_数据_02

2、查看数据库当中包含的表
方法一:
use 数据库名;
show tables;

mysql list 存数据库 mysql存储集合_字段_03

方法二:
show tables from 数据库名

mysql list 存数据库 mysql存储集合_数据库_04

3、查看表的结构

use 数据库名;
desc 表名;

mysql list 存数据库 mysql存储集合_字段_05

SQL语句

SQL语句用于维护管理数据库,包括数据查询、数据更新、

SQL语言分类:

  • DDL: 数据定义语言,用于创建数据库对象,如库、表、索引等
  • DML:数据操纵语言,用于对表中数据进行管理
  • DQL:数据查询语言,用于从数据表中查找符合条件的数据记录
  • DCL:数据控制语言,用于设置或者更改数据库用户或角色权限

3.2创建及删除数据库和表

1、创建新的数据库

create database 新的数据库名;

mysql list 存数据库 mysql存储集合_字段_06

2、创建新的表

use 数据库名;
create table 新的表名 (字段一 数据类型,字段二 数据类型,primary key (主键名));

  • 主键一般选择能代表唯一性的字段不允许取空值(NULL),一个表只能有一个主键。

mysql list 存数据库 mysql存储集合_mysql list 存数据库_07

3、删除指定的数据表

drop 数据库名.数据表名;

mysql list 存数据库 mysql存储集合_mysql list 存数据库_08

4、删除数据库名

drop database 数据库名;

mysql list 存数据库 mysql存储集合_mysql list 存数据库_09

3.3管理表中的数据记录

use class;
insert into 数据库名 (字段一,字段二,字段三)values (记录1,记录2,记录3);

mysql list 存数据库 mysql存储集合_数据库_10

2、查询数据记录

select * from 表名;

mysql list 存数据库 mysql存储集合_字段_11

select * from 数据表名 limit 2; # 查看表的前两行

mysql list 存数据库 mysql存储集合_mysql_12

select * from 数据表名 limit 2,3; #查看表前两行的后三行

mysql list 存数据库 mysql存储集合_字段_13

select * from 数据表名 where 表达式;#查询表中所有符合条件的

3、修改数据表中的数据记录

update 数据表名 set 字段1=字段值1,字段2=字段值2 where 条件表达式;

mysql list 存数据库 mysql存储集合_mysql_14

4、删除数据

delete from 数据表名 where 表达式;

mysql list 存数据库 mysql存储集合_mysql list 存数据库_15

3.4修改表名和表结构

1、修改表名

alter table 旧表名 rename 新表名;

mysql list 存数据库 mysql存储集合_mysql list 存数据库_16

2、拓展表结构

alter table 数据表名 add 新的字段 数据类型 default ‘默认值’

mysql list 存数据库 mysql存储集合_数据库_17

3、修改字段名,并添加唯一值

alter table 数据表名 change 旧字段名 新字段名(数据类型) unique key;

mysql list 存数据库 mysql存储集合_数据_18

4、删除字段

alter table 数据表名 drop 字段名;

mysql list 存数据库 mysql存储集合_数据_19