• MySQL


    数据库概念:

      文件作为数据库,数据格式千差万别

      将保存数据的地方统一起来

    MySQL一款应用软件
    
      用来帮你操作文件的
    
      只要是基于网络通信,底层都是socket !!!
    
      服务端
    
        socket通信
        收发消息
        解析命令(sql语局)
    
      客户端
    
        socket通信
        收发消息
        解析命令(sql语句)
    DBA:
    
      sql语句优化
    mysql

    什么是数据(Data)

      描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字,图片,声音,语言等,数据由多种那个表现形式,他们都可以经过数组化后存入计算机

    什么是数据库(DataBase,简称DB)

      数据库即存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的

      数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享

    什么是数据库管理系统(DateBase Management System 简称DBMS)

      科学地组织和存储数据,高效获取和维护数据成了关键 就用到了一个系统软禁--数据库管理系统

      关系型数据库

        存储数据的时候,对于数据有条件限制

        数据与数据之间有关联

        通常都是以表格的方式存储

          第一步需要创建表结构!

        Oracle ,sqlite,db2,sql server ,MySQL ,access

        mysql主要用于大型门户,例如搜狗、新浪等,它主要的优势就是开放源代码,因为开放源代码这个数据库是免费的,它现在是甲骨文公司的产品

        oracle 主要用于银行、铁路、飞机场等。该数据库功能强大,软件费用高。也是甲骨文公司的产品

        sql server 是微软公司的产品,主要应用于大中型企业,如联想、方正等。

      非关系型数据库

        数据存储方式 k ,v  键值对的形式

        redis,mongodb,memcache

    数据库服务器、数据管理系统、数据库、表与记录的关系

    记录:1 刘海龙 33123 22(多个字段的信息组成一条记录,即文件中的一行内容)

    表:student,school,class_list (即文件)

    数据库:oldboy_stu (即文件夹)
    数据库管理系统:mysql (是一个软件)
    数据库服务器:一台计算机 (对内存要求比较高)
     
    总结:
      数据库服务器:运行数据管理软件
      数据库管理软件:管理数据库
      数据库:即文件夹,用来组织文件/表
      表:即文件,>>表头:字段   用来存放多行内容/多条记录
    https://www.jb51.net/article/87898.htm
    5.6 官方版安装
    启动
        服务端
            mysqld
        客户端
            mysql -h 127.0.0.1 -P 3306 -uroot -p
            也支持简写
            mysql -uroot -p
            让你输入密码,默认密码是空 不用管直接敲回车
        sql语句第一条命令
            查看所有数据库
                show databases;
        注意:输入sql语句的时候,一定要用英文分号结束
        如果输入的sql语句错了 不想执行的话可以 不加分号 换行后在后面跟上c取消命令的执行
        退出客户端:exit quit
    
    1 将mysql 启动文件路径添加到环境变量
    2 将mysqld制成系统服务
        1 一点要先将mysqld杀死
        2 mysql --install  将mysqld 服务端制作成系统服务(开机自启动)
    3 设置密码
        mysqldmin -uroot -p password '123'
        
        #第一次修改完以后,之后要还修改密码需要
        mysqldadmin -uroot -p123 password '123456'
        #为了后续调试方便,这里把密码设为空值
        mysqld -uroot -p123 passsword '新密码'
    
    4 破解密码
        1 先关闭服务端
        2 以跳过用户密码认证模式重新启动服务端
             mysqld --skip-grant-tables
        3 以管理员登录
        4 修改mysql库里面的user表
           update mysql.user set password=password(123) where user='root' and host ='localhost';
        5 先关闭跳过验证的服务端,以正常模式启动服务端
        6 输入用户密码正常登录
    
    5 解决编码问题
        1 在mysql根目录下新建一个my.ini 的配置文件,在里面固定加上下面的配置即可设置编码问题
        [mysqld]
            character-set-servet=utf8
            collation-server=utf_geeral_ci
        [client]
            default-character-set=utf8
        [mysql]
            default-character-set=utf8
        2 重新启动你的mysql服务端,配置才会生效
    
    6 基本sql语句操作
        库
            增  create database db1 charset utf8;
            查  show create database db1;
            改  alter database db1 charset gbk;
            删   drop database db1;
    
        表
           应该在具体某一个库下面创建表
            1 切换到指定的库内 use 库名;
            增  create table userinfo(id int ,name char);
            查  show tables
                 show create table userinfo 
                 desc userinfo <=> describe userinfo
            改  alter table userinfo modify name char(16);
                  提醒,在创建char类型字段的时候,建议加上数字(32)
            删    drop table userinfo;
        
        数据
            增
                insert into userinfo values (1,'eogn') ,(2,'echo');
                #into 可加 可以不加,userinfo 可以不指定,默认就是在当前库下
            改    
                update  userinfo set name ='DSb' where id >1;
                update userinfo set name=‘Dsb’ where id=2 or id=3;
    
            查 
                select id ,name from userinfo ; 
                #userinfo 可以不指定,默认当前库下
               select * from userinfo;
            
            删
                delete from userinfo where id =1;
            
                清空表:
                    delete from userinfo ; 
                    如果有自增id ,新增的数据,任然是以删除前的最后一样作为起始。
                    truncate table userinfo; 
                    数据量大,删除输入比上一条块,且直接从零开始
                    auto_increment 表示:自增
                    promary key 表示:约束(不能重复且不能为空);加速查找
    mysql 语句

    表操作

    存储引擎

    文件格式有很多种,对应的软件也有很多种txt pdf等

    针对不同类型的文件,需要对应有不同的软件帮助我们去操作

    #查看所有的存储引擎

    show engines;

    #查看不同存储引擎存储表结构文件特点

    create table t1(id int)engine=innodb;
    create table t2(id int)engine=myisam;
    create table t3(id int)engine=blackhole;
    create table t4(id int)engine=memory;

    insert into t1 values(1);
    insert into t2 values(1);
    insert into t3 values(1);
    insert into t4 values(1);

    [root db1]  E:mysql5.6data 发现后两种存储引擎只有表结构,无数据

    db.opt  t1.frm  t1.ibd  t2.MYD  t2.MYI  t2.frm  t3.frm  t4.frm

    #memory 在重启mysql或者重启机器后,表内数据清空
    #blackhole 往表内插入任何数据,都相当于丢入黑洞,表内永远不存记录



  • 相关阅读:
    Java 泛型 泛型的约束与局限性
    Java 泛型 泛型方法
    Java 泛型 泛型数组
    Java 泛型 协变性、逆变性
    Java 泛型 协变式覆盖和泛型重载
    Java 泛型 泛型代码和虚拟机
    Insertion Sort List
    Remove Duplicates from Sorted List II
    String to Integer (atoi)
    SpringMvc源码入门
  • 原文地址:https://www.cnblogs.com/lakei/p/10845453.html
Copyright © 2020-2023  润新知