MySQL数据库基础理论、部署与使用

本文介绍了MySQL数据库的基础理论,包括关系型与非关系型数据库的特性,并详细讲解了MySQL-5.7的部署步骤。此外,还涵盖了MySQL的基础操作,如增、删、改、查语句的使用,帮助读者掌握数据库管理和操作。
摘要由CSDN通过智能技术生成

目录

一、MySQL数据库

Ⅰ、数据库的类型

(1)关系数据库

(2)非关系型数据库(NoSQL)

Ⅱ、MySQL数据库的字符类型()

二、MySQL-5.7的部署

Ⅰ、编译安装

Ⅱ、调整配置文件

Ⅲ、初始化数据库

 三、MySQL基础操作(增、删、改、查)语句

Ⅰ、查(DML语句)

(1)查看所有库

(2)查看指定库的表

(3)查看表结构

(4)查看指定表的指定信息

Ⅱ、增(DDL语句)

(1)创建新的库和表

(2)以已创建的表为基准创建表(克隆)

 (3)向表中插入数据

Ⅲ、删(DDL语句)

(1)删除表、库

(2)删除数据(delete、truncate、drop)

(3)删除表字段

Ⅳ、改(DML语句)

(1)修改数据记录

(2)修改表结构、表名、表字段


一、MySQL数据库

一款深受欢迎的开源关系型数据库,遵守GPL协议,可以免费使用与修改

常用版本:MySQL-5.7

mysql是目前最流行的关系型数据库管理系统,也是在WEB应用方面最好的应用软件之一,而学习mysql操作对于我们学习mysql数据库是必不可少的。

Ⅰ、数据库的类型


(1)关系数据库


关系数据库结构是二维数据库表,二维表当中每个字段(列)用来描述对象的一个属性,每个记录(行)用来描述一个对象的信息,关系数据库写到哪里也就是存储在硬盘当中
读写系统就会受到的Io限制或者瓶颈,关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织


优点:易于维护:都是使用表结构,格式一致;使用方便,SQL语言通用,可用于复杂查询;
复杂操作,支持sQL,可用于一个表以及多个表之间非常复杂的查询。
缺点:读写性能比较差,尤其是海量数据的高效率读写;固定的表结构,灵活度稍欠;高并发读写需求,传统关系型数据库来说,硬盘I/o是一个很大的瓶颈。


(2)非关系型数据库(NoSQL)


MongoDB 、 Redis(内存数据库/缓存数据库)K-V键值对、与之类似的Memcache,K-V键值对
redis-memecache对比:
相同点:存储高热数据(在内存中高速运行)
不同点:redis可以做持久化保存,可以存储对象

非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值对等。

优点:格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等;使用灵活,应用场景广泛,而关系型数据库则只支持基础类型;速度快,nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘;高扩展性;成本低,nosql数据库部署简单,基本都是开源软件。


缺点:不提供sql支持,学习和使用成本较高;无事务处理;数据结构相对复杂,复杂查询方面稍欠。

Ⅱ、MySQL数据库的字符类型()

类型 说明
int   整形(定义整数类型数据)
float 单精度浮点。4字节32位。准确到小数点后六位
double   双精度浮点。8字节64位
char 固定长度的字符类型,定义字符类数据,不足的空格补齐
varchar 可变长度的字符类型
text 文本
image 图片
decimal(5,2) 5个有效长度数字,小数点后面有2位,指定长度数组

二、MySQL-5.7的部署

Ⅰ、编译安装

如果linux系统中已经安装了mariadb数据量,则必须先将其删除

#查看
rpm -q mariadb
#删除
yum remove mariadb

MySQL官方站点:https://dev.mysql.com/

编译安装所需的编译器等,创建一个mysql用户管理

yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake
adduser -s /sbin/nologin mysql

 对安装包进行解压缩,然后进行编译安装

tar -zxvf mysql-5.7.*.tar.gz -C /opt
cd ../mysql-5.7.*
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \		#指定安装路径(目录)
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \	#指定通信文件,连接数据库,通讯协议的载体
-DSYSCONFDIR=/etc \								#配置文件目录指向/etc
-DSYSTEMD_PID_DIR=/usr/local/mysql \			#指定pid目录文件
-DDEFAULT_CHARSET=utf8 \						#字符集设定
-DDEFAULT_COLLATION=utf8_general_ci \			#字符集设定
-DWITH_INNOBASE_STORAGE_ENGINE=1 \				#以下三行均为存储引擎ENGINE
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \			#指定数据存放位置
-DWITH_BOOST=boost \							#底层C++运营库 独立的表空间结构
-DWITH_SYSTEMD=1								#守护进程id 守护进程 

make && make install
#权限管理
chown -R mysql:mysql /usr/local/mysql/

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1

Ⅱ、调整配置文件

[root@localhost mysql-5.7.20]# vi /etc/my.cnf
[root@localhost etc]# vim my.cnf
#删除原有内容,添加以下内容
[client]					#client 用户程序
port = 3306				
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysql]						#mysql 软件内容 
port = 3306					#端口
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysqld]					#以后对mysql配置时 更多的会针对于mysqld进行配置
user = mysql				#程序用户
basedir = /usr/local/mysql	#工作目录
datadir = /usr/local/mysql/data		#数据文件目录
port = 3306					#端口
character_set_server=utf8	#服务的字符集
pid-file = /usr/local/mysql/mysqld.pid	#PID文件目录
socket = /usr/local/mysql/mysql.sock	#通讯文件
server-id = 1
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值