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

    数据库是什么

    • 存储数据的仓库

    为什么要使用数据库

    与excel对比:

    • 可以管理大量数据
    • 可以并发操作同一个数据表格
    • 数据支持高级的操作, 比如: 分组, 链表等

    数据库的分类

    • 关系型数据库
      • 对每一列数据的数据类型会有约束, 例如id(整型), name(字符串类型)
      • 常见的关系型数据库软件: MySQL, Oracle
    • 非关系型数据库
      • 非关系型数据库是key-value存储的, 没有表结构
      • 常见非关系型数据库软件: redis, mongodb(文档型数据库)
    • 两者最大区别: 关系型数据库把数据存在硬盘中, 而非关系型数据库把数据存在内存中

    mysql的架构

    • 类似于socket 的服务端和客户端
    • 流程:
      1. mysql服务端先启动, 监听在某一个特定的端口(默认3306)
      2. mysql客户端连接服务端
      3. mysql客户端可以发送相关的操作命令, 去操作服务端存储的数据

    mysql的安装及初始化

    1. 添加环境变量, 使cmd终端可以不需切换盘符直接开启服务端和客户端

    2. 初始化mysqld服务端并创建data目录: mysqld --initialize-insecure

    3. 启动mysqld服务端: mysqld

    4. 启动mysql客户端连接mysqld服务端: mysql -u root -p

    5. 将mysqld服务端制作成windows服务, 使其不会阻塞: "mysqld绝对路径" --install

      • 将mysqld服务端从windows服务中移除: "mysqld绝对路径" --remove
    6. 注册成windows服务后, 开启和关闭服务端命令(需管理员权限开启cmd):

      • 开启mysql服务端: net start mysql
      • 关闭mysql客户端: net stop mysql
    7. 设置初始密码: mysqladmin -u root -p password "密码"

      修改密码: mysqladmin -u root -p "原密码" password "新密码" # 修改密码需要输入原密码

    8. 忘记密码, 操作方式:

      1. 关闭mysql
      2. 在cmd中执行:mysqld --skip-grant-tables
      3. 在cmd中执行:mysql
      4. 执行如下sql:
        update mysql.user set authentication_string=password('设置新密码') where user = 'root';
        flush privileges;
      5. tskill mysqld #或taskkill -f /PID 7832
      6. 重新启动mysql
    9. mysql常用参数:

      -u: user 用户名

      -p: password 密码

      -h: host主机名或ip, mysql -u root -p -h 192.168.1.10

      -P: port默认是3306, mysql -u root -p -h 192.168.1.10 -P 3307

    数据库/数据表/表记录

    • 数据库: 即文件夹, 用来组织文件/表
    • 表: 即文件, 用来存放多条记录/多行内容
    • 记录: 多个字段的信息组成的一条记录, 即文件中的一行内容
    • 数据库服务器: 一台运行数据库管理软件的计算机(对内存要求比较高)
    • 数据库管理系统: 即数据库管理软件

    sql指令

    操作数据库

    • 增: create database 数据库名 charset utf8;

    • 删: drop database 数据库名;

    • 改: 删除再添加, 删除之前做好备份

      alter database 数据库名 charset utf8 # 修改数据库编码

    • 查: show databases;

      ​ show create database 数据库名;

      ​ select database(); # 查看当前在哪个数据库下

    • 使用数据库 use 数据库名;

    操作数据表

    • 查: show tables

    操作表记录

  • 相关阅读:
    数组
    css动画
    mui 常用手势
    ejs 用到的语法
    css 高度塌陷
    SQL 用到的操作符
    position: relative;导致页面卡顿
    h5 图片生成
    li之间的间隙问题
    虚拟机扩容mac
  • 原文地址:https://www.cnblogs.com/-406454833/p/11755391.html
Copyright © 2011-2022 走看看