一、数据库介绍

  • 什么是数据库

    就是存储数据的仓库,也可以说是依照存储数据的介质

  • 为什么要使用数据库

    数据库出来之前使用的是Excel来进行管理数据的

    而Excel不能满足我们的一些需求,如:

    1. 管理不了大量的数据(10W量级的数据)
    2. 不能并发操作同一个数据库表格
    3. 对大量的数据不支持高级操作,比如:分组,连表等。

二、数据库的分类

1. 关系型数据库系统

  • 关系型数据库系统就是对每一列的数据的数据类型都会有约束的数据库系统。

2. 当下的关系型数据库系统

  • PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统,PostgreSQL支持大部分的SQL标准并且提供了很多其他现代特性,如复杂查询、外键、触发器、视图、事务完整性、多版本并发控制等,因为许可证的灵活,任何人都可以以任何目的免费使用、修改和分发PostgreSQL。可扩展性非常高。
  • MySQL , mariadb ——》 两个都是同一个公司的产品,都免费,而MySQL 用的比较多
  • SQLserver ——》微软的产品,大学、政府用的较多,收费
  • Oracle ——》甲骨文产品,收费,金融公司,阿里用的较多
  • sqlite ——》小型文件数据库,自己玩玩

3. 当下的非关系型数据库系统

存储数据的方式:类似字典的存储,值可以是任意数据类型。

{"name":'zekai'}
{"name":12}
{"name":[]}
{"name":{}}
  • memcache ——》十年前的产品 (新浪博客)
  • MongoDB ——》文档型数据库系统,把数据放在内存中,但是没有解决内存数据断电即消失的问题。
  • Redis ——》微博使用 ,将数据保存在内存中,而且还解决了内存数据断电即消失的问题。是现在非关系型数据库系统中主流使用的一个。

4. 关系型和非关系型数据库系统的区别

  • 关系型数据库系统:把数据存在硬盘中
  • 非关系型数据库系统:把数据存在内存中

三、MySQL的架构

  • MySQL的架构类似socket的客户端和服务端

  • 流程:

    1. MySQL服务端先启动,监听在一个特定的端口(默认3306)

    2. MySQL客户端连接服务端

    3. MySQL客户端就可可以发送相关的操作命令,取操作服务端存储的数据。

四、MySQL的安装和启动

1. windows下安装MySQL:

  1. 下载:

    去官网下载MySQL,MySQL官网 ,下载 MySQL Community Server 5.7.28 。注意:对于数据库系统这样关系到非常重要的数据的应用程序,我们一般不使用最新版本。

  2. 添加环境变量:

    把解压后的文件移动到自己想存放的路径下。再将文件中的bin文件夹的路径添加到系统环境变量。

  3. 初始化:

    打开command终端,输入mysql --initializw-insecure

  4. 启动MySQL服务:

    输入mysqld 启动MySQL服务 ,之后MySQL服务端开始监听。

  5. 启动MySQL客户端并连接MySQL服务

    另外开启一个command终端,输入mysql -u root -p,初始密码为空,直接回车。

  6. 成功启动MySQL

2.制作windows的服务

  • 在上面的启动MySQL服务中,启动服务之后,command就会阻塞住,而且每次使用MySQL都要启动一次MySQL服务,非常麻烦。所以我们制作一个windows的服务,让MySQL服务一直启动。
  • 制作方法:打开终端,输入解压文件中,bin文件下的mysqld的路径,用双引号引住,再空格,后面加上--install 。如"D:\mysql-5.7.28\bin\mysqld" --install

3. 修改MySQL密码

(1)记得原密码时修改密码

以管理员启动终端:
C:\Windows\system32>mysqladmin -uroot -p "原密码" password "新密码" 出现的错误
C:\Windows\system32>mysql -uroot -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
如果出现上述错误,代表密码输入错误

(2)不记得原密码时修改密码

#1 关闭mysqld的服务
#2 在cmd中执行:mysqld --skip-grant-tables ===》 不用密码就可以登录,绕过密码验证的权限
#3 在cmd中执行:mysql ===》 mysql -uroot -p
#4 执行如下sql指令:
update mysql.user set authentication_string=password('') where user = 'root';
flush privileges; (一定要有这个操作)
#5 tskill mysqld #或taskkill -f /PID 7832
#6 重新启动mysql服务

4. 常用参数

-u	: user 用户名
-p : password 密码
-h : host 主机名或ip mysql -uroot -p -h 192.168.1.10
-P : port 默认是3306 mysql -uroot -p -h 192.168.1.10 -P 3307

五、数据库的三大范式

六、初识MySQL

注意:任何sql语句在结尾都要加上英文的分号,而在使用 use这一sql语句时可加可不加

1. 操作数据库

增:
create database 数据库名称 charset utf8;
命名规范:
可以由字母、数字、下划线、@、#、$
区分大小写
唯一性
不能使用关键字如 create select
不能单独使用数字
最长128位 show create database 数据库名; 删:
drop database 数据库名称;
改:
删除再添加
如果数据库中有数据的话,直接drop会导致数据库中的数据丢失
在线上环境,不能够直接删除数据, 在删除之前,需要进行备份 查:
show databases;
使用数据库:
use 数据库名;

MySQL数据库安装和启动的更多相关文章

  1. mysql数据库安装、启动及权限设置

    1. 安装需安装mysql客户端和服务器端. Centos下,可用命令:yum install mysql安装mysql客户端:使用命令:yum install mysql-server安装mysql ...

  2. MySQL数据库安装与启动(Linux)

    1.用yum安装 用root权限打开命令行界面,执行以下yum指令: yum安装MySQL yum install mysql mysql-server mysql-devel -y 在最终提示Com ...

  3. (三)—Linux文件传输与mysql数据库安装

    文件传输工具使用    为了速成,关于linux系统的学习都先放一放,用到哪个知识点就查哪个,这里想在linux下装一些服务练练手,最先想到的就是装个mysql数据库试试. 因为我用的是虚拟机下的li ...

  4. Mysql数据库安装和配置

    http://blog.csdn.net/pipisorry/article/details/46773507 Mysql数据库安装和配置.mysql语法.特殊符号及正则表达式的使用.MySQL备份与 ...

  5. MySql数据库安装

    MySql数据库安装 一丶数据库 什么是数据库 数据库简单连接就是存储数据的容器. 而库则是一组容器合成的东西. 也就是存储数据的.我们编程中常常会用到数据库. 什么是数据管理系统 数据库管理系统就是 ...

  6. MySql C++调用库Connector/c++编译 和 接口封装【一】mysql数据库安装

    Connector/c++库的源文件编译,你需要先准备好以下工具:     mysql数据库(编译时要依赖),boost库,cmake(生成sln工程文件),connector/c++的源文件,vis ...

  7. 第二百七十五节,MySQL数据库安装和介绍

    MySQL数据库安装 一.概述 1.什么是数据库 ? 答:数据的仓库,称其为数据库 2.什么是 MySQL.Oracle.SQLite.Access.MS SQL Server等 ? 答:他们均是一种 ...

  8. mysql数据库安装与卸载以及Navicat安装

    关系型数据库Mysql 1.mysql官网网址:www.mysql.org 2.mysql数据库安装 傻瓜式安装下载地址 https://dev.mysql.com/downloads/install ...

  9. MySQL数据库安装Version5.7.25

    1.说明 MySQL数据库大版本5.7的安装没有较大变化, 所以MySQL数据库Version5.7.25安装请参考:MySQL数据库安装Version5.7 上面文章中MySQL安装使用Versio ...

随机推荐

  1. Flex TabNavigator

    1.获取子项个数 TabNavigator.numChildren(int) 2.对于静态的TabNavigator的如何处理权限显示 for(var i:int=0;i <tab.numChi ...

  2. 纯CSS做3D旋转魔方

    昨天偶然看见网友(简单说 用CSS做一个魔方旋转的效果)做的一个3D旋转魔方  效果就是本博客右侧公告栏所示 在这里把做法展现出来 感兴趣的可以试试  做成自己特有的魔方 <!DOCTYPE h ...

  3. Scratch少儿编程系列:(十一)Scratch编程之简单见解

    一.Scratch官网的说明     With Scratch, you can program your own interactive stories, games, and animations ...

  4. Docker面试题(二)

    什么是虚拟化? 虚拟化允许您在相同的硬件上运行两个完全不同的操作系统.每个客户操作系统都经历了引导,加载内核等所有过程.您可以拥有非常严格的安全性,例如,客户操作系统无法完全访问主机操作系统或其他客户 ...

  5. 【VS开发】Windows上的音频采集技术

    前一段时间接到一个任务,需要采集到声卡的输出信号,以便与麦克风的输入信号进行混音. 之前一直没有研究过音频的相关技术,这次就顺便抽出一点时间去了解了一下Windows上采集音频的相关技术. 对于音频处 ...

  6. HDU 1176 免费馅饼 (动态规划、另类数塔)

    免费馅饼 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  7. tableau单机版安装

    参考: https://help.tableau.com/current/server-linux/zh-cn/requ.htm   先将服务器防火墙80级8850端口打开 临时关闭SELinux/防 ...

  8. PostgreSQL创建只读账户

    目前PostgreSQL并不能像MySQL一样直接对某个数据库赋予只读权限,现实中有研发需要新建一个用户然后赋予对某个数据库只读权限. 举例说明如何创建 用edbstore用户连接edbstore数据 ...

  9. JavaScript学习总结(一)——闭包、对象、函数

    一.闭包(Closure) 1.1.闭包相关的问题 请在页面中放10个div,每个div中放入字母a-j,当点击每一个div时显示索引号,如第1个div显示0,第10个显示9:方法:找到所有的div, ...

  10. x系统清理/tmp/文件夹的原理

    转自:http://www.opsers.org/base/clean-up-on-the-linux-system-tmp-folder-you-may-want-to-know.html§ 我们知 ...