1028 笔记

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-02 16:08:33

数据库

什么是数据库

用来存储数据的仓库
数据库可以在硬盘以及内存中存储数据

数据库与文件存储数据的区别

数据库本质也是通过文件来存储数据,数据库的概念就是系统的管理存储数据的文件

数据库介绍

数据库服务端:存放数据库的主机集群
数据库客户端: 可以连接数据库的任意客户端
数据库管理员:DBA

# socket套接字的c/s架构应用

数据库基本概念

库: 多表构建一个数据库,本质就是文件夹

表:多条数据构建一张表,本质就是文件

记录: 存放一条条数据本质就是文件中的一条条数据记录

数据库分类

关系型数据库

  1. 有表的概念
  2. 以表中一条条记录存储数据
mysql,maridb     免费 ,常用
Oracle          甲骨文,收费,金融公司
sqlserver       微软,大学,政府,(汽车之家🚕)
sqlite          小型的文件数据库,自用
access          
db2 

非关系型数据库

  1. 没有表的概念
  2. 通过key-value键值对方式存储数据
MongoDB         文件型数据库
redis           微博
memcache        十年前的产品(新浪博客)

区别

关系型数据库,把数据存在硬盘中

非关系型数据库,把数据存在内存中

mysql数据库

mysql是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,被Oracle(甲骨文公司)收购.MySQL最流行的关系型数据库管理系统.在web应用方面MySQL是最好的RDBMS(关系数据库管理系统)应用软件之一

MySQL的架构

类似于socket的客户端和服务端

流程:

  1. MySQL服务端先启动,监听在某一个特定的端口(3306)
  2. MySQL客户端连接服务端
  3. MySQL客户端就可以发送相关的操作命令,去操作服务端存储的数据

常用参数

-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

数据库安装

1.下载

https://dev.mysql.com/downloads/mysql/,下载MySQL Community Server 5.7.16

2.解压

将MySQL压缩包安装在指定目录,将文件夹移动至指定位置

3.添加环境变量

右键计算机 == 属性 == 高级系统设置 == 高级 == 环境变量 == 系统变量 == path == 添加 == 将MySQL的bin目的地址添加即可

都需要手动cd盘符,添加环境变量不需要切换盘符,可以在cmd中直接输入mysql以及mysqld

4.初始化

添加环境变量结束后,再cmd命令行中输入mysqld --initialize-insecure ,即是创建data目录,初始化数据

5.启动MySQL服务端

mysqld

即MySQL服务,cmd命令中输入mysqld ,启动MySQL服务

7.启动MySQL客户端

mysql -u root -p

启动服务,并连接MySQL服务,不要关闭上一个cmd,另打开一个cmd,输入mysql -u root -p ,进行连接MySQL的服务器

-u 是用户名,默认为root  ,-p 是密码,默认为空

8.制作Windows的服务

"D:\mysql-5.7.28\bin\mysqld" --install

为了让服务端不阻塞,制作MySQL的Windows服务,在cmd命令中输入"D:\mysql-5.7.28\bin\mysqld" --install (将MySQL的mysqld的目录放入 + --install ),如果权限不足,使用cmd 的管理员功能运行.

制作服务端的Windows的服务,使得在window中启动mysqld服务端
cmd直接启动mysql客户端,不会等待阻塞,可输入启动客户端命令

9.修改密码

知道旧密码的情况下:

法1 : 登录之前修改密码: 
mysqladmin -u root -p 旧密码 password "新密码"  (双引号)

法2 : 登录之后修改密码:  
set password for root@localhost=password("新密码")

遗忘密码的情况下:

法1 : 
    - 首先关闭系统服务中已经启动的MySQL服务端
    - 绕过授权表启动服务: mysqld --skip-grant-tables;
    - 任意密码都可登录root用户 : mysql -uroot -P 任意
    - 更新密码: 输入整条命令 :update mysql.user set authentication_string=password('') where user = 'root';
    - 刷新权限 : flush privileges;
    - 重新启动MySQL服务

法2:
    #1. 关闭mysql,可以用tskill mysqld将其杀死
    #2. 在解压目录下,新建mysql配置文件my.ini
    #3. my.ini内容,指定
        [mysqld]
        skip-grant-tables
    #4.启动mysqld
    #5.在cmd里直接输入mysql登录,然后操作
        update mysql.user set authentication_string=password('') where user='root and host='localhost';
        flush privileges;
        
    #6.注释my.ini中的skip-grant-tables,然后启动myqsld,然后就可以以新密码登录了

库的基本操作

前提:连接上数据库

创建数据库 :

采用默认编码集 :
    create database 数据库名
    
自定义编码集 : 
    create database 数据库名 charset = "utf8"

命名规范

可以由字母、数字、下划线、@、#、$
区分大小写
唯一性
不能使用关键字如 create select
不能单独使用数字
最长128位

查看数据库全部的信息

- 纵观所有数据库
    show databases;   # 记得加 ';'
 
- 详细信息
    show create database 数据库名 ;
    
- 使用数据库
    use 数据库名 ;

- 查看当前库中表
    show tables;

- 查看当前的数据库
    select database();
    

更改数据库的编码集

alter database 数据库名 charset utf8 ;

移除数据库

drop database 数据库名 ;
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!