数据库
一、定义
1、数据库(database):数据的仓库,它是保存和管理数据的仓库。
2、如果希望在程序中实现数据的持久化操作,数据库就是一种非常好的解决方案。
BATCMD – 百度、阿里、腾讯、携程、美团、滴滴、
IOE – > IBM小型机 / Oracle数据库 / EMC存储设备 -----> 贵
x86服务器 / MySQL / DFS ----> 去IOE运动 ----- 性价比非常高
二、类型
数据库的分类:
- 关系型数据库(SQL)
- 理论基础:关系代数+ 集合论
- 具体表象:用二维表保存数据
- 行:记录
- 列:字段(属性)
- 编程语言:结构化查询语言(Structured Query Language)
- DDL(数据定义语言):建库、建表、删库、删表、修改表
- create 、drop、alter
- DML(数据操作语言):
- Insert 、 delete 、 update
- delete 。。where
- update set
- DQL(数据查询语言):select
- DCL
- DDL(数据定义语言):建库、建表、删库、删表、修改表
- 非关系型数据库(NoSQL)
- NewSQL数据库
三、关系型数据库
关系型数据库的产品:
- Oracle
- MySQL
- PostgreSQL
- SQL Server
- DB2
- SQLite (嵌入式数据库)
安装MySQL:
- RPM - Redhat Package Manager
- mysqld ----> 代表一个守护进程
启动MySQL:
- systemctl start mysqld / systemctl stop mysqld / systemctl restart mysqld
- systemctl status mysql
- netstat -ntlp | grep mysql ----> 3306
使用客户端工具连接MySQL服务器
- mysql -u root -p
- 输入密码
- mysql> (代表已经连上)
- mtsql> alter user ‘root’@‘localhost’ identified by ‘新的密码’; -----> 修改密码
- mysql> show databases; ------> 显示所有数据库
- 在mysql里面写完一句命令语句一定要打分号(;)
客户端图形化工具:
- MySQL Workbench
- Navicat 15 for MySQL -----> 简单、优雅、付费
- SQLyog ----> EE / CE
- Toad for MySQL
下面以Navicat为例
修改root账号,允许远程连接
-
首先修改一下阿里云的防火墙,允许远程访问3306端口
-
use mysql;
-
update user set host=’%’ where user=‘root’;
-
flush privileges;
当连接不上的时候:
- 检查阿里云的白名单是否设置
- 检查防火墙是否允许3306访问
- 在MySQL里面检查:select user, host from user;
Navicat的使用方法:
- 可以直接右键新建表和库
- 点击查询按钮 -----> 新建查询 :该地方就是我们可以写SQL语句的地方
- 直接点击运行时运行所有的,选中之后再点击运行是只运行选中的SQL语句
- 可以保存下来下次再重新运行,或者修改
- 如果想在命令行里面敲命令,直接在数据库右键,点击命令列界面,就可以在里面敲命令