数据库笔记

本文介绍了数据库的基本概念,它是按特定格式存储和管理数据的仓库。详细阐述了数据库的分类,包括SQL的四种语言;列举了数据表中的多种数据类型;还说明了创建、查看、删除数据库及数据表的操作,以及表结构修改、数据增删等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库

是按照数据结构组织、存储和管理数据的仓库。本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作。

分类

SQL分类

  • 数据定义语言:简称DDL(Data Definition Language),用来定义数据库对象:数据库,表,列等。关键字:create,alter,drop等

  • 数据操作语言:简称DML(Data Manipulation Language),用来对数据库中表的记录进行更新。关键字:insert,delete,update等

  • 数据控制语言:简称DCL(Data Control Language),用来定义数据库的访问权限和安全级别,及创建用户。

  • 数据查询语言:简称DQL(Data Query Language),用来查询数据库中表的记录。关键字:select,from,where等

数据表中的数据类型

整数类型 tinyInt 很小的整数
​ smallint 小的整数
​ mediumint 中等大小的整数
​ int(integer) 普通大小的整数
​ 小数类型 float 单精度浮点数
​ double 双精度浮点数
​ decimal(m,d) 压缩严格的定点数
​ 日期类型 year YYYY
​ time HH:MM:SS
​ date YYYY-MM-DD
​ datetime YYYY-MM-DD HH:MM:SS
​ timestamp YYYY-MM-DD HH:MM:SS

文本、二进制类型 CHAR(M) M为0~255之间的整数
​ VARCHAR(M) M为0~65535之间的整数
​ TINYBLOB 允许长度0~255字节
​ BLOB 允许长度0~65535字节
​ MEDIUMBLOB 允许长度0~167772150字节
​ LONGBLOB 允许长度0~4294967295字节
​ TINYTEXT 允许长度0~255字节
​ TEXT 允许长度0~65535字节
​ MEDIUMTEXT 允许长度0~167772150字节
​ LONGTEXT 允许长度0~4294967295字节
​ VARBINARY(M)允许长度0~M个字节的变长字节字符串
​ BINARY(M) 允许长度0~M个字节的定长字节字符串

创建数据库

create database 数据库名

  • 查看数据库MySQL服务器中的所有的数据库:
    ​ show databases;

  • 删除数据库
    ​ drop database 数据库名称;

  • 切换数据库:
    ​ use 数据库名;

  • 创建数据表格式
    ​ create table 表名(
    ​ 字段名 类型(长度) 约束,
    ​ 字段名 类型(长度) 约束
    ​ );

  • 哪些约束:
    ​ 主键约束
    ​ 非空约束
    ​ 唯一约束
    ​ 外键约束

  • 查看数据库中的所有表:
    ​ 格式:show tables;
    ​  查看表结构:
    ​ 格式:desc 表名;
    ​ 例如:desc sort;

  • 修改表添加列
    ​ alter table 表名 add 列名 类型(长度) 约束;

  • 创建用户表:
    ​ 需求:创建用户表,用户编号,姓名,用户的地址

  • CREAT TABLE users (
    		uid INT,
    		uname VARCHAR(20),
    		uaddress VARCHAR(200)
    	);
    
  • 主键约束

    • 主键是用于标识当前记录的字段。它的特点是非空,唯一。
      ​ 在开发中一般情况下主键是不具备任何含义,只是用于标识当前记录。

    • 格式:
      ​ 1.在创建表时创建主键,在字段后面加上 primary key.
      ​ create table tablename(
      ​ id int primary key,
      ​ …
      ​ )

      ​ 2.在创建表时创建主键,在表创建的最后来指定主键
      ​ create table tablename(
      ​ id int,
      ​ …,
      ​ primary key(id)
      ​ )

      ​ 3.删除主键:alter table 表名 drop primary key;
      ​ alter table sort drop primary key;

      ​ 4.主键自动增长:一般主键是自增长的字段,不需要指定。
      ​ 实现添加自增长语句,主键字段后加auto_increment

  • 修改表结构

    • 修改表添加列
      ​ alter table 表名 add 列名 类型(长度) 约束;
      ​ 例如:
      ​ 为分类表添加一个新的字段为 分类描述 varchar(20)
      ​ ALTER TABLE sort ADD new VARCHAR(20);
    • 修改表修改列的类型长度及约束
      ​ alter table 表名 modify 列名 类型(长度) 约束;
      ​ 例如:
      ​ 为分类表的分类名称字段进行修改,类型varchar(50) 添加约束 not null
      ​ ALTER TABLE sort MODIFY sname VARCHAR(50) NOT NULL;
    • 修改表修改列名
      ​ alter table 表名 change 旧列名 新列名 类型(长度) 约束;
      ​ 例如:
      ​ 为分类表的分类名称字段进行更换 更换为 snamesname varchar(30)
      ​ ALTER TABLE sort CHANGE sname snamename VARCHAR(30);
    • 修改表删除列
      ​ alter table 表名 drop 列名;
      ​ 例如:
      ​ 删除分类表中snamename这列
      ​ ALTER TABLE sort DROP snamename;
    • 修改表的字符集
      ​ alter table 表名 character set 字符集;
      ​ 例如:
      ​ 为分类表 tables 的编码表进行修改,修改成 utf8
      ​ ALTER TABLE tables CHARACTER SET utf8;
  • 数据表添加数据

    • insert into 表 (列名1,列名2,列名3…) values (值1,值2,值3…);

      举例:
      ​ INSERT INTO product (id,pname,price) VALUES (1,‘笔记本’,5555.99);

    • 添加数据格式,不考虑主键
      ​ insert into 表名 (列名) values (值)

      举例:
      ​ INSERT INTO product (pname,price) VALUE(‘洗衣机’,800);

  • 删除数据

    • 语法:
      ​ delete from 表名 [where 条件];
1. 用户与身体信息管理模块 用户信息管理: 注册登录:支持手机号 / 邮箱注册,密码加密存储,提供第三方快捷登录(模拟) 个人资料:记录基本信息(姓名、年龄、性别、身高、体重、职业) 健康目标:用户设置目标(如 “减重 5kg”“增肌”“维持健康”)及期望周期 身体状态跟踪: 体重记录:定期录入体重数据,生成体重变化曲线(折线图) 身体指标:记录 BMI(自动计算)、体脂率(可选)、基础代谢率(根据身高体重估算) 健康状况:用户可填写特殊情况(如糖尿病、过敏食物、素食偏好),系统据此调整推荐 2. 膳食记录与食物数据库模块 食物数据库: 基础信息:包含常见食物(如米饭、鸡蛋、牛肉)的名称、类别(主食 / 肉类 / 蔬菜等)、每份重量 营养成分:记录每 100g 食物的热量(kcal)、蛋白质、脂肪、碳水化合物、维生素、矿物质含量 数据库维护:管理员可添加新食物、更新营养数据,支持按名称 / 类别检索 膳食记录功能: 快速记录:用户选择食物、输入食用量(克 / 份),系统自动计算摄入的营养成分 餐次分类:按早餐 / 午餐 / 晚餐 / 加餐分类记录,支持上传餐食照片(可选) 批量操作:提供常见套餐模板(如 “三明治 + 牛奶”),一键添加到记录 历史记录:按日期查看过往膳食记录,支持编辑 / 删除错误记录 3. 营养分析模块 每日营养摄入分析: 核心指标计算:统计当日摄入的总热量、蛋白质 / 脂肪 / 碳水化合物占比(按每日推荐量对比) 微量营养素分析:检查维生素(如维生素 C、钙、铁)的摄入是否达标 平衡评估:生成 “营养平衡度” 评分(0-100 分),指出摄入过剩或不足的营养素 趋势分析: 周 / 月营养趋势:用折线图展示近 7 天 / 30 天的热量、三大营养素摄入变化 对比分析:将实际摄入与推荐量对比(如 “蛋白质摄入仅达到推荐量的 70%”) 目标达成率:针对健
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值