一、数据库基础概念
1.1 什么是数据库
用于存储数据的仓库,只不过这里的数据库指的是使用计算机来存储数据的。
1.2 数据库的组成
由表、表与表之间的关联关系、操作对象(如索引、视图等)共同组成。
1.3 数据存储方式
传统存储方式
- 靠记忆存储:
- 容易遗忘
- 在传承数据过程中易发生偏差
- 靠载体记忆存储:
- 绳结记忆 石刻 甲骨 竹简 布匹 纸张
计算机存储方式
- 基于内存存储:
- 临时存储(断电后数据丢失)
- 基于磁盘存储:
- 永久保存数据(断电后数据保留)
1.4 数据库存储的优点
- 支持大数据量存储
- 存储速度快,支持高效索引查询与维护
- 保障数据一致性与完整性
- 实现数据共享与安全控制
- 可通过组合查询生成新信息
1.5 数据库的发展史
萌芽阶段
- 存储形式:文件存储(如Excel、CSV、TXT等)
初级阶段
- 模型类型:
- 网状模型
- 层次模型
中级阶段
- 核心技术:
- 关系型数据库(RDB - Relational Database)
- SQL(Structured Query Language,结构化查询语言)
高级阶段
- 主流模型:
- "关系-对象"模型
- 当前项目仍以关系型数据库为主流
二、数据库核心概念
2.1 关系模型
将现实世界视为由独立实体及其属性构成,实体对应数据库表,属性对应表字段。
2.2 表间关系
关系类型 | 描述 | 示例 |
---|---|---|
一对一 | 表A与表B的某行相互关联 | 班级与班长 |
一对多 | 表A的一行关联表B的多行 | 班级与学生 |
多对多 | 表A与表B的多行相互关联 | 教师与学生 |
2.3 数据库管理系统(DBMS)
-
核心功能:
管理数据库的存储、安全、事务等操作 -
分类:
类型 代表产品 典型应用场景 商业数据库 Oracle、DB2 金融、通信、制造业 开源数据库 MySQL、PostgreSQL 互联网、中小企业 内存数据库 Redis、Memcached 高速缓存 大数据 HBase、Hive 海量数据处理
三、MySQL数据库
3.1 简介
mysql数据库是一个免费开源的关系型数据库管理系统,是瑞典的mysql AB公司的产品,08年被美国sun以10亿美金收购,09年被oracle公司以74亿美金收购。
3.2 特点
- MySQL 是开源的,不需要支付额外的费用。
- MySQL 支持大型的数据库。支持5000万条记录的数据仓库,32位系统表文件最大可支持4GB,64位系统支持最大的表文件为8TB。
- MySQL 使用标准的SQL数据语言形式。
- MySQL 可以运行于多个系统上,并且支持多种语言。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
- MySQL 对PHP有很好的支持,PHP是目前最流行的Web开发语言。
3.3 环境部署
1.xampp集成环境部署安装
- 只需要安装xampp集成环境就可以了,apache服务器,mysql数据库,php,perl编程语言环境
- 启动mysql
2.独立安装部署:
- 选择跳过更新安装
- 选择默认的―Development Default‖进行安装,表示用于开发目的,包含绝大部分实用工具:
- 对于其它依赖组件,保持默认即可:
- 安装过程如下图所示
- 对 MySQL 进行基础配置,保持默认即可,也可以在“Config Type”中选择“Server Machine”
- 输入默认用户“root”的密码,如“123456”
- 选择是否让 MySQL 随 Windows 启动而自动启动,为了加快 Windows 启动速度,不建议自动启动,而是在我们需要的时候手工启动最好:
- 后续操作保持默认,一路向下即可完成安装。
3.登录mysql数据库:
3.1 命令行登录mysql数据库
-
mysql -uroot -p
-
mysql -u root -p [-P 3306]按回车键,再输入密码
-u:username
-p:password
-P:端口
3.2 通过工具登录mysql数据库
-
work bench -- mysql自带的一个基于界面的管理工具
-
navicate
具体使用参照系统测试环境部署
执行sql语句,选择查询,新建一个查询
在当前编辑器窗口执行sql语句,保存查询文件
3.3 常见的SQL命令:
- show databases; 查看当前所有的数据库
- use dbname[数据库名]; 切换数据库,使用数据库
- show tables; 查看数据库的所有表文件
- select * from tbname; 查询表中数据
- desc tbname[表名]; 查看数据库的表结构
- exit; 推出数据库登录
- 注释 对SQL语句的注解,在执行的时候不会去执行注解文件,注两个横线后面有空格
- 注释快捷键:ctrl+?
- 取消注释快捷键:ctrl+shift+?
3.4 修改初始密码:
-
登录到mysql数据库,进入到mysql数据库的user表中,修改root用户对应的password密码就可以了
mysql -uroot -p
use mysql;
update user set password='*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' where user='root';
update user set password = password('123456') where user='root';
mysqladmin -uroot -p123456 password='654321';
-
直接在cmd命令窗口输入:
mysqladmin -uroot -p654321 password "123456"
注意事项:引号必须是英文
3.5 SQL语句的分类:
-
SQL--structured query language 结构化查询语言,就是用来管理关系型数据库的,对数据库进行常规的增删查改操作,结合RDBMS共同协作的。
-
常见分类:
DDL (database definition language 数据定义语言):用来对数据库的表,表结构,数据类型,约束限制等进行定义的
DML(database manipulation language 数据操作语言):对数据库的数据进行增、删、改的操作
DQL(database query language 数据查询语言):用来查询数据库中的数据的,可以单表查询,多表组合查询
DCL(database control language 数据控制语言):用来数据库的用户、用户组、所属权限进行管理的
备注:资料来源对蜗牛学院的测试开发的学习。