码迷,mamicode.com
首页 > 数据库 > 详细

MySQL学习基础篇

时间:2019-01-14 16:31:22      阅读:262      评论:0      收藏:0      [点我收藏+]

标签:col   组织   时间   大型数据库   memcache   c++   复合键   外键   启动mysql   

本文目录

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

  

数据库操作

 

MySQL学习基础篇

标签:col   组织   时间   大型数据库   memcache   c++   复合键   外键   启动mysql   

原文地址:https://www.cnblogs.com/sanqiansi/p/10267377.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!