zoukankan      html  css  js  c++  java
  • MySQL数据库的安装与使用

    一、数据库介绍

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

    2、MySQL:用于管理文件的一个软件(两个程序)

    只要是基于网络通信,底层都是socket!!!
    服务端
            -socket通信
            -收发消息
            -解析命令(sql语句)
    
    客户端
            -socket通信
            -收发消息
            -解析命令(sql语句)

    3、DBMS(DataBase Management System):数据库管理系统

    ①关系型数据库(*****)
        存储数据的时候,对于数据有条件限制
        数据与数据之间有关联
        通常都是以表格的方式存储
            第一步需要创建表结构!
        oracle, sqlite, db2, sql server,MySQL,access
    
    ②非关系型数据库(*****)
        数据存储方式 k,v键值对的形式
        redis,mongodb,memcache

     

    二、数据库安装与使用

     1、下载mysql -->

        压缩 --> 改名字mysql56 -->
        cmd(管理员身份) --> cd D:mysql56in --> D: --> mysqld
        cmd(普通) --> cd D:mysql56in --> D: --> mysql -h 127.0.0.1 -p 3306 -uroot -p --> 输密码不用管回车 -->
              查看所有数据库 show databases;(后面必须带分号,敲错了用c退出)

    2、将mysql启动文件路径添加到环境变量中

    D:mysql5.7in

    重新打开cmd(管理员身份)--> mysql

    3、将mysql制作成系统服务 --> 登进services.msc查看,没有MySQL

        一定先将mysql杀死 --> cmd(管理员身份) --> mysqld
    
                  cmd(管理员身份) --> mysql --> tasklist |findstr mysqld --> taskkill /F /PID XX
    
                  关掉两个cmd
    
                  重开新的cmd(管理员身份) --> mysqld --install        # 将mysql服务端制作成系统服务(开机自启动)
    
                  登进services.msc查看,有MySQL,启动MySQL
    
                  再开一份cmd(管理员身份) --> mysql -uroot -p --> show databases;
    
     

    4、修改密码

        重开cmd(管理员身份) --> mysqladmin -uroot -p password 123 --> mysqladmin -uroot -p123 password 3822515 -->
    
                 登录:mysql -uroot -p3822

    5、破解密码(密码忘记了解决方式):跳过密码登录再修改密码

        登进services.msc,把MySQL停止服务 --> cmd(管理员身份)--> tasklist |findstr mysqld --> mysqld --skip-grant-tables(跳过用户密码认证模式)
    
        打开新的cmd(管理员身份) --> mysql -uroot -p(没有密码也可以登进去) -->
                  登进去修改密码:update mysql.user set password=password(3822515) where user='root' and host='localhost'; --> quit -->
    
                  两个cmd都关掉,登进services.msc中启动MySQL(关闭跳过验证的服务端,以正常模式启动服务端)
    
        cmd(管理员身份) --> mysql -uroot -p3822515 --> show databases;    

    6、解决编码问题

        cmd(管理员) --> mysql -uroot -p3822515 --> s (出现下方表格数据有五花八门的编码(latinl、gbk),统一改成utf8)
    
        打开D盘中mysql56文件夹,新建文件夹(文本文档),命名为my.ini,然后用Notepad++打开,添加配置,配置为下:
    [mysqld]
    character-set-server=utf8
    collation-server=utf8_general_ci
    
    [client]
    default-character-set=utf8
    
    [mysql]
    name='root'
    password=3822515
    default-character-set=utf8
        重新登进services.msc,然后重新启动MySQL,然后表格中五花八门的编码都统一改成了utf8

    三、基本sql语句操作

    1、库

    ①增 create database db1 charset utf8;
    ②查 show create database db1;
    ③改 alter database db1 charset gbk;
    ④删 drop database db1;

     2、表

    应该在具体某一个库下面创建表 
    
    use day41;                       # 切换到指定的库内 
    
    select database();               # 查看当前所在的库 
    
    ①增 create table userinfo(id int,name char); 
    
    ②查 
       show tables    show create table userinfo
    # 查看表的详细信息    describe userinfo # 查看表结构 ③改 alter table userinfo modify name char(16);   # 提醒,在创建char类型字段的时候,建议加上数字char(32) ④删 drop table userinfo;

    3、数据

    ①增 insert into userinfo values (1,'egon'), (1,'egon'), (3,'echo'), (4,'eason') ; 
    
    ②查 select id,name from userinfo;            # db1可不指定,默认当前库下 
    
       select * from userinfo;
    
    ③改 update userinfo set name='DSB' where id > 1;
    
       update userinfo set name='DSB' where id = 2 or id = 3; 
    
    ④删 delete from userinfo where id >3; 
    
       delete from userinfo where name='egon'   # 引号一定要加上
    
     

     四、存储引擎

    1、为什么

      文件格式有很多种,对应的软件也有很多种txt,pdf等
      针对不同类型的文件,需要对应有不同的软件帮助我们去操作

    2、查看所有的存储引擎

    show engines;   

    3、查看不同存储引擎存储表结构文件特点 (*****):

    ①create table t1(id int)engine=innodb;    #  用innodb存,创了两个表:frm表结构 ibd存的真实的数据 
    ②create table t2(id int)engine=myisam;    #  三个表:frm表结构,MYD存储数据,MYI基于索引插数据,所以比innodb快 
    ③create table t3(id int)engine=blackhole; #  一个表:frm表结构 
    ④create table t4(id int)engine=memory;    #  一个表:frm表结构 为什么:这个引擎的数据是存在内存的,不是在硬盘里
    

    4、插入数据

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

    5、查看数据

    select * from t1;
    select * from t2; 
    select * from t3; 
    select * from t4;
  • 相关阅读:
    CF1276F
    CF1082F
    CF1366G
    CF1221G
    CentOS7统计某个进程当前的线程数
    centos7备份系统日志
    mysql删除带外键约束的表的方法
    django.db.models.query.QuerySet格式的数据输出
    Linux命令大全
    django创建多对多表三种方法,和ORM操作增删改查
  • 原文地址:https://www.cnblogs.com/zhangguosheng1121/p/10847099.html
Copyright © 2011-2022 走看看