首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >全面解析MySQL(1)——数据库基础

全面解析MySQL(1)——数据库基础

作者头像
用户11873138
发布2026-01-13 21:36:19
发布2026-01-13 21:36:19
1830
举报

1.数据库概述

1.1 概念

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,可以高效地存储、检索和管理大量数据

主要特点:

  • 1.结构化存储:数据按特定模型组织
  • 2. 集中管理:统一存储和管理相关数据
  • 3. 共享访问:支持多用户同时使用
  • 4. 减少冗余:避免数据重复存储
  • 5. 数据独立性:数据与应用程序分离

1.2 常见数据库类型

1.2.1 关系型数据库(RDBMS)

关系型数据库是一种基于关系模型的数据管理系统,用于存储和管理结构化数据。关系模型可以理解为简单的二维表格模型,而一个关系型数据库就是由二维表及其之间的关系组成的一个数据组织

在这里插入图片描述
在这里插入图片描述
1.2.2 非关系型数据库(NoSQL,暂不介绍)

1.3 SQL简介

SQL(Structured Query Language,结构化查询语言)是一种用于管理关系型数据库的标准编程语言。它允许用户执行数据查询、更新、插入、删除等操作,广泛应用于数据库管理系统中

SQL语句通常分为以下几类:

  • 1.数据定义语言(Date Definition Language,DDL):用于创建、修改或删除数据库对象。例如:
    • create table:创建新表
    • alter table:修改表结构
    • drop table:删除表
  • 2.数据操作语言(Data Manipulation Language,DML):用于对数据进行增删改查。例如:
    • select:查询数据
    • insert:插入新数据
    • update:更新现有数据
    • delete:删除数据
  • 3.数据控制语言(Data Control Language,DCL):用于管理数据库权限。例如:
    • grant:授予用户权限
    • revoke:撤销权限
  • 4.事务控制语言(Transaction Control Language,TCL):用于管理事务。例如:
    • commit:提交事务
    • rollback:回滚事务

2.数据库操作

2.1 查看数据库

代码语言:javascript
复制
show databases;

2.2 创建数据库

代码语言:javascript
复制
create database (if not exists) 数据库名 (其他选项);

其他选项包括:

  • 1.charset = charset_name:指定数据库采用的字符集编码,决定了可以存储哪些字符
    • show charset:查看数据库支持的字符集编码
  • 2.collate = collation_name:指定数据库字符集的校验规则,决定了字符的比较和排序规则
    • show collation:查看数据库支持的校对规则

示例:

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

2.3 查看创建的数据库

代码语言:javascript
复制
show create database 数据库名;
在这里插入图片描述
在这里插入图片描述

2.4 修改数据库

代码语言:javascript
复制
alter database 数据库名 修改选项;

修改选项包括:

  • 1.charset = charset_name:修改字符集编码
  • 2.collate = collation_name:修改字符集的校验规则

示例:

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

2.5 删除数据库

代码语言:javascript
复制
drop database 数据库名;
在这里插入图片描述
在这里插入图片描述

3.MySQL数据类型

3.1 整数型

类型

大小

说明

tinyint

1字节

有符号:-127 ~ 128;无符号:0 ~ 255

smallint

2字节

有符号:-32768 ~ 32767;无符号:0 ~ 65535

mediumint

3字节

有符号:-2^23 ~ 2^23 - 1;无符号:0 ~ 2^24 - 1

int

4字节

有符号:-2^31 ~ 2^31 - 1;无符号:0 ~ 2^32 - 1

bigint

8字节

有符号:-2^63 ~ 2^63 - 1;无符号:0 ~ 2^64 - 1

3.2 定点型

decimal(M,D):精确数值,M为总位数,D为小数位数。例如decimal(5,2)可以存储最大值为 999.99

3.3 浮点型

类型

大小

说明

float(M,D)

4字节

单精度浮点数,M为总位数,D为小数位数

double(M,D)

8字节

双精度浮点数,M 为总位数,D 为小数位数

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

3.4 字符串类型

char(M):定长字符串,范围 0 到 255字符,M 表示该字段最多能存储的字符数量,如果存储的字符串长度小于M,剩余部分会用空格填充格,M省略则长度为1 varchar(M):变长字符串,范围 0 到 65535字符,M为最大字符数,所占空间为实际长度+1

char(4)

所需空间(字符)

varchar(4)

所需空间(字符)

‘’

4

‘’

1

‘a’

4

‘a’

2

‘ab’

4

‘ab’

3

‘abc’

4

‘abc’

4

‘abcd’

5

‘abcd’

5

tinytext:最大长度255字节,有效字符个数取决于使用的字符集 text:最大长度65535字节,有效字符个数取决于使用的字符集 mediumtext:最大长度16777215字节,有效字符个数取决于使用的字符集 longtext:最大长度4294967295字节,有效字符个数取决于使用的字符集

3.5 二进制类型

binary(M):定长二进制字符串,M 为字节数,范围 0 到 255字节,与char类似,但存储的是二进制字节而不是字符 varbinary(M):变长二进制字符串,M 为最大字节数,范围 0 到65535字节,与varchar类似,但存储的是二进制字节而不是字符 tinyblob:最大长度 255 字节 blob:最大长度65535 字节 mediumblob:最大长度 16777215 字节 longblob:最大长度 4294967295 字节

3.6 日期和时间类型

类型

大小(字节)

范围

格式

0值

year

1

1901 ~ 2155

yyyy

0000

  • 1.输入4位字符或(1 ~ 4整数)时,匹配对应的year值。例如:输入’2025’或2025都表示year的值为2025
  • 2.输入2位字符时,‘00’ ~ '69’匹配2000到2069的year值,‘70’ ~ '99’匹配1970到1999的year值 -3.输入1位字符时,‘0’ ~ '9’匹配2000到2009的year值

类型

大小(字节)

范围

格式

0值

date

4

1000-01-01 ~ 9999-12-31

yyyy-mm-dd

0000-00-00

类型

大小(字节)

范围

格式

0值

time

3

-838:59:59 ~ 838:59:59

hh:mm:ss

00:00:00

  • 1.’d hh:mm:ss’格式:d表示日可取(0 ~ 34)之间的值,小时的值等于(d * 24 + hh)。例如,输入’1 11:30:50’插入数据库中的日期为35:30:50。
  • 2.’hhmmss’字符串格式/hhmmss数字格式
  • 3.使用current_timenow()函数输入当前系统时间

类型

大小(字节)

范围

格式

0值

datetime

8

1000-01-01 00:00:00.000000 ~ 9999-12-31 23:59:59.499999

yyyy-mm-dd hh:mm:ss

0000-00-00 00:00:00

类型

大小(字节)

范围

格式

0值

timestamp

4

1970-01-01 00:00:01.000000 ~ 2038-01-19 03:14:07.499999

yyyy-mm-dd hh:mm:ss

0000-00-00 00:00:00

  • 输入current_timestamp:表示当前日期和时间

4.数据表操作

4.1 选择数据库

代码语言:javascript
复制
use 数据库名字;
在这里插入图片描述
在这里插入图片描述

4.2 查看表

代码语言:javascript
复制
show tables;
在这里插入图片描述
在这里插入图片描述

4.3 创建表

代码语言:javascript
复制
create table (if not exists) 表名(field datatype 约束 commit '注释');

  • field:列名
  • datatype:数据类型
  • 约束:暂不介绍
  • comment:对列的描述或说明

示例:

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

4.4 查看表结构

代码语言:javascript
复制
describe/desc(简写) 表名;
在这里插入图片描述
在这里插入图片描述

4.5 修改表

4.5.1 添加列
代码语言:javascript
复制
alter table 表名 add 列名 数据类型 位置关系;
在这里插入图片描述
在这里插入图片描述
4.5.2 修改列
代码语言:javascript
复制
alter table 表名 modify 列名 数据类型;
在这里插入图片描述
在这里插入图片描述
4.5.3 重命名列
代码语言:javascript
复制
alter table 表名 rename column 列名 to 新列名;
在这里插入图片描述
在这里插入图片描述
4.5.4 删除列
代码语言:javascript
复制
alter table 表名 drop 列名;
在这里插入图片描述
在这里插入图片描述
4.5.5 修改表名
代码语言:javascript
复制
alter table 表名 rename to 新表名;
在这里插入图片描述
在这里插入图片描述

4.6 删除表

代码语言:javascript
复制
drop table 表名;
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-10-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.数据库概述
    • 1.1 概念
    • 1.2 常见数据库类型
      • 1.2.1 关系型数据库(RDBMS)
      • 1.2.2 非关系型数据库(NoSQL,暂不介绍)
    • 1.3 SQL简介
  • 2.数据库操作
    • 2.1 查看数据库
    • 2.2 创建数据库
    • 2.3 查看创建的数据库
    • 2.4 修改数据库
    • 2.5 删除数据库
  • 3.MySQL数据类型
    • 3.1 整数型
    • 3.2 定点型
    • 3.3 浮点型
    • 3.4 字符串类型
    • 3.5 二进制类型
    • 3.6 日期和时间类型
  • 4.数据表操作
    • 4.1 选择数据库
    • 4.2 查看表
    • 4.3 创建表
    • 4.4 查看表结构
    • 4.5 修改表
      • 4.5.1 添加列
      • 4.5.2 修改列
      • 4.5.3 重命名列
      • 4.5.4 删除列
      • 4.5.5 修改表名
    • 4.6 删除表
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档