数据库简介
数据库(DataBase, DB),顾名思义,存放数据的仓库,是按照数据结构来组织、存储和管理数据的仓库。
几个名词
数据库管理系统(DBMS)
位于用户与操作系统之间的数据管理软件。为用户或应用程序提供访问DB的方法。
数据库系统(DBS)
实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机硬件、软件和数据资源组成的系统。
表(table)
某种特定类型的结构化清单。(数据库中的每个表都有一个名字,而且该名字是唯一的。)
列(column)
表中的一个字段。所有的表都有至少一个列组成,每个列都有相应的数据类型。
数据类型(datatype)
所容许的数据的类型。每个列都有相应的数据类型,它限制(或容许)该列中存储的数据。
优点如下:
- 限制可存储在列中的数据种类
- 帮助正确地排序数据
- 优化磁盘使用
行(row)
表中的一条记录。
主键(primary key)
一列(或一组列),其值能够唯一区分表中每个行。(注:应该总是定义主键 虽然并不总是都需要主键,但大多数数据库设计人员都应保证他们创建的每个表具有一个主键,以便于以后的数据操纵和管理。)
主键值规则
- 任意两行主键值不相同
- 每一行都必须有一个主键值(主键列不允许为NULL值)
可以使用多个列作为主键,只要使用的多个列的组合符合上述两个规则。
SQL(Structured Query Language)
结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
不了解的时候一直以为SQL就是数据库,其实SQL是指数据库的语言,每一种数据库都有自己特定的查询语言。
做个类比,有一个书架,书架上放着很多个文件夹,每个文件夹都放着某种指定形式的文件。那么数据库就相当于这个书架,书架上的文件夹就相当于数据库中的表,文件夹中的文件就相当于表中的某条数据。
MySQL
一个关系型数据库管理系统(DBMS),在 WEB 应用方面MySQL是最好的关系型数据库管理系统。(RDBMS)
有如下几个优点:
- 代码开源
- 性能较好
- 可信赖,他的用户有很多大公司
- 简单,容易安装和使用
在Ubuntu系统下安装MySQL
铺垫了这么久,现在开始实战了。然而Ubuntu下载软件非常方便,几行命令就能KO。
1.检查是否已经安装
检查系统中是否安装MySQL,输入打开MySQL命令:
sudo service mysql start
如果出现以下提示,说明系统中已经安装:
ubuntu@VM-253-242-ubuntu:~$ sudo service mysql start
start: Job is already running: mysql
如果出现以下提示,说明还没有MySQL:
ubuntu@VM-253-242-ubuntu:~$ sudo service mysql start
[sudo] password for ubuntu:
mysql: unrecognized service
2.安装配置MySQL
apt-get命令安装,只需要几行,不要太简单。
sudo apt-get install mysql-server
sudo apt-get install mysql-client
安装过程中会有确认选项,问你是否继续安装,输入y继续安装。还会有设置登录密码。
The following packages will be upgraded:
perl perl-base perl-modules
3 upgraded, 12 newly installed, 0 to remove and 234 not upgraded.
Need to get 15.7 MB of archives.
After this operation, 97.1 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
安装完成后,可以用下面这个命令验证是否成功:
sudo netstat -tap | grep mysql
如果出现如下提示,就是安装成功啦!配置文件在/ect/mysql/my.cnf
。
ubuntu@VM-253-242-ubuntu:~$ sudo netstat -tap | grep mysql
tcp 0 0 localhost:mysql *:*
LISTEN 1027/mysqld
linux命令 netstat
man netstat
打印网络连接、路由表、接口的数据统计、伪装连接以及广播域成员。
几个常用的OPTIONS
- -a –all 列出所有套接字的所有连接
- -t –tcp 列出tcp协议下的套接字连接
- -u –udp 列出udp协议下的套接字连接
- -n 拒绝显示别名,能显示数字的全部转化成数字。
- -l 仅列出有在 Listen (监听) 的服务状态
- -r 显示路由信息,路由表
- -e 显示扩展信息,例如uid等
- -p 显示建立相关连接的程序名
- -s 按各个协议进行统计
- -c 每隔一个固定时间,执行该netstat命令。
初战MySQL
使用下面两条命令,打开MySQL服务并且用root用户登录。
sudo service mysql start
mysql -u root -p
so easy进入mysql中啦!