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;
原文地址:https://www.cnblogs.com/zhangguosheng1121/p/10847099.html