博客
关于我
MySQL基础部分学习笔记
阅读量:221 次
发布时间:2019-03-01

本文共 2771 字,大约阅读时间需要 9 分钟。

数据库,简单来说,就是一个用来存储数据的仓库。它就像一个永远开着的文件柜,能够让你随时存取和管理各种类型的数据。理解数据库的核心概念是理解它的存储方式和管理方式。


数据存放

数据库的数据存放有几个阶段可以追溯:

  • 内存存放:在程序运行时,数据会被存放在内存中。这种方式的优点是速度快,但缺点是数据一旦程序结束,就会丢失。

  • 文件存放:将数据持久化存储到文件中,比如用.txt.xml文件。这种方式的优点是数据不会丢失,但存在一些问题:

    • 不安全:文件容易被篡改或删除。
    • 不方便:难以在文件中插入、删除数据。

    尽管如此,文件存储方式仍有其应用场景,比如配置文件管理。


  • 数据库的产生

    数据库的核心功能是支持CRUD(Create, Read, Update, Delete),其中最难的就是“查找”功能。数据库通过不同的模型来组织数据:

  • 层次模型

    • 优点:层次结构清晰,便于管理。
    • 缺点
      • 查询效率低下,因为需要通过多个层次查找数据。
      • 数据不完整,一个表可能只保存部分信息。
  • 网状模型

    • 优点:解决了层次模型的复杂性问题,数据完整性高。
    • 缺点:无法有效解决导航问题,且文件重复难以管理。
  • 关系型模型

    • 优点
      • 数据完整性高,层次性清晰。
      • 通过主键外键实现数据关联,解决了导航问题。
    • 核心思想:数据之间的关系基于共性,每张表都有自己的主键,但又能通过外键找到关联的其他表。

  • 安装数据库

    安装数据库需要遵循以下步骤:

  • 选择数据库版本

    • 根据项目需求选择合适的版本。常用版本有:
      • MySQL 5.7
      • MySQL 8.0
  • 下载数据库

    • 访问MySQL官方下载页面,选择合适的安装包。
    • 下载完成后,可以通过迅雷等工具加速下载。
  • 安装数据库

    • 选择安装类型,通常选择“Server Only”。
    • 按照指引一步步完成安装,一路点击“Next”即可。
    • 安装完成后,将数据库添加到环境变量中。
  • 设置权限

    • 在命令行中使用以下命令启动数据库:
      net start mysql
    • 登录数据库时,建议避免直接输入密码,改用:
      mysql -u root -p > Enter Password:*****

  • MySQL的作用

    MySQL 是一种关系型数据库管理系统(RDBMS),主要用于C/S架构的应用开发。它的主要功能包括:

  • 服务器端:提供数据库服务,接受客户端的连接请求。
  • 客户端:通过命令行工具(如mysql)操作数据库。
  • MySQL 的特点:

    • 开源:免费使用,社区活跃。
    • 稳定性强:支持大规模数据存储。
    • 灵活性高:支持多种数据类型和存储引擎。

    库的基本操作

  • 查看所有数据库

    SHOW DATABASES;
  • 创建数据库

    CREATE DATABASE IF NOT EXISTS `student` CHARSET=utf8;
    • 通常建议使用IF NOT EXISTS检查数据库是否存在。
    • 设置字符集为utf8以支持多语言字符。
  • 删除数据库

    DROP DATABASE IF EXISTS `student`;
  • 修改数据库字符集

    ALTER DATABASE `student` CHARSET=gbk;

  • 表的基本操作

  • 查看库内表

    USE student;SHOW TABLES;
  • 创建表

    CREATE TABLE IF NOT EXISTS teacher (    id INT AUTO_INCREMENT PRIMARY KEY COMMENT '主键id',    name VARCHAR(30) NOT NULL COMMENT '老师姓名',    phone VARCHAR(20) COMMENT '电话号码',    address VARCHAR(100) DEFAULT '暂时未知' COMMENT '地址') ENGINE=InnoDB;
    • 表字段的注释和默认值可以通过COMMENT添加。
    • id作为PRIMARY KEYAUTO_INCREMENT自动编号。
    • ENGINE=InnoDB选择存储引擎。
  • 删除表

    DROP TABLE IF EXISTS `student`;
  • 修改表结构

    • 添加字段
      ALTER TABLE student ADD phone VARCHAR(20) AFTER name;
    • 删除字段
      ALTER TABLE student DROP phone;
    • 修改字段属性
      ALTER TABLE student CHANGE phone tel_phone INT(11);
  • 重命名表

    ALTER TABLE student RENAME TO students;

  • 数据的基本操作

  • 插入数据

    • 单条数据
      INSERT INTO teacher (name, phone, address) VALUES('王帅真', '18359730121', '嘉园路');
    • 多条数据
      INSERT INTO teacher VALUES(NULL, 'Tom', NULL, DEFAULT), (NULL, 'Jack', NULL, DEFAULT);
  • 删除数据

    • 按条件删除
      DELETE FROM teacher WHERE id=2;
    • 清空表
      TRUNCATE TABLE student;
  • 更新数据

    UPDATE teacher SET name='Jack' WHERE id=1;
  • 查询数据

    • 查询全部数据
      SELECT * FROM teacher;
    • 指定字段查询
      SELECT name FROM teacher WHERE id=1;

  • SQL 语句分类

    • DDL(数据定义语言):用来创建、修改和删除数据库结构。

      • 示例:CREATE TABLEALTER TABLEDROP TABLE
    • DML(数据操作语言):用来插入、更新、删除数据。

      • 示例:INSERTUPDATEDELETESELECT

    数据类型

    数据库支持多种数据类型,常见的有:

  • 数值类型

    • TINYINTSMALLINTMEDIUMINTINTBIGINT
    • FLOATDOUBLEDECIMAL(用于精确金额,推荐使用)
  • 字符串类型

    • CHAR(定长字符串)
    • VARCHAR(变长字符串)
    • TEXT(长文本)
  • 日期和时间类型

    • DATETIMEYEARDATETIMETIMESTAMP
  • 布尔类型

    • BOOLEAN(true/false)
  • 枚举类型

    • 用于存储有限的取值,避免非法输入。

  • 总结

    数据库是现代应用开发的核心技术之一。通过合理组织数据,数据库能够高效存储和管理大量信息,为企业提供强大的数据处理能力。理解数据库的工作原理和使用方法,对于开发高效的后台系统至关重要。

    转载地址:http://cobv.baihongyu.com/

    你可能感兴趣的文章
    nodejs在Liunx上的部署生产方式-PM2
    查看>>
    nodejs基于art-template模板引擎生成
    查看>>
    nodejs字符与字节之间的转换
    查看>>
    NodeJs学习笔记001--npm换源
    查看>>
    NodeJs学习笔记002--npm常用命令详解
    查看>>
    nodejs学习笔记一——nodejs安装
    查看>>
    vue3+Element-plus icon图标无法显示的问题(已解决)
    查看>>
    NodeJS实现跨域的方法( 4种 )
    查看>>
    nodejs封装http请求
    查看>>
    nodejs常用组件
    查看>>
    nodejs开发公众号报错 40164,白名单配置找不到,竟然是这个原因
    查看>>
    Nodejs异步回调的处理方法总结
    查看>>
    NodeJS报错 Fatal error: ENOSPC: System limit for number of file watchers reached, watch ‘...path...‘
    查看>>
    nodejs支持ssi实现include shtml页面
    查看>>
    Nodejs教程09:实现一个带接口请求的简单服务器
    查看>>
    nodejs服务端实现post请求
    查看>>
    nodejs框架,原理,组件,核心,跟npm和vue的关系
    查看>>
    Nodejs概览: 思维导图、核心技术、应用场景
    查看>>
    nodejs模块——fs模块
    查看>>
    Nodejs模块、自定义模块、CommonJs的概念和使用
    查看>>