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

  

数据库操作

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

时间: 2024-10-26 15:37:56

MySQL学习基础篇的相关文章

Python学习基础篇第一篇——快速入门(适合初学者)

一.Python学习基础篇第一篇--(快速入门) 建议从Python2.7开始学习,Python2.7可以支持扩展大量的第三方类库,是目前比较成熟的版本 编写代码的软件推荐将python自带的IDLE和PyCharm集成IDE结合起来使用 1.1 Python命令行 Python命令行将以 >>> 开始,比如 >>>print 'Hello World!' 对于验证简单的命令可以在python自带的IDLE中完成  1.2 在Python自带的IDLE写一段小程序 在所

Docker虚拟化实战学习——基础篇(转)

Docker虚拟化实战学习--基础篇 2018年05月26日 02:17:24 北纬34度停留 阅读数:773更多 个人分类: Docker Docker虚拟化实战和企业案例演练 深入剖析虚拟化技术概念和应用场景 虚拟化,一是项技术--,是一种资源解决方案. 虚拟化技术是将物理资源转变为逻辑上可以管理的资源,以打破物理结构之间的壁垒,使计算元件运行在虚拟的基础上,而不是真实的物理资源上. 通过虚拟化技术,可以将物理资源转变为逻辑资源(虚拟机),应用程序服务运行在虚拟资源上,而不是真实的物理机上.

学习mysql语法--基础篇(二)

  前  言  mysql  mysql语法--本篇学习都是通过使用Navicat Premium(数据库管理工具),连接mysql数据. 本篇学习主要有两个部分: [SQL语句的组成]   DML 数据操作语言(插入.删除和修改数据库中的数据)INSERT UPDATE DELETE   DQL 数据查询语言(用来查询数据库中的数据)SELECT   DCL 数据控制语言(用来控制存取许可.存取权限等)CREATE   DDL 数据定义语言(用来建立数据库.数据库对象和定义表的列)CREATE

学习mysql语法--基础篇(一)

  前  言  mysql  mysql语法--本篇学习都是通过使用Navicat Premium(数据库管理工具),连接mysql数据. 本篇学习主要有两个部分:    一.创建用户,创建数据库,给用户分配权限,删除用户权限.    二.MYSQL中常见的数据类型 三.表-创建表.主键.外键    四.数据库设计的三大范式 以下所有代码全部在新建查询表里面使用mysql语法编辑. 1.创建用户,创建数据库,给用户分配权限,删除用户权限. /* SQL 多行注释 */-- SQL 单行注释 创建

[转]C++学习–基础篇(书籍推荐及分享)

C++入门 语言技巧,性能优化 底层硬货 STL Boost 设计模式 算法篇 算起来,用C++已经有七八年时间,也有点可以分享的东西: 以下推荐的书籍大多有电子版.对于技术类书籍,电子版并不会带来一个好的阅读体验.如果喜欢,最好找纸版(图书馆是个好去处):电子版更适合作为一个参考书籍常备电脑. 我将分为基础篇.Windows篇.和Linux/Unix篇 三个部分来介绍这些经典书籍:   C++入门 <C++ Primer> 我的C++入门读物是<C++大学教程>,这本书800多页

Unity之Shader学习基础篇《一》

最近在学习Shader,将学习的一些心得和案例以及基础知识罗列了一下.这一篇是unity之Shader的基础篇之基础,更多的是一些概念.该篇将分以下几个部分: 1.什么是Shader? 2.GPU和Cg语言 3.Unity中使用Cg语言如何编写Shader? 1.什么是Shader? 1.1.Shder的概念:Shader即着色器,是一款运行在GPU上的程序,用以对三维物体进行着色处理,光与影的计算,纹理颜色的呈现等,从而将游戏引擎中一个个作为抽象的几何数据存在的模型.场景和特效,以和真实世界类

MySQL学习——基础

本文是MySQL的基础知识. Linux启动MySQL服务命令 : service mysql start Linux关闭MySQL服务命令 : service mysql stop 登录MySQL命令: mysql -u <用户名> 查看数据库命令: show databases; 切换数据库命令: use <数据库名>[;] 查看表命令: show tables; 退出MySQL命令: quit/exit 创建数据库命令: create database <数据库名>

性能测试学习基础篇--随笔3

继续做个随笔--现在开始主要讲Jmeter的基础运用知识 -Jmeter基础篇- Jmeter常用术语: 1.采样器Samplers:采样器是jmeter测试脚本的基础单元,用户可以用它来向服务器发出一个特定的请求,采样器会在超时前等待服务器的响应. 2.逻辑控制器Logic Controllers:用户通过逻辑控制器来控制jmeter测试脚本的执行顺序,以便测试能够按照用户期望的顺序和逻辑执行. 3.监听器Listeners:监听器被用来收集测试结果信息,并以用户指定的方式加以展示. 4.配置

Bat 脚本学习 (基础篇)

[转]Bat 脚本学习 2015-01-05 14:13 115人阅读 评论(0) 收藏 举报 基础部分: ====================================================================== 一.基础语法: 1.批处理文件是一个“.bat”结尾的文本文件,这个文件的每一行都是一条DOS命令.可以使用任何文本文件编辑工具创建和修改. 2.批处理是一种简单的程序,可以用 if 和 goto 来控制流程,也可以使用 for 循环. 3.批处理的