• 掌握MySQL 1


    一、数据库管理软件的由来

      1、数据与文件的分离,文件存放于一台机器,多台机器通过网络访问文件。

      2、用 socket 服务端来管理数据库服务器上的文件,然后用客户端进行访问。

      3、把程序员从数据管理中解脱出来,专注于自己的程序逻辑的编写。

    二、数据库概述

      2.1、什么是数据(Data)

        描述事物的符号记录

        计算机中描述一个事物,就需要抽取这一事物的典型特征,组成一条记录,就相当于文件里的一行内容。

        name  sex  age  birth

        byx   male  18    1994

      2.2、什么是数据库(DataBase)

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

      2.3、什么是数据库管理系统(DataBase Management System)

        mysql:主要用于大型门户,如搜狗、新浪等,它主要的优势是开放源代码。是甲骨文公司的免费产品。

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

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

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

        数据库服务器:运行数据库管理软件

        数据库管理软件:管理数据库

        数据库:即文件夹,用来组织文件

        表:即文件,用来存放多条记录

    三、MySQL介绍

      1、MySQL是什么

        一个基于 socket 编写的 c/s 架构的软件

        客户端软件
          MySQL自带:MySQL命令、MySQLdump 命令等

          python模块:pymysql

      2、数据库管理软件分类

        关系型:需要有表结构,如 mysql, sqllite, db2, oracle, access等,sql 语句通用

        非关系型:以键值对方式储存,没有表结构。如 mongodb, redis, memcache

    四、MySQL 安装

      1、添加环境变量

      2、将 MySQL 服务器制作成 Windows 服务

        MySQL --install

    五、MySQL 软件基本管理

      5.1、登录、设置密码

        设置初始密码:mysqladmin -uroot password'123' 

        修改密码:MySQLadmin -uroot -p'123' password'456'

        登录:MySQL -h127.0.0.1 -uroot -p456

              mysql  -uroot -p

           mysql  以 root 用户登录

      5.2、忘记密码

        1、跳过用户名和密码验证功能,启动服务端

          mysqld --skip-grant-tables

        2、修改管理员用户对应的密码

          update mysql.user set password=password(123) where user='root' and host='localhost';

        3、关闭当前服务端,重新以校验用户名密码的方式启动

      5.3、为 mysql 服务指定配置文件   

    #在mysql的解压目录下,新建my.ini,然后配置
    #1. 在执行mysqld命令时,下列配置会生效,即mysql服务启动时生效
    [mysqld]
    ;skip-grant-tables
    port=3306
    character_set_server=utf8
    default-storage-engine=innodb
    innodb_file_per_table=1
    
    
    #解压的目录
    basedir=E:mysql-5.7.19-winx64
    #data目录
    datadir=E:my_data #在mysqld --initialize时,就会将初始数据存入此处指定的目录,在初始化之后,启动mysql时,就会去这个目录里找数据
    
    
    
    #2. 针对客户端命令的全局配置,当mysql客户端命令执行时,下列配置生效
    [client]
    port=3306
    default-character-set=utf8
    user=root
    password=123
    
    #3. 只针对mysql这个客户端的配置,2中的是全局配置,而此处的则是只针对mysql这个命令的局部配置
    [mysql]
    ;port=3306
    ;default-character-set=utf8
    user=egon
    password=4573
    
    
    #!!!如果没有[mysql],则用户在执行mysql命令时的配置以[client]为准

      5.4、统一字符编码

    #1. 修改配置文件
    [mysqld]
    default-character-set=utf8
    [client]
    default-character-set=utf8
    [mysql]
    default-character-set=utf8

    #mysql5.5以上:修改方式有所改动
    [mysqld]
    character-set-server=utf8
    collation-server=utf8_general_ci
    [client]
    default-character-set=utf8
    [mysql]
    default-character-set=utf8

    #2. 重启服务
    #3. 查看修改结果:
    s
    show variables like '%char%'

    六、初识 sql 语句

      6.1、sql 语言主要用于存取数据、查询数据、更新数据和管理关系数据库系统。

        sql 语言由 IBM 开发,分为三种类型:

          1、DDL语句  数据库定义语言:数据库、表、视图、索引、存储过程。例如 create、drop、alter

          2、DML语句  数据库操纵语言:插入数据 insert、删除数据 delete、更新数据 update、查询数据 select

          3、DCL语句  数据库控制语言:控制用户的访问权限 grant、remove

      6.2、基本操作     

        1、操作文件夹(数据库)
    增:create database db1 charset utf8;
    
    查:show databases;
    
    改:alter database db1 charset latin1;
    
    删:drop database db1;

        2、操作文件(数据)      

    增:create table t1(id int,name char);
    
    查:show tables;
    
    改:alter table t1 modify name char(3);
      alter table t1 change name name1 char(2)
    
    删:
    drop table t1;

        3、操作文件中的内容(记录)

    增:insert into t1 values(1,'a'),(2,'b'),(3,'c');
    
    查:select * from t1;
    
    改:updata t1 set name='sb' where id=2;
    
    删:delete from t1 where id=1;
    
    清空表:delete from t1;  # 如果有自增 id,新增的数据,仍然是以删除前的最后一条作为起始。
    
        truncate table t1;  # 数据量大,删除速度比上一条快,且直接从零开始
  • 相关阅读:
    沉淀,再出发:Java基础知识汇总
    在Windows10中破解一些软件
    Linux中脚本的使用方法
    沉淀,再出发:Git的再次思考
    沉淀,再出发:Maven的使用和规范
    设计模式:总结
    设计模式:解释器(Interpreter)模式
    设计模式:命令(Command)模式
    设计模式:代理(Proxy)模式
    设计模式:享元(FlyWeight)模式
  • 原文地址:https://www.cnblogs.com/binyuanxiang/p/11374838.html
Copyright © 2020-2023  润新知