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 往表内插入任何数据,都相当于丢入黑洞,表内永远不存记录



原文地址:https://www.cnblogs.com/lakei/p/10845453.html