数据库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

操作表记录

原文地址:https://www.cnblogs.com/-406454833/p/11755391.html