什么是数据库
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。每个数据库都有一个或多个不同的 API 用来创建、访问、管理、搜索和复制所保存的数据。我们可以将数据存储在文件中,但是文件中读写速度相对较慢,所以现在我们使用关系型数据库管理系统(RDBMS)来存储和管理大数据量,所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
RDBMS 术语
在我们开始学习 MySQL 数据库钱,让我们先了解下 RDBMS 的一些术语
- 数据库: 数据库是一些关联表的集合。
- 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
- 列: 一列(数据元素) 包含了相同类型的数据, 例如邮政编码的数据。
- 行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。
- 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。
- 主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
- 外键:外键用于关联两个表
- 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
- 索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录
- 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。
MySQL 为关系型数据库(Relational Database Management System), 这种所谓的”关系型”可以理解为”表格”的概念, 一个关系型数据库由一个或数个表格组成, 如图所示的一个表格:
- 表头(header): 每一列的名称
- 值(value): 行的具体信息, 每个值必须与该列的数据类型相同;
- 键(key): 键的值在当前列中具有唯一性。
MySQL 在 ubuntu 上的安装
安装前,我们可以检测系统是否自带安装 MySQL:
rpm -qa | grep mysql
如果系统有安装,那么可以选择进行卸载:
rpm -e mysql // 普通删除模式
rpm -e –nodeps mysql // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
安装 MySQL :
ubuntu 安装比较简单,只需要三条命令
sudo apt-get install mysql-server //安装服务端
sudo apt-get install mysql-client // 安装客户端
sudo apt-get install libmysqlclient-dev //程序编译时链接的库
验证 MySQL 安装
在成功安装 MySQL 后,一些基础表会表初始化,在服务器启动后,你可以通过简单的测试来验证 MySQL 是否工作正常。使用 mysqladmin 工具来获取服务器状态:
测试数据库
mysqladmin –version
linux 上该命令将输出以下结果,说明你的 MySQL 安装成功
同时有小伙伴想在 windows 上安装 MySQL 的可以参考该教程
数据库可视化工具 Navicat for MySQL 安装和破解教程
使用 Navicat for MySQL 连接 MySQL
MySQL 数据库 + 命令大全 + 常用操作
- 连接到本机的 MySQL :首先在进入 root 用户,再键入命令mysql -u root -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>
mysql -u root -p // 提示输入设置的密码(默认没有密码),出现如下界面则安装成功
- 查看数据库地址,数据库端口地址
select SUBSTRING_INDEX(host,’:’,1) as ip , count(*) from information_schema.processlist group by ip;
show variables like ‘port’ ;
- 查看用户信息
其中 host 为 % 表示不限制 ip 、localhost 表示本机使用;plugin 为 mysql_native_password 则需要修改密码。select host,user,plugin,authentication_string from mysql.user;
- 显示数据库列表
show Databases;
修改 root 用户密码为”123456”
ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘123456’;
建新的数据库
create Database test;
- 删除数据库
drop database test;
- 查看所有数据库、选定指定数据库并查看该数据库的表
show Databases;
use test;
show tables;
- 如何创建一个数据表,并查看看该表的数据结构
create table pet (
name varchar (20),
owner varchar (20),
sex char (1),
birth date,
death date);
describe pet;
查看表中的记录
select * from pet;
如何网数据表中添加记录
insert into pet values (‘puffball’,’Dave’,’f’,’1999-09-09’,NULL);
insert into pet values (‘puffball’,’Bob’,’m’,’1935-01-01’,’2020-09-07’);
- 删除记录
deletr from pet where sex = ‘f’;
- 修改记录
update pet set name = ‘派大星’ where name = ‘puffball’;