基本概念:
-
SQL 语句:Structured Query Language.DBMS用来和数据库打交道的标准语言。
-
Database:
按照数据结构来组织、组织和管理数据的仓库。
解决的问题:持久化存储,优化读写,保证数据的有效性。
分类:文档型(SQLite),轻巧,省电,效率低;服务型(MySQL),性能强;
数据库设计:
- 三范式:列不可拆分,唯一标识,引用主键
- 关系及存储:1对1,1对多,多对多
每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据。所以我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。关系型数据库是建立在关系模型基础上的数据库,借助集合代数等数学概念和方法来处理数据库中的数据。
-
MySQL:关系型数据库管理系统(DBMS)之一,开源。默认端口:3306
RDBMS 的特点:
- 数据以表格的形式出现
- 每行为各种记录名称
- 每列为记录名称所对应的数据域
- 许多的行和列组成一张表单
- 若干的表单组成database
术语:
- 数据库:关联表的集合
- 数据表:表示数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
- 列:一列(数据元素)包含了相同的数据,例如邮政编码的数据
- 行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。
- 冗余:存储两倍数据,冗余降低了性能,提高了数据的安全性。
- 主键:主键是唯一的,一个数据表中只能包含一个主键。可使用主键来查询数据。
- 外键:外键用于关联两个表。
- 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
- 索引:对数据库表中一列或多列的值进行排序的一种结构。使用索引可快速访问数据库表中的特定信息,类似书籍目录。
- 参照完整性:参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。
常用命令
# 登录
mysql -user root -password xxxx
mysql -u root -p xxxx
mysql -uroot -pxxxx
ps -ef | grep mysqld # 检查是否启动
USE database_name; # 选择要操作的数据库,以后所有Mysql命令都只针对该数据库
SHOW DATABASES; # 列出 MySQL 数据库管理系统的数据库列表
SHOW TABLES; # 显示制定数据库的所有表
SHOW COLUMNS FROM table_name # 显示数据表的属性
SHOW INDEX FROM table_name # 显示数据表的详细索引信息,包括主键
# 输出Mysql数据库管理系统的性能及统计信息
SHOW TABLE STATUS LIKE [FROM db_name] [LIKE 'pattern'] \G:
SHOW TABLE STATUS FROM RUNOOB; # 显示数据库 RUNOOB 中所有表的信息
SHOW TABLE STATUS from RUNOOB LIKE 'runoob%'; # 表名以runoob开头的表的信息
SHOW TABLE STATUS from RUNOOB LIKE 'runoob%'\G; # 加上 \G,查询结果按列打印