数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据。
我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。所以,现在我们使用关系型数据库管理系统(RDBMS:Relational Database Management System)来存储和管理的大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
MySQL就是关系型数据库。
RDBMS即关系数据库管理系统(Relational Database Management System)的特点:
1. 数据以表格的形式出现。
2. 每行为各种记录名称,一行就表示一个记录。
3. 每列为记录名称所对应的数据域。
4. 许多的行和列组成一张表单。
5. 若干的表单组成database,database交给关系型数据库来管理。
Oracle 公司除了数据库比较有名,还有Oracle Java版本。
Oracle 是需要收费。
微软公司的SQL Server 只能运行在windows平台。
MySQL 能够运行在Linux,windows,等系统。
MySQL 开源跨平台。
在我们开始说明MySQL 数据库前,让我们先了解下RDBMS的一些术语:
数据库: 数据库是一些关联表的集合。
数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
列: 一列(数据元素) 包含了相同的数据, 例如邮政编码的数据。
行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。
冗余:存储两倍数据,冗余可以使系统速度更快。
(我们把数据存储到数据库的时候,例如我们存储一个int类型,数据库会帮我们记录int类型有多少个字节,在第几列,这些数据会存储的更详细一些,也就是说我们只存了4个字节,但是真正写到数据库就是8个字节甚至更多,有了冗余才能让我们访问数据库更加快捷)
主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。查询数据比较快,可以把主键理解为待排序的列,查询速度比较快。
外键:外键用于关联两个表。
复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。建立索引能够提高数据库的查询速度。
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
1. Mysql是开源的,所以你不需要支付额外的费用。
2. Mysql支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
3. MySQL使用标准的SQL数据语言形式。
4. Mysql可以允许于多个系统上,并且支持多种语言。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
5. MySQL支持大型数据库,支持5000万条记录的数据仓库,32位系统表文件最大可支持4GB,64位系统支持最大的表文件为8TB。
6. Mysql是可以定制的,采用了GPL协议,你可以修改源码来开发自己的Mysql系统。
所有平台的Mysql下载地址为:
https://www.mysql.com/downloads/
挑选你需要的 MySQL Community Server 版本及对应的平台。
安装命令:
sudo apt-get install mysql-server
sudo apt install mysql-client
sudo apt install libmysqlclient-dev
启动、重启、关闭mysql服务器
sudo /etc/init.d/mysqld start
sudo /etc/init.d/mysqld restart
sudo /etc/init.d/mysqld stop
查看mysql是否启动
命令:ps -aux | grep mysqld
也可以使用:sudo netstat -tap | grep mysql
如果出现找不到netstat命令则需要通过下面命令安装net-tools
确认是否启动成功,mysql节点处于LISTEN状态表示启动成功。
查看默认配置文件
命令:sudo cat /etc/mysql/debian.cnf
图有‘user=debian-sys-maint’,即为自动配置的默认用户;‘password= L8ePmmEp9k0griga’,即为自动配置的密码。
更改密码:
命令:
use mysql;
// 下一行,密码改为了yourpassword,可以设置成其他的
update mysql.user set authentication_string=password(‘yourpassword’) where user=‘root’ and Host =‘localhost’;
update user set plugin=“mysql_native_password”;
flush privileges;
quit;
重启mysql 并且重新登陆
sudo service mysql restart
mysql -u root -p
登陆成功。
我们查看本地有哪些数据库:
在mysql中的命令:show databases;
Windows上安装Mysql相对来说会较为简单,你只需要在
https://dev.mysql.com/downloads/installer/
中下载windows版本的mysql安装包,并解压安装包。
如果报错误2502或者2503,请按如下操作:
1、WIN+X键‐>命令提示符(管理员);
2、msiexec /package ‘msi文件路径’
然后等待安装
Window上安装Mysql
不需要输入用户名,需要输入密码,及就是root用户,超级管理员的密码。
我们想要设置简单一点,但是不让设置简单的 哈哈
配置mysql
输入root密码:
Windows平台安装完成。
Windows平台的Mysql登陆:
输入我们刚才设置的密码:
我们查看本地有哪些数据库:
命令:show databases;
默认情况下有4个数据库,上面 show databases;
就是一行sql语句输入,默认情况下以分号表示语句输入完。
如果没有分号,就认为没有输入完。
例如输入单引号就会出现->表示可以继续输入知道输入一个分号为止。
Mysql里面注释只能使用/* 注释 */
关键字在Mysql里面一般使用大写。
上面我们可以看到一张表,来描述我们当前有哪些数据库。
命令行提示符的意义