一、数据库介绍

  • 什么是数据库

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

  • 为什么要使用数据库

    数据库出来之前使用的是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. rocketmq的一些内容

    分布式开放消息系统(RocketMQ)的原理与实践 作者 CHEN川 关注 2016.02.25 15:43* 字数 6784 阅读 122302评论 41喜欢 321赞赏 7 一年前为了一次内部分享 ...

  2. 【疑难杂症】new Date() 造成的线程阻塞问题

    代码如下 package com.learn.concurrent.probolem; import java.util.Date; import java.util.concurrent.Count ...

  3. USACO3.3 A Game【区间dp】

    这道题也是一道非常有意思的区间$dp$,和在纪中的这道题有点像:取数游戏 (除了取数规则其它好像都一样诶) 当时在纪中的时候就觉得这个$dp$非常不好想,状态定义都不是很容易想到. 但是做过一道这种题 ...

  4. 【计算机视觉】Emvisi2

    Emvisi2: A background subtraction algorithm, robust to sudden light changes Making Background Subtra ...

  5. [Vuejs] 在vue各个组件中应用全局scss变量

    需要安装一个插件:sass-resources-loader 1.执行安装命令: npm i sass-resources-loader --save-dev 2.修改vue-cli环境下build文 ...

  6. 向tabcontrol中添加form

    昨天花了一天的时间去找一个错误,关系是这样的,我添加一个tabcontrol就叫tc1好了,然后在tc1中再动态添加一个父窗体l叫form1,要把form1添加进tabcontrol就要先新建一个ta ...

  7. Solr 4.4.0利用dataimporthandler导入postgresql数据库表

    将数据库edbstore的edbtore schema下的customers表导入到solr 1. 首先查看customers表字段信息 edbstore=> \d customers Tabl ...

  8. Python3.7 下安装pyqt5

    第一步:首先进入python安装目录下的 [scripts]. 第二步:执行安装pyqt5的命令:python37 -m pip install pyqt5 出现以下安装过程代表安装成功. 第三步:在 ...

  9. 洛谷 P2467 地精部落 题解

    题面 好难啊好难啊好难啊~(以后再玩魔兽的时候绝对绝对虐死他) 做完后总结了一下思路; 首先推一下以下三条性质: 1.若两个 i 与 i+1 不相邻,那么我们直接交换这两个数字就可以组成一个新的数列 ...

  10. reload() 方法用于重新加载当前文档。配合Ajax异步请求。

    1. reload() 方法, reload() 方法用于重新加载当前文档.配合Ajax异步请求. http://www.w3school.com.cn/jsref/met_loc_reload.as ...