zoukankan      html  css  js  c++  java
  • 8.16MySQL(一)

    一、数据库相关简介

    1.数据库的概念

    数据库概念
        1.随意的存到了一个文件中  数据格式也是千差万别的
    
        2.软件开发目录规范
            规定了数据存放的位置
        ps:数据都是保存在本地的
    
        3.将保存数据的部分 存到一个公共的地方 所有的用户涉及到数据相关 都必须来这个公共地方查找

    2.数据库之MySQL

    数据库之MySQL
        本质就是一款基于网络通信的应用软件
        任何基于网络通信的软件 底层都是socket
    
        服务端
            -基于socket通信
            -收发消息
            -SQL语句(是一个公共的标准)
        客户端
            -基于socket通信
            -收发消息
            -SQL语句
    
        ps:MySQL不单单支持MySQL的客户端来操作 也支持其他编程语言直接操作
            python java c++ php语法都不一样

    3.DBMS:数据库管理系统

      数据库的分类

    DBMS:数据库管理系统
    
        关系型数据库
            数据与数据之间可以有关联和限制的
                关系型数据库通常都是表结构,也就意味着你在用关系型数据库的时候
                第一步就是确定表结构
    
                字段有特定的类型
                    存名字用字符串
                    存密码用数字
                    存生日用日期
            MySQL, oracle, sqlite,  db2, sql server
    
        非关系型数据库
            通常都是以k,v键值的形式 存储数据
            redis,mongodb(文档型数据库 非常接近关系型的非关系型数据),memcache

    4.MySQL 内部结构

    MySQL其实可以把它看成一款支持远程操作文件的软件
    
    库   >>>   文件夹
    表   >>>   文件
    记录 >>>   文件内一行行的数据叫做一条条的记录
    
    表头  就是表格的第一行数据
    字段  字段名+字段类型

    二、MySQL 数据库安装与基本使用

    1.MySQL的下载与安装

    https://www.cnblogs.com/Eva-J/articles/9669675.html

      注意:在IT行业,不要轻易的尝试最新版本的软件

    下载之后,是将MySQL的服务端和客户端都下载了下来
    先解压
    再查看文件目录
    
    服务端:mysqld
    
    客户端:mysql

    2.MySQL的基本使用

        启动mysqld
            1.切换到bin目录下
            2.执行mysqld
        PS:做前期MySQL配置的时候 终端建议你用管理员身份运行
    
        windows+r启动的是普通用户
    
        mysql在初始登陆的时候 是没有密码的 直接回车即可
    
        mysql中的sql语句 是以分号结束的 不敲分号 默认你没有输入完
        客户端还会让你继续输入
    
    
        客户端登陆
            mysql -h 127.0.0.1 -P 3306 -uroot -p
            可以简写
            mysql -uroot -p
    
            如果不输入用户名和密码 默认是访客模式登陆  所能用到的功能很少
    
        客户端退出登陆
            exit;
            quit;
        查看所有的数据库
            show databases;
    
        查看某个进程
            tasklist |findstr 名称
    
        杀死进程
            taskkill /F /PID 进程号

    三、配置环境变量、制作系统服务

    1.制作环境变量

    制作环境变量
        将启动文件所在的路径添加到系统的环境变量中
        注意:配置完之后一段要重新启动mysql服务端及cmd终端

    2.将mysqld制作成系统服务

    将mysqld制作成系统服务
        制作系统服务 你的cmd终端一定要是管理员身份
    
        mysqld --install

    四、修改密码、破解密码

    1.修改密码

    没有密码的情况下
         mysqladmin -uroot -p password 123
    有密码的情况下
         mysqladmin -uroot -p123 password 123456
    
     当命令输入错误的时候  可以用c取消前面的命令  cancel

    2.破解密码

    破解密码
        先将已经启动的服务端停掉
    
        1.跳过用户名和密码的验证功能 启动服务端
            mysqld --skip-grant-tables  启动服务端 跳过授权表
        2.修改管理员用户对应的密码
            update mysql.user set password=password(123) where user='root' and host='localhost';
        3.关闭当前服务端  重新以校验用户名密码的方式启动
        4.正常以用户名密码的方式 连接mysql服务端

    五、配置文件相关操作

    1.配置文件

    配置文件
        s查看 mysql服务端简单配置
        通常情况下配置文件的后缀都是ini结尾
    
        mysql自带的配置文件不要修改
        但是你可以新建一个配置文件 my.ini
        mysql服务端在启动就会自动加载你的my.ini配置文件内的配置
    
        修改完配置文件之后需要先将服务端停止  重新启动 才能生效
    
        修改了配置文件一定要重启服务端

    2.新建配置文件my.ini

    [mysqld]
    character-set-server=utf8
    collation-server=utf8_general_ci
    
    [client]
    default-character-set=utf8
    
    [mysql]
    default-character-set=utf8
    
    # 还可以加上管理员账户与密码
    user='root'
    password=123

    3.注意

      自带的配置文件 my_default.ini 不能改,只能新建格式为 ini的文件

      修改原因:将 mysql 中 gbk 的编码格式改为 utf-8

      当启动 mysql 时,会自动触发 my.ini 这个配置文件

      所以我们可以将管理员的名字和密码写入配置文件,登录 mysql 的时候就不需要在写密码,直接 mysql 就可以启动了

    六、MySQL基本操作

    1.库的操作

    库:类似于文件夹
            增
                create database db1;  新增一个库
            查
                show databases;  查所有
                show create database db1;  查单个
            改
                alter database db1 charset='gbk';  修改编码
            删
                drop database db1;  删库

    2.表的操作

    表
            在创建表的时候 需要先指定库
                指定库:  use 库名
                查看当前虽在的库: select database();
            增
                create table userinfo(id int,name char);
            查
                show tables;  查看某个库下面的所有的表
                show create table userinfo;
                desc userinfo;    <==> describe userinfo;
            改
                alter table userinfo modify name char(32);
            删
                drop table userinfo;

    3.记录的操作

    记录
            先创建一个库或者指定一个已经存在的库
            切换到该库下,创建表
            然后再操作记录
            create database db1;
            create table userinfo(id int,name char(32),password int);
    
            增
                insert into userinfo values(1,'jason',123);  插入单条数据
                insert into userinfo values(1,'jason',123),(2,'egon',123),(3,'tank',123);  插入多条数据
            查
                select * from userinfo;  查询所有的字段信息
                select name from userinfo;  查询指定字段信息
                select id,name from userinfo where id=1 or name=tank;  带有筛选条件的字段信息
            改
                update userinfo set name='kevin' where id=1;  修改数据的一个字段信息
                update userinfo set name='jason',password=666 where id=1;  修改数据的多个字段
            删
                delete from userinfo where id =1;  指定删符合条件的数据
                delete from userinfo;  将表中的数据全部删除
  • 相关阅读:
    YTU 2481: 01字串
    smarty的自定义函数
    $_SERVER['SCRIPT_FLENAME']与__FILE__
    pdo中query()与prepare().execute()
    pdo中bindParam()与bindValue的区别
    pdo简介--错误与错误处理
    pdo的三个预定义类,PDO PDOStatement PDOException
    根目录 上级目录 当前目录
    反射机制(转)
    log4j 日志配置
  • 原文地址:https://www.cnblogs.com/francis1/p/11366641.html
Copyright © 2011-2022 走看看