zoukankan      html  css  js  c++  java
  • 数据库

    一 什么是数据库

    """
    本质其实就是一款基于网络通信的应用程序
    那其实每个人都可以开发一款数据库软件 因为它仅仅就是一个基于网络通信的应用程序
    
    也就意味着数据库软件其实有很多很多
        关系型数据库
            MySQL、oracle、db2、access、sql server
        非关系型数据库
            redis、mongodb、memcache
    """
    # 关系型
        1 数据之间彼此有关系或者约束
            男生表和前女友表
        2 存储数据的表现形式通常是以表格存储    
            name     password        hobby
            jason      123            学习
            egon      123            女教练
            tank      123            吃生蚝
            每个字段还会有存储类型的限制
            比如姓名只能存字符串...
    # 非关系型
        存储数据通常都是以k,v键值对的形式

    二 MySQL数据库

      2.1 基本介绍

    """
    任何基于网络通信的应用程序底层用的都是socket
    
    -服务端
        -基于socket通信
        -收发消息
        -SQL语句
    
    -客户端
        -基于socket通信
        -收发消息
        -SQL语句
    """
    MySQL不单单支持MySQL自己的客户端app还支持其他编程语言来充当客户端操作
        如何解决语言沟通的障碍?
            # 1 让服务端兼容所有的语言(一个人精通多国语言)
            # 2 采用统一的语言(Mysql就是采用这样方式:SQL语句)

      2.2 关于mysql中几个重要概念

    库 》》》文件夹
    表》》》文件
    记录》》》文件内一行行的数据
    
    name     password        hobby
    jason      123            学习
    egon       123            女教练
    tank       123            吃生蚝
    
    表头                表格的第一行字段
    字段                name、password、hobby,记录的属性

      2.3 mysql的安装步骤

    """
    在IT界 一般都不会轻易的使用最新版本的软件,因为新版本可能会出现各种问题
    (你原本项目跑的好好的 非要画蛇添足更新版本 然后项目奔溃)
    小段子:
        更新完没事 那么你还是一个普通员工
        更新完出事 那么你就是一名"烈士"
    """
    # MySQL有很多版本(5.65.78.0) 目前企业里面用的比较多的还是5.6左右
    参考网站:https://www.mysql.com/
    点击DOWNLOADS
    点击最下端的MySQL Community (GPL) Downloads »
    点击MySQL Community Server
    点击Looking for previous GA versions?
    选择好版本,系统和要下载的位数
    再点击Download
    点击No thanks, just start my download.下载解压即可

      2.4 mysql的启动

    下载好后解压到任意目录下
    进入目录下bin文件夹
    服务端:mysqld.exe
    客户端:mysql.exe
    
    注意
    在前期配置MySQL的时候 cmd终端尽量以管理员的身份运行
    windows+r 输入cmd  进入的是普通用户终端 有一些命令是无法执行的
    搜索cmd右键 以管理员身份运行

         启动服务端:

    1.管理员身份启动cmd
    2.定位到你的mysql的bin目录下
    3.输入mysqld即可
    
    

        启动客服端:

    1.服务端的cmd穿口不要关闭
    2.以win+r的方式打开cmd窗口
    3.输入客户端连接服务端的命令mysql -h 127.0.0.1 -P 3306 -uroot -p(可以直接简写为mysql -uroot -p)
    4.
    MySQL第一次以管理员身份进入是没有密码的 直接回车即可

        常见的几个默认端口号

    MySQL  3306
    redis  6379
    mongodb 27017
    django  8000
    flask   5000

      2.5 mysql的配置 

      上面的启动方式太繁琐了,让我们通过配置使他变的简单些   

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

    1.将mysqld所在的文件路径添加到系统环境变量中(不会环境变量自己百度)
    2.以管理员身份运行cmd,输入mysqld --install
    3.之后运行服务端只需打开任务管理器,点击‘服务’,找到mysql右键运行即可

      2.6 统一mysql的编码

    1.进入到目录找到my-default.ini 
       ini结尾的一般都是配置文件
    
       程序启动会先加载配置文件中的配置之后才真正的启动
       [mysqld]  # 一旦服务端启动立刻加载下面的配置
       sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
       [mysql]  # 一旦客户端启动立刻加载下面的配置
       [client]  # 其他客户端
    
    2.需要你自己新建一个my.ini的配置文件
    
    验证配置是否真的是自动加载
    [mysql]
    print('hello world')
    
    修改配置文件后一定要重启服务才能生效
    
    统一编码的配置 无需掌握 直接拷贝即可
    
    偷懒 将管理员的用户名和密码也添加到配置文件中
    [mysqld]
    character-set-server=utf8
    collation-server=utf8_general_ci
    [client]
    default-character-set=utf8
    [mysql]
    user="root"
    password=123456
    default-character-set=utf8

      2.7 设置密码和破解密码

    在终端直接输入mysqladmin -uroot -p原密码 password 新密码

      密码忘了怎么办

    你可以将mysql获取用户名和密码校验的功能看成是一个装饰器
    装饰在了客户端请求访问的功能上
    
    我们如果将该装饰器移除 那么mysql服务端就不会校验用户名和密码了
    不知道python的就不要看了
    1.先关闭当前mysql服务端
    2.以管理员身份启动cmd输入:mysqld --skip-grant-tables(让mysql跳过用户名密码验证功能)
    3.正常启动cmd窗口输入mysql -uroot -p 回车即可(无密码方式连接)
    4.输入
    update mysql.user set password=password(新密码) where user='root' and host='localhost';
    5.输入
    flush privileges;立刻将修改数据刷到硬盘
    6.关闭服务器然后以正常方式启动即可

      2.8 sql语句初识

    1 MySQL中的sql语句是以分号作为结束的标志
    
    2 基本命令
        show databases;  查看所有的库名
    
    3 连接服务端的命令可以简写
        mysql -uroot -p
    
    4 当你输入的命令不对 又不想让服务端执行并返回报错信息 可以用c取消
        错误命令  c
    
    5 客户端退出  退出命令加不加分号都可以执行
        quit
        exit
    
    6 当你在连接服务端的时候 发现只输入mysql也能连接
       但是你不是管理员身份 而只是一个游客模式
    
    7 如何查看当前具体进程
        tasklist
        tasklist |findstr mysqld
    
    8 如何杀死具体进程(只有在管理员cmd窗口下才能成功)
        taskkill /F /PID PID号
    
    9 查看当前计算机的运行进程数
        services.msc
    
    10 将mysql制作成系统服务
        mysqld --install
    
    11 移除mysql系统服务
        mysqld --remove

    三 mysql基本语句

      针对库的增删改查(文件夹)

    # 增
    create database db1;
    create database db2 charset='gbk';
    # 查
    show databases;  # 查所有
    show create database db1;  # 查单个
    # 改
    alter database db2 charset='utf8';
    # 删
    drop database db2;

      针对表的增删改查(文件)

    """
    在操作表(文件)的时候 需要指定所在的库(文件夹)
    """
    # 查看当前所在的库的名字
    select database();
    # 切换库
    use db1; 
    
    # 增
    create table t1(id int,name char(4));
    # 查
    show tables;  # 查看当前库下面所有的表名
    show create table t1;
    describe t1;  # 支持简写 desc t1;
    # 改
    alter table t1 modify name char(16);
    # 删
    drop table t1;
    
    """
    create table db2.t1(id int);  也可以用绝对路径的形式操作不同的库
    """

      针对数据的增删改查(一行行数据)

    """
    一定要先有库 有表 最后才能操作记录
    """
    # 增
    insert into t1 values(1,'jason');
    insert into t1 values(1,'jason'),(2,'egon'),(3,'tank');
    # 查
    select * from t1;  # 该命令当数据量特别大的时候不建议使用
    select name from t1;
    # 改
    update t1 set name='DSB' where id > 1;
    # 删
    delete from t1 where id > 1;
    delete from t1 where name='jason';
    # 将表所有的数据清空
    delete from t1;
  • 相关阅读:
    element ui 表单清空
    element ui 覆盖样式 方法
    element ui 修改表单值 提交无效
    element ui 抽屉里的表单输入框无法修改值
    element ui 抽屉首次显示 闪烁
    css 左侧高度 跟随右侧内容高度 自适应
    PICNUF框架
    elementui 抽屉组件标题 出现黑色边框
    vue 子组件跨多层调用父组件中方法
    vue 编辑table 数据 未点击提交,table里的数据就发生了改变(深拷贝处理)
  • 原文地址:https://www.cnblogs.com/bk134/p/12810167.html
Copyright © 2011-2022 走看看