数据库基础知识
目录
数据库软件
一、存取数据的演变史
1.文本文件》》》文件路径不同 数据格式不统
2.软件开发目录规范》》》规定了数据应该保存在db目录下 路径偏向统一了
3.数据库服务》》》统一路径 统一操作方式 因而 降低学习成本 提高开发效率
二、数据库软件应用史
1.单机游戏:数据存储在各个计算机本地 无法共享
2.网络游戏:数据存储于网络中 可以共享(数据库服务)
'''
数据库服务集群:提升数据的安全性
'''
三、数据库的本质
1.在底层原理的角度分析:数据库是指操作数据的进程(一堆代码)
2.在实际应用的角度分析:数据库是指可视化操作界面(一些软件)
'''
不做任何特殊说明的情况下 数据库值得就是数据库软件
数据库软件本质也是CS架构的程序
就意味着程序员其实都可以编写一款数据库软件
'''
四、数据库的分类
1.关系型数据库
拥有固定的表结构(字段名 字段类型) 数据之间可以建立数据层面关系
1.MySQL:开源免费 使用最广 性价比搞
2.Oracle:收费 使用成本搞 但是安全性也最搞
3.PostgreSQL:开源免费 支持二次开发 兼容性极高
4.MariaDB:跟MySQL是同一个作者 开源免费
5.sqlite:小型数据库 主要用于本地测试
2.非关系型数据库
没有固定的表结构数据存储采用K:V键值对的形式 数据之间无法建立数据库层面的关系
1.redis:目前最火 使用频率最高的非关系型数据库(缓存数据库)
2.mangoDB:文档型数据库 最像关系型数据库的非关系型数据库
3.memcache:已经被redis淘汰了
五、MySQL简介
1.版本问题
8.0:最新版
5.7:使用频率最高
5.6:学习推荐
2.下载流程
1.访问官网
2.点击DOWNLOADS并点击QPL
3.点击community server
4.点击Archives
5.选择对应系统版本下载
3.主要目录介绍
bin目录:存放启动文件 mysqld.exe(服务端) mysql.exe(客户端)
data目录:存放核心数据 my-default.ini 默认的配置文件
readme:软件说明
六、 MySQL的基本使用
1.基本操作
cmd建议使用管理员身份打开
1.切换到mysql的bin目录下先启动服务端 mysqld
2.保持窗口不关闭 重新打开应该新的cmd窗口
3.切换到mysql的bin目录下启动客户端mysql
'''
直接使用mysql命令默认是游客模式 权限和功能很少
管理员默认是没有密码 连续敲回车即可
mysql -uroot -p
'''
2.系统服务的制作
1.先把bin目录添加到环境变量中(清空之前打开的cmd窗口 一定要把之前用cmd启动的服务端关闭)
2.将MySQL添加到系统服务中(以管理员身份运行cmd 然后输入mysqld --install)
如何查看系统服务的cmd命令(cmd输入servers.msc回车)
3.首次添加不会自动启动 需要认为操作一下(命令启动 net start mysql)
如何卸载重新安装(1.先关闭服务端 net stop mysql 2.移除系统服务 mysqld --remove)
3.密码相关操作
1.修改密码
mysqladmin -u用户名 -p原密码 password 新密码
2.忘记密码
卸载重新安装
七、SQL与NoSQL
SQL:操作关系型数据库语言
NoSQL:操作非关系型数据库语言
八、数据库相关概念
1.库:相当于文件夹 show databases
2.表:相当于文件夹里面的文件 show tabels
3.记录:相当于文件里面一行行数据 select * from mysql.user;
九、常见基本SQL语句(重点)
"""切记>>>:sql语句必须以分号结尾"""
# 基于库
1.创建库 create database 库名;
2.查看库 show databases;
3.编辑库 alter database 库名 charset='utf8';
4.删除库 drop database 库名;
# 基于表
操作表之前需要先确定库 create database db1;
切换操作库 use db1;
1.创建表 create table 表名;
2.查看表 show table;
3.编辑表 alter table 表名 rremane 新表名;
4.删除表 drop table 表名;
# 基于记录
1.插入数据 insert into 表名 values(数据值1, 数据值2);
2.查询数据 select * from 表名;
3.编辑数据 update 表名 set 字段名=新数据 where 筛选条件;
4.删除数据 delete from 表名;或 delete from 表名 where id=2;