数据库基础
数据库管理系统
数据库(database)
简称DBMS
关系型数据库管理系统
简称(RDBMS)
数据库:按照数据结构来组织,存放,管理数据的仓库
数据库系统
简称(DBS)
由数据,数据库,数据库管理软件,操作数据库的软件,硬件平台,软件平台,操作数据库的有关人员组成
常见数据库:
Oracle数据库 Oracle(甲骨文)Java 超大型数据库,使用SQL语言(结构化查询语言)
DB2数据库 IBM(国际商用机器) 超大型数据库 使用SQL语言
SQL Server MS(微软) 使用T-SQL语言
MySQL Oracle 小型数据库 SQL
Access MS 桌面型数据库 SQL
SQLite 由单独团队发明 桌面型数据库 SQL
SQL 关系型数据库
redis 非关系型数据库(noSQL)
存放数据的方式:
内存:数据不能持久
文件:第一个数据持久化的机制,读写方便,但对数据的操作比较麻烦
数据库:
数据模型
层级数据模型:以树形结构组织数据的模型
优点:查找效率高,结构清晰明朗,可以很明确的看到每个实体之间的联系,易扩展
缺点:结构呆板,查询必须知道双亲结点,对插入和删除并不友好,结点间难建立横向联系
网状数据模型:
有向图表示实体和实体之间联系的数据结构模型
优点:可以表示很复杂的关系,删除顶点不会影响其他同级顶点
缺点:结构复杂,使用不方便,随着数据增多,结构会越来越复杂
关系型数据模型:
优点:关系清晰
缺点:为了维持数据的结构,导致查找麻烦
关系数据模型结构:
关系型数据模型+关系操作+关系完整性约束
数据库的语言:SQL
不区分大小写,但是在字符串中区分大小写,用 ‘ ’ “ ” 保存字符串
可以用来查询,取回,插入,更新,删除,创建关系,设置权限
分类:
DQL():数据查询语言,专门用来查询数据的
DML():数据操作语言,用来插入,更新,删除
DDL():数据定义语言,用来创建各种对象,如数据库,表,试图,索引
DCL():数据控制语言,提交 回滚
GRANT 授权 一般DBA才用
MySQL是免费开源的数据库
支持 5000万条记录
32位表文件最大支持4GB
64位表文件最大支持8TB
MySQL使用的是GPL协议
支持 C/C++,Python,Java,Perl,PHP,Ruby等等
术语:
表:存放数据的二位表格
记录(元祖):表中的一行叫做记录
字段(属性):表中的一列
域:属性的取值范围
冗余:重复数据(降低了性能,提高了安全性)
进入数据库的方式
Cmd->mysql -u root -p
存储引擎
MYISAM(默认的)
INNODB(最新的)
MEMORY
MERGE
常用命令
显示数据库:
show databases;
(语句后加分号表示语句结束)、
一般情况下会出现四个选项
如果没有则说明数据库安装错误
其中:
information_schema
信息数据库 保存着关于MySQL服务器维护的其他数据库信息,比如数据库名,数据库的表,表的数据类型和访问权限
mysql
保存用户信息,权限的设置,关键字
performance_schema
收集数据库服务器性能参数的
sys
整个数据库服务器系统的数据
选择数据库
use 数据库名;
显示数据库当中的表
show tables;
查看表的结构:
两种方式:
一:
show columns from 数据表;
二:
desc 数据表;
修改密码:
update mysql.user set authentication_string=password(‘****’);
刷新权限
flush privileges;
图形化管理工具