MySQL:库操作和常用数据类型


前言

一,库操作

本篇博客将会在8.0.33 MySQL Community Server环境中讲解和演示库的操作,表的操作


1-1 查找库

命令

show databases;

演示结果

在这里插入图片描述


1-2 创建库

CREATE DATABASE db_name;

演示结果

在这里插入图片描述

自定义一个数据库名,如果数据库不存则创建

create database if not exists newdata

在这里插入图片描述
在这里我们触发了一个警报warning,我们可以查询警报信息

查询警报信息

show warning;

在这里插入图片描述


1-3 删除库

drop database if exists myqal;

演示结果
在这里插入图片描述


1-4 修改库

==“修改库” ==在 MySQL 里主要指 修改数据库的属性(比如字符集、排序规则),因为数据库本身不像表那样能随便改字段,只能改一些元信息

mysql> ALTER DATABASE gch CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

在这里插入图片描述


二,数据类型

MySQL 数据类型分为三大类:数值类型、字符串类型、日期和时间类型。以下是每类中的常用类型、用途及简单示例。


2-1 数值类型

用于存储整数或小数,适用于数字计算或计数场景。

  • TINYINT:存储小型整数,如年龄、状态码(0/1),范围为 -128127(有符号)或 0255(无符号)占 1 字节,节省空间,示例:存储是否启用(0=禁用,1=启用)

  • INT / INTEGER:存储标准整数,如 ID、计数,范围为 -2^31 到 2^31-1(约 ±21 亿),占 4 字节,可用 UNSIGNED 扩展到 02^32-1示例:用户 ID、订单编号

  • BIGINT:存储大整数,如金融数据、时间戳,范围为 -2^63 2^63-1,占 8 字节,适合超大数据,全局唯一 ID

  • DECIMAL / NUMERIC:存储精确小数,如货币、价格,范围为由定义决定(如 DECIMAL(10,2) 表示 10 位数字,2 位小数),无精度损失,适合财务计算,示例:产品价格(如 999.99)

  • FLOAT / DOUBLE:存储近似浮点数,如科学数据、百分比,范围为 FLOAT(7 位小数精度),DOUBLE(15 位小数精度),可能有精度误差,不适合货币,示例:温度、坐标


示例代码

CREATE TABLE products (
    id INT UNSIGNED, -- 产品 ID
    price DECIMAL(10,2), -- 价格,如 12345.67
    stock TINYINT UNSIGNED -- 库存量,0-255
);

演示结果

在这里插入图片描述


2-2 字符串类型

用于存储文本或二进制数据,适用于名字、描述等场景。

  • CHAR(n):存储固定长度字符串,如国家代码、状态码,特点为固定长度,填充空格,最大 255 字节,查询效率高。示例:存储固定 2 字符的省份代码(如 “BJ”)

  • VARCHAR(n):存储可变长度字符串,如用户名、标题,特点为最大 65,535 字节,节省空间,适合动态长度文本,示例:用户邮箱地址

  • TEXT:存储大文本,如文章内容、评论,特点为不同子类型(TINYTEXTTEXTMEDIUMTEXTLONGTEXT)有不同最大长度,最大 4GB示例:博客文章正文

  • BINARY / VARBINARY:存储二进制数据,如文件、图像数据,特点为类似 CHAR/VARCHAR,但按字节存储,不考虑字符编码,示例:存储加密密钥


演示代码

CREATE TABLE users (
    username VARCHAR(50), -- 用户名,最大 50 字符
    status CHAR(1), -- 状态,如 "A"(活跃)
    bio TEXT -- 用户简介
);

演示结果

在这里插入图片描述


2-3 日期和时间类型

用于存储日期、时间,适用于记录事件时间、持续时间等。

  • DATE:存储日期,如生日、注册日期,格式为YYYY-MM-DD,范围 1000-01-019999-12-31示例:2025-09-21

  • DATETIME:存储日期和时间,如订单创建时间,格式:YYYY-MM-DD HH:MM:SS示例:2025-09-21 23:15:00。

  • TIMESTAMP:存储时间戳,记录数据更新时间,特点为支持自动更新(如 CURRENT_TIMESTAMP),考虑时区,示例:记录最后登录时间

  • TIME:存储时间段,如事件持续时间,格式为HH:MM:SS,范围 -838:59:59838:59:59示例:会议时长(如 02:30:00)


演示代码

CREATE TABLE events (
    event_date DATE, -- 事件日期
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 自动记录创建时间
    duration TIME -- 持续时间
);

演示结果

在这里插入图片描述


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值