• 31 - 认识MySQL


    Day 31

    MySQL的安装与配置

    安装包下载地址:https://dev.mysql.com/downloads/mysql/
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    一、 为什么要使用数据库

    1.数据持久化 - 将数据从内存转移到硬盘(长久保存数据的存储介质)

    2. 数据库(database) - 存储数据,管理数据

    二、 数据库的类型

    1.关系(型)数据库

    2.非关系型数据库 —> NoSQL数据库 —> No SQL —> No, SQL —> Not Only SQL

    • KV数据库
    • 文档数据库
    • 列族数据库
    • 图数据库

    三、关系数据库的特点

    1.理论基础:关系模型 - 关系代数 - 关系运算 - 谓词逻辑

    2.具体表象:用二维表组织数据

    • 行(row) - 记录(record) - 元组(tuple)
    • 列(column)- 字段(field)- 属性(attribute)
    • 主键(primary key)
    • 外键(foreign key)
    • 编程语言:SQL - Structured Query Language - 结构化查询语言

    3. 关系数据库产品

    • Oracle / MySQL / DB2 / SQLServer / PostgreSQL / MariaDB

    • MySQL

    • reliable / mature / open-source

    • 中小型网站开发的黄金组合 - LAMP = Linux + Apache + MySQL + PHP

    四、MySQL命令行

    首先需要调出命令行客户端工具,可在开在开始菜单栏下找到

    在这里插入图片描述

    • 苹果电脑可以在终端输入路径调用在这里插入图片描述

    1.命令

    • 显示所有数据库:show databases;
    • 显示数据库下所有表:show tables;
    • 显示所有的字符集:show charset;
      在这里插入图片描述

    2.结构化查询语言(SQL)

    • DDL - Data Definition Language - 数据定义语言 - create / drop / alter

    • Unicode —> utf-8 / utf-16 / utf-32
      ‘a’ —> 1字节
      ‘一’ —> 3字节
      ‘’ —> emoji —> 4字节
      utf8mb4 - 最大4字节的utf-8编码 - MySQL8默认

    • 如果存在名为school的数据库就删除它
      drop database if exists school;

    • 创建名为school的数据库并指定默认的字符集
      create database school default charset utf8mb4;

    • 切换数据库
      use school;

    • 创建二维表

    create table tb_student
      (
        stu_id integer not null comment '学号', 
        stu_name varchar(20) not null comment '姓名', 
        stu_gender boolean not null default 1 comment '性别', 
        stu_birth date default '2000-1-1' comment '出生日期',
        primary key (stu_id)
      ) engine=innodb comment '学生表';
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    在这里插入图片描述

    • 删除表
      drop table if exists tb_student;

    • 修改表添加列
      alter table tb_student add column stu_addr varchar(200) default ‘’ comment ‘家庭住址’;
      alter table tb_student add column stu_tel varchar(20) not null comment ‘联系电话’;

    • 修改表删除列
      alter table tb_student drop column stu_tel;

    • 修改表修改列
      alter table tb_student modify column stu_gender char(1) default ‘男’ comment ‘性别’;
      alter table tb_student change column stu_gender stu_sex char(1) not null default ‘M’ comment ‘性别’;

    五、数据类型

    想查看某个命令如何使用可使用help 或者 ? 加对应命令即可 例如: ~ help data types; / ? data types;

    1.整数

    • bigint(64bit —> 8byte —> -2^63 ~ 2^63-1)—> bigint unsigned(0 ~ 2^64-1)
    • integer / int (32bit —> 4byte —> -2^31 ~ 2^31-1)—> int unsigned(0 ~ 2^32-1)
    • smallint(16bit —> 2byte —> -32768 ~ 32767)—> smallint unsigned
    • tinyint (8bit —> 1byte —> -128 ~ 127) —> tinyint unsigned

    2.小数

    • float / double —> 不推荐使用
    • decimal(数字总位数,小数点后位数) —> decimal(10, 2)

    3.字符串 —> 底层都是边长编码

    • char
    • varchar —> varchar(20) —> 65535 / 16383
    • longtext / longblob —> 4G —> 不推荐使用 —> 用字符串保存文件路径即可

    4.日期时间

    • date
    • time
    • datetime
    • timestamp —> 不推荐使用 —> 底层是一个整数 —> 2038年1月19日3时14分07秒
  • 相关阅读:
    js 时间加年月日
    背废完虐面试官!字节架构师8年心血终成《图解设计模式》手册
    ​P1190 [NOIP2010 普及组] 接水问题 【贪心】​
    工业控制系统面临的安全问题分析
    得心应手应对 OOM 的疑难杂症
    【C++】模板基础 + STL
    C++11中可变参数模板使用
    深紫色粉末BHQ-1 NHS,916753-61-2,NHS修饰是合成后与一个伯氨基的共轭
    android列表下拉刷新上拉加载更多实现的几种文件组织方式
    gin路由相关方法
  • 原文地址:https://blog.csdn.net/Mr_suyi/article/details/126592286