mysql数据库一

本文详细介绍了关系型数据库的类型、组件、数据结构模型以及常见的数据库管理系统,如MySQL、Oracle等。同时,讲解了SQL语言的三大类别以及数据库的约束。此外,还阐述了MySQL的安装和配置过程,包括使用YUM安装、设置密码和启动服务。最后,提到了数据库的常用工具及其用法。
摘要由CSDN通过智能技术生成

数据库类型:

关系型数据库:
mysql 5.7 免费/mariadb 10.0
mysql 8.0 收费 (与mysql 5.7版本的人员不同)
oracle 收费
mongodb
sqlite
MSSQL (微软的数据库 MicroSoft 图形化数据库)
缓存数据库:
memcache
redis
DBA

数据库与excel区别:

  • 数据库可以存两种数据:文本和数字
  • excel可以存多种(以链接方式存放)

关系型数据库介绍

数据结构模型
  1. 层次模型
  2. 网状模型
  3. 关系模型(二维关系:row,column)

数据库管理系统:DBMS
关系行数据库:Relational,RDBMS
数据库结构设计:DBA

RDBMS专业名词

常见的关系型数据库管理系统:
  • MySQL:MySQL,MariaDB,Percona-Server
  • PostgreSQL:简称为pgsql
  • Oracle
  • MSSQL

SQL:Structure Query Language,结构化查询语言
约束:constraint,向数据表提供的数据要遵守的限制

实例:
#在数据库中,行叫记录,列叫字段

表一:
ID(不能重复)	NAME	AGE	(列头为字段)
1				harry	20	(行为记录)
2				tom		21	
表二:
ID	salary(工资)
1	10000
2	8000
  • 主键约束:表一中ID不能重复,例如我们的身份证不能重复,保证在一个字段或者一组字段里的数据与表中其它行的数据相比是唯一的
  • 惟一键约束:一个或多个字段的组合,填入的数据必须能在本表中唯一标识本行。允许为空(NULL)一个表上可以放置多个唯一性约束
  • 外键约束:表一与表二相约束,例如表一中21岁的tom需要查看工资,则需要在表二去查询
  • 检查性约束

索引:将表中的一个或多个字段中的数据复制一份另存,并且这些数据需要按特定次序排序存储

关系型数据库的常见组件

关系型数据库的常见组件有:

数据库:database
  	 表:table,由行(row)和列(column)组成
		数据:
索引:index
视图:view000
权限:privilege
存储过程:procedure
存储函数:function
触发器:trigger
事件调度器:event scheduler
SQL语句

三种类型:

  • DDL:Data Defination Language,数据定义语言
  • DML:Data Manipulation Language,数据操纵语言
  • DCL:Data Control Language,数据控制语言
类型对应操作
DDLCREATE:创建
DROP:删除
ALTER:修改
DMLINSERT:向表中插入数据
DELETE:删除表中数据
UPDATE:更新表中数据
SELECT:查询表中数据
DCLGRANT:授权
REVOKE:移除授权

mysql安装与配置

mysql安装

mysql安装方式有三种:

  1. 源代码:编译安装

  2. 二进制格式的程序包:展开至特定路径,并经过简单配置后即可使用

  3. 程序包管理器管理的程序包:

    3.1 rpm有两种:

     OS Vendor:操作系统发行商提供的
    
     项目官方提供的
    

    3.2 deb

实例:

#安装mysql
[root@apache yum.repos.d]# yum -y install mariadb mariadb-server
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
上次元数据过期检查:0:11:57 前,执行于 20210823日 星期一 145552秒。
软件包 mariadb-3:10.3.28-1.module_el8.3.0+757+d382997d.x86_64 已安装。
软件包 mariadb-server-3:10.3.28-1.module_el8.3.0+757+d382997d.x86_64 已安装。
依赖关系解决。
无需任何处理。
完毕!

mysql配置

实例:

[root@apache ~]# systemctl enable --now mariadb
Created symlink /etc/systemd/system/mysql.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/mysqld.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/multi-user.target.wants/mariadb.service → /usr/lib/systemd/system/mariadb.service.

#查看进程号是否运行
[root@apache ~]# ss -anlt   
State   Recv-Q  Send-Q     Local Address:Port     Peer Address:Port  
LISTEN  0       80               0.0.0.0:3306          0.0.0.0:*     
LISTEN  0       128              0.0.0.0:111           0.0.0.0:*     
LISTEN  0       32         192.168.122.1:53            0.0.0.0:*     
LISTEN  0       128              0.0.0.0:22            0.0.0.0:*     
LISTEN  0       5              127.0.0.1:631           0.0.0.0:*     
LISTEN  0       128                 [::]:111              [::]:*     
LISTEN  0       128                 [::]:22               [::]:*     
LISTEN  0       5                  [::1]:631              [::]:*     

#由于下载的是mariadb,所以mysql是没有密码的,需要手动配置

[root@apache ~]# mysql 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 10.3.28-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> set password = password("pass123!");
Query OK, 0 rows affected (0.016 sec)
MariaDB [(none)]> exit
Bye
#由于设置好了密码,则需要通过账号密码进入,否则进不去
[root@apache ~]# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[root@apache ~]# mysql -uroot -ppass123!
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 10.3.28-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> exit
Bye
#若不想查询出来则可以使用另一种方式:
[root@apache ~]# mysql -uroot -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 11
Server version: 10.3.28-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql的程序组成

客户端

  • mysql:CLI交互式客户端程序
  • mysql_secure_installation:安全初始化(建议安装完以后执行此命令)
  • mysqldump:mysql备份工具
  • mysqladmin

服务器端

  • mysqld
mysql工具使用

语法:mysql [OPTIONS] [database]

常用的OPTIONS:
-uUSERNAME //指定用户名,默认为root
-hHOST //指定服务器主机,默认为localhost,推荐使用ip地址
-pPASSWORD //指定用户的密码
-P# //指定数据库监听的端口,这里的#需用实际的端口号代替,如-P3307
-V //查看当前使用的mysql版本
-e //不登录mysql执行sql语句后退出,常用于脚本

实例:

#查看当前使用的mysql版本
[root@apache ~]# mysql -V
mysql  Ver 15.1 Distrib 10.3.28-MariaDB, for Linux (x86_64) using readline 5.1

#指定用户名及指定服务器主机,默认为localhost,推荐使用ip地址
[root@apache ~]# mysql -uroot -ppass123! -h127.0.0.1
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 17
Server version: 10.3.28-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 

#不登录mysql执行sql语句后退出,常用于脚本

[root@apache ~]# mysql -uroot -p -h127.0.0.1 -e 'SHOW DATABASES;'
Enter password: 
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+

mysql客户端工具:
mysql
navicat   商业的,收费,支持中英文
workbench   官方的,免费,英文版

navicat官方文档:
https://www.navicat.com.cn
下面进行navicat安装及使用操作:

  1. 打开文档点击产品找到需要下载的mysql页面:

找到产品

在这里插入图片描述

  1. 是什么系统对应下载什么系统就行(步骤省略)

  2. 安装操作:

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

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

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

  1. 连接mysql之前给用户登录授权
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
Query OK, 0 rows affected (0.004 sec)

  1. 连接mysql

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

  1. 查看是否成功

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值