本文目录
1 数据库相关概念
1.啥是数据库
2.数据库的分类
3.关系型数据库的特点
4.关系型数据库的常用术语
2 认识MySQL
3 数据库的安装
4 数据库操作
1.显示数据库
2.创建数据库
3.使用数据库
4.用户管理
5.授权管理
5 MySQL数据类型
1.数值型
2.字符串类型
3.时间日期类型
4.特殊的NULL类型
6 数据表操作
1.创建表
2.删除表
3.清空表
4.修改表
7 表的增删改查
1.增加
2.删除
3.修改
4.基本查询
5.高级查询
6.连接查询
8 子查询
9 存储引擎和字符集
1.存储引擎
2.字符集
数据库相关概念
1.啥是数据库
- 简单理解
所谓的数据库,其实就是有点类似于excel表格,主要就是用来管理数据,对数据进行增删改查的。所以某种程度上来说,excel也可以看成一个简单的数库,只不过是在文件中对数据的读写速度相对较慢,所以现在我们使用数据库管理系统来管理和存储大量的数据
- 官方定义
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库
2.数据库的分类
- 关系型数据库,如 MySQL,Oracle,SqlServer等
- 非关系型数据库,如 Redis,Mongodb,Memcache等
3.关系型数据库的特点
- 数据以表格的形式出现
- 每行为各种记录的数据
- 每列为记录名称所对应的数据域
- 许多的行和列组成一张表单
- 若干的表单组成database
4.关系型数据库的常用术语
- 数据库: 数据库是一些关联表的集合。
- 数据表: 在一个数据库中的表看起来像一个简单的电子表格。
- 列: 一列(数据元素) 包含了相同的数据, 例如邮政编码的数据。
- 行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。
- 冗余:存储两倍数据,冗余可以使系统速度更快。(在查询时可能经常需要在多个表之间进行连接查询;而进行连接操作会降低查询速度。例如,学生的信息存储在student表中,院系信息存储在department表中。通过student表中的dept_id字段与department表建立关联关系。如果要查询一个学生所在系的名称,必须从student表中查找学生所在院系的编号(dept_id),然后根据这个编号去department查找系的名称。如果经常需要进行这个操作时,连接查询会浪费很多的时间。因此可以在student表中增加一个冗余字段dept_name,该字段用来存储学生所在院系的名称。这样就不用每次都进行连接操作了。)
- 主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
- 外键:外键用于关联两个表。
- 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
- 索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
认识数据库
Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。由瑞典MySQL AB公司开发,目前属于Oracle公司
MySQL的特点:
- MySQL是开源的,所以你不需要支付额外的费用。
- MySQL使用标准的SQL数据语言形式。
- MySQL可以允许于多个系统上,并且支持多种语言。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
- MySQL对PHP有很好的支持,PHP是目前最流行的Web开发语言。
- MySQL支持大型数据库,支持5000万条记录的数据,32位系统表文件最大可支持4GB,64位系统支持最大的表文件为8TB。
- MySQL是可以定制的,采用了GPL协议,你可以修改源码来开发自己的Mysql系统
数据库的安装
- windows版本
1)下载
http://dev.mysql.com/downloads/mysql/
2)解压
如果想要让MySQL安装在指定目录,那么就将解压后的文件夹移动到指定目录,如:C:\mysql-5.7.16-winx64
3)服务端初始化
MySQL解压后的 bin 目录下有一大堆的可执行文件,执行如下命令初始化数据
cd c:\mysql-5.7.16-winx64\bin mysqld --initialize-insecure
4)启动MySQL服务器
由于初始化时使用的【mysqld –initialize-insecure】命令,其默认未给root账户设置密码
# 进入可执行文件目录 cd c:\mysql-5.7.16-winx64\bin # 连接MySQL服务器 mysql -u root -p # 提示请输入密码,直接回车
登录成功后,会出现以下的显示
到此为止,MySQL服务端已经安装成功并且客户端已经可以连接上,以后再操作MySQL时,只需要重复上述4、5步骤即可。但是,在4、5步骤中重复的进入可执行文件目录比较繁琐,如想日后操作简便,可以做如下操作:
添加环境变量
将MySQL可执行文件添加到环境变量中,从而执行执行命令即可
右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【将MySQL的bin目录路径追加到变值值中,用 ; 分割】 如: C:\Program Files (x86)\Parallels\Parallels Tools\Applications;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Python27;C:\Python35;C:\mysql-5.7.16-winx64\bin
如此一来,以后再启动服务并连接时,仅需:
# 启动MySQL服务,在终端输入 mysqld # 连接MySQL服务,在终端输入: mysql -u root -p
将MySQL服务制作成windows服务
上一步解决了一些问题,但不够彻底,因为在执行【mysqd】启动MySQL服务器时,当前终端会被hang住,那么做一下设置即可解决此问题:
# 制作MySQL的Windows服务,在终端执行此命令: "c:\mysql-5.7.16-winx64\bin\mysqld" --install # 移除MySQL的Windows服务,在终端执行此命令: "c:\mysql-5.7.16-winx64\bin\mysqld" --remove
注册成服务之后,以后再启动和关闭MySQL服务时,仅需执行如下命令:
# 启动MySQL服务 net start mysql # 关闭MySQL服务 net stop mysql
- Linux版本
yum包安装和源码安装两种方式,推荐使用yum包的方式进行安装
源码安装:http://www.cnblogs.com/shangzekai/p/4374489.html
yum安装:
yum install mysql-server service mysqld start mysql -h host -u user -p
数据库操作
原文地址:https://www.cnblogs.com/sanqiansi/p/10267377.html