数据库是什么
- 存放数据的仓库, 电子化的文件柜
数据库的作用
- 相较于Excel管理数据:
- 可以管理的数据量更大
- 可以对数据库进行并发操作
- 支持高级操作, 比如分组, 连表等
数据库的分类
关系型
- 对每一列的数据类型会有约束, 既表结构
- MySQL ---> 甲骨文, 开源免费, 用的比较多
- SqlServer ---> 微软, 大学, 政府
- Oracle ---> 甲骨文, 收费, 金融公司, 阿里
- Sqlite ---> 小型的文件数据库, 自己玩玩
非关系型
-
按key-value存储的, 没有表结构
- memcahce ---> 十年前的产品, 新浪博客
- mongodb ---> 文档型数据库
- redis ---> 微博
区别
- 储存方式: 表结构和key-value
- 存储位置: 硬盘和内存
mysql的架构
- 类似于socket的客户端和服务端
- 流程:
- mysql服务端先启动, 监听在一个特定的端口 (3306)
- mysql客户端连接服务端
- mysql客户端就可以发送相关的操作命令, 去操作服务端存储的数据
补充
- 记录: 文件中的一行内容
- 表: 文件
- 数据库: 文件夹
- 数据库管理系统: 一个软件, 如MySQL
- 数据库服务器: 一台计算机, 运行数据库管理软件
mysql的安装
安装相关
- 反正我装好了
配置相关
-
初始化
mysqld --initialize-inscure
-
启动
mysqld
-
启动客户端连接服务端 `mysql -u root -p
-
常用参数:
-u
user 用户名-p
password 密码-h
主机名或者ipmysql -uroot -p -h 192.168.1.10
-P
port 默认是3306mysql -uroot -p -h 192.168.1.10 -P 3307
-
密码找回
- 关闭mysql服务
- 在cmd中执行
mysqld --skip-grant-tables
跳过密码验证 - 在cmd中执行
mysql
--->mysql -uroot -p
- 执行如下sql指令:
update mysql.user set authentication_string=password('') where user = 'root';
flush privileges;
tskill mysql
- 重新启动mysql服务
初识mysql
操作数据库
-
增
create database 数据库名称 charset utf-8;
show create database 数据库名;
-
删
drop database 数据库名;
-
改
- 删除再添加
-
查
show databases;