目录
数据库
什么是数据库
用来存储数据的仓库 数据库可以在硬盘以及内存中存储数据
数据库与文件存储数据的区别
数据库本质也是通过文件来存储数据,数据库的概念就是系统的管理存储数据的文件
数据库介绍
数据库服务端:存放数据库的主机集群 数据库客户端: 可以连接数据库的任意客户端 数据库管理员:DBA # socket套接字的c/s架构应用
数据库基本概念
库: 多表构建一个数据库,本质就是文件夹
表:多条数据构建一张表,本质就是文件
记录: 存放一条条数据本质就是文件中的一条条数据记录
数据库分类
关系型数据库
- 有表的概念
- 以表中一条条记录存储数据
mysql,maridb 免费 ,常用 Oracle 甲骨文,收费,金融公司 sqlserver 微软,大学,政府,(汽车之家🚕) sqlite 小型的文件数据库,自用 access db2
非关系型数据库
- 没有表的概念
- 通过key-value键值对方式存储数据
MongoDB 文件型数据库 redis 微博 memcache 十年前的产品(新浪博客)
区别
关系型数据库,把数据存在硬盘中
非关系型数据库,把数据存在内存中
mysql数据库
mysql是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,被Oracle(甲骨文公司)收购.MySQL最流行的关系型数据库管理系统.在web应用方面MySQL是最好的RDBMS(关系数据库管理系统)应用软件之一
MySQL的架构
类似于socket的客户端和服务端
流程:
- MySQL服务端先启动,监听在某一个特定的端口(3306)
- MySQL客户端连接服务端
- MySQL客户端就可以发送相关的操作命令,去操作服务端存储的数据
常用参数
-u : user 用户名 -p : password 密码 -h :host 主机名或ip mysql -uroot -p -h 192.168.1.10 -P : port 默认是3306 mysql -uroot -p -h 192.168.1.10 -P 3307
数据库安装
1.下载
https://dev.mysql.com/downloads/mysql/
,下载MySQL Community Server 5.7.16
2.解压
将MySQL压缩包安装在指定目录,将文件夹移动至指定位置
3.添加环境变量
右键计算机 == 属性 == 高级系统设置 == 高级 == 环境变量 == 系统变量 == path == 添加 == 将MySQL的bin目的地址添加即可
都需要手动cd盘符,添加环境变量不需要切换盘符,可以在cmd中直接输入mysql以及mysqld
4.初始化
添加环境变量结束后,再cmd命令行中输入mysqld --initialize-insecure
,即是创建data目录,初始化数据
5.启动MySQL服务端
mysqld
即MySQL服务,cmd命令中输入mysqld
,启动MySQL服务
7.启动MySQL客户端
mysql -u root -p
启动服务,并连接MySQL服务,不要关闭上一个cmd,另打开一个cmd,输入mysql -u root -p
,进行连接MySQL的服务器
-u 是用户名,默认为root ,-p 是密码,默认为空
8.制作Windows的服务
"D:\mysql-5.7.28\bin\mysqld" --install
为了让服务端不阻塞,制作MySQL的Windows服务,在cmd命令中输入"D:\mysql-5.7.28\bin\mysqld" --install
(将MySQL的mysqld的目录放入 + --install ),如果权限不足,使用cmd 的管理员功能运行.
制作服务端的Windows的服务,使得在window中启动mysqld服务端 cmd直接启动mysql客户端,不会等待阻塞,可输入启动客户端命令
9.修改密码
知道旧密码的情况下:
法1 : 登录之前修改密码: mysqladmin -u root -p 旧密码 password "新密码" (双引号) 法2 : 登录之后修改密码: set password for root@localhost=password("新密码")
遗忘密码的情况下:
法1 : - 首先关闭系统服务中已经启动的MySQL服务端 - 绕过授权表启动服务: mysqld --skip-grant-tables; - 任意密码都可登录root用户 : mysql -uroot -P 任意 - 更新密码: 输入整条命令 :update mysql.user set authentication_string=password('') where user = 'root'; - 刷新权限 : flush privileges; - 重新启动MySQL服务 法2: #1. 关闭mysql,可以用tskill mysqld将其杀死 #2. 在解压目录下,新建mysql配置文件my.ini #3. my.ini内容,指定 [mysqld] skip-grant-tables #4.启动mysqld #5.在cmd里直接输入mysql登录,然后操作 update mysql.user set authentication_string=password('') where user='root and host='localhost'; flush privileges; #6.注释my.ini中的skip-grant-tables,然后启动myqsld,然后就可以以新密码登录了
库的基本操作
前提:连接上数据库
增
创建数据库 :
采用默认编码集 : create database 数据库名 自定义编码集 : create database 数据库名 charset = "utf8"
命名规范
可以由字母、数字、下划线、@、#、$ 区分大小写 唯一性 不能使用关键字如 create select 不能单独使用数字 最长128位
查
查看数据库全部的信息
- 纵观所有数据库 show databases; # 记得加 ';' - 详细信息 show create database 数据库名 ; - 使用数据库 use 数据库名 ; - 查看当前库中表 show tables; - 查看当前的数据库 select database();
改
更改数据库的编码集
alter database 数据库名 charset utf8 ;
删
移除数据库
drop database 数据库名 ;