day33

目录

什么是数据库?

存数据的仓库

数据库可以在硬盘及内存中存储数据

为啥使用数据库?

之前使用的Excel来进行管理数据,不能存储10w量级的数据

Excel的缺点:

​ 1.管理不了大量的数据(10w量级的数据)

​ 2.并发操作同一个数据表格

​ 3.数据支持高级的操作,比如:分组,连表等

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

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

数据库介绍:

数据库服务端:存放数据的主机集群

数据库客户端:可以连接数据库的任意客户端

数据库管理员:DBA

数据库基本概念:

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

表:多条记录构建一张表,本质就是文件

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

数据库分类:

关系型数据库:
1.有表的概念,没一列数据类型会有约束,id(整型),name(字符串类型)

2.以表中一条条记录存储数据

Mysql,maridb ——》用的比较多,免费

SqlServer——》微软,大学,*(汽车之家)

Oracel——》甲骨文,收费,金融公司,阿里

sqlite——》小型的文件数据库等

非关系型数据库

mecache——》十年前的产品(新浪博客)

MongoDB——》文档型数据库

redis——》微博

最大的区别:

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

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

mysql架构

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

流程:

​ 1.mysql服务端先启动,监听在某一个特定的端口(3306)

​ 2.mysql客户端连接服务端

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

mysql的安装(windows下)

windows安装:

        先去官网(https://dev.mysql.com/downloads/mysql/)

        #1、下载:MySQL Community Server 5.7.16
            http://dev.mysql.com/downloads/mysql/

        #2、解压
        如果想要让MySQL安装在指定目录,那么就将解压后的文件夹移动到指定目录,如:C:\mysql-5.7.16-winx64

        #3、添加环境变量
        【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【将MySQL的bin目录路径追加到变值值中,用 ; 分割】

        #4、初始化
        mysqld --initialize-insecure   ### 创建data目录, 初始化的数据

        #5、启动MySQL服务
        mysqld # 启动MySQL服务

        #6、启动MySQL客户端并连接MySQL服务
        mysql -u root -p # 连接MySQL服务器

    mysql服务端不会阻塞住

        制作windows的服务:

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

    修改mysql的密码:

        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)
        如果出现上述错误,代表密码输入错误

    常用参数:(********************************)
        -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 关闭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服务

初始mysql

SQL 指令

    - 操作数据库  (***************************************************************)
        增
            create database  数据库名称 charset utf8;
            命名规范:
                可以由字母、数字、下划线、@、#、$
                区分大小写
                唯一性
                不能使用关键字如 create select
                不能单独使用数字
                最长128位

            show create database 数据库名;

        删
            drop database 数据库名称;
        改
            删除再添加
            如果数据库中有数据的话,直接drop会导致数据库中的数据丢失
            在线上环境,不能够直接删除数据, 在删除之前,需要进行备份

        查
            show databases;

        使用数据库:
            use 数据库名;


    - 操作数据表
        增

        删

        改

        查
            show  tables;

    - 操作表记录 (*************************************)
        增
        删
        改
        查

    crud Boy
上一篇:Java学习day33-枚举类和注解


下一篇:day33 UDP、进程