1.数据库-初识MySQL

1.数据库-初识MySQL

文章目录

一、数据分类

关系型数据库:MySQL、Oracle、SQL Server、SQLite、DB2

非关系型数据库:Redis、MongoDB

注意:创建表时,编码为utf8mb4(数据库也是)

名称 解释 命令
DDL(数据定义语言) 定义和管理数据对象,如数据库,数据表等 CREATE、DROP、ALTER
DML(数据操作语言) 用于操作数据库对象中所包含的数据 INSERT、UPDATE、DELETE
DQL(数据查询语言) 用于查询数据库数据 SELECT
DCL(数据控制语言) 用来管理数据库的语言,包括管理权限及数据更改 GRANT、COMMIT、ROLLBACK

二、DDL

sql 复制代码
#查看所有数据库
SHOW databases;
#切换数据库
use student01;
#创建数据库
create DATABASE if not exists myschool;
#切换数据库
use myschool;
#创建表
CREATE table if not exists grade(
	subjectNo int(11) auto_increment,
	subjectName varchar(50) not null comment "课程名称" ,
	classHour int(4) comment "课时" default 10,
	gradeid int(4) comment "年纪" ,
	primary key(subjectNo)
)
#删除表
drop table grade;
#删除数据库
drop database if exists myschool;

#auto_increment 自动递增
#not null 非空
#comment "课程名称" 注释(纯数字不加"")
#default 10 默认值
#primary key(subjectNo) 主键设置

三、常用的数据类型

1.数值类型
类型 说明 取值范围 存储需求
tinyint 非常小的数据 有符值: -2 7 ~ 2 7 -1 无符号值: 0 ~ 2 8 -1 1 字节
smallint 较小的数据 有符值: -2 15 ~ 2 15 -1 无符号值: 0 ~ 2 16 -1 2 字节
mediumint 中等大小的数据 有符值: -2 23 ~ 2 23 -1 无符号值: 0 ~ 2 24 -1 3 字节
int 标准整数 有符值: -2 31 ~ 2 31 -1 无符号值: 0 ~ 2 32 -1 4 字节
bigint 较大的整数 有符值: -2 63 ~2 63 -1 无符号值: 0 ~2 64 -1 8 字节
float 单精度浮点数 ±1.1754351e -38 4 字节
double 双精度浮点数 ±2.2250738585072014e -308 8 字节
decimal 字符串形式的浮点数 decimal **(** m , d**)** m 个字节
2.字符串类型
类型 说明 最大长度
char**(M)** 固定长字符串,检索快但费空间, 0 <= M <= 255 M****字符
varchar**(M)** 可变字符串****0 <= M <= 65535 变长度
tinytext 微型文本串 28--1****字节
text 文本串 216--1****字节

3.日期和时间型数值类型

类型 说明 取值范围
DATE YYYY-MM-DD**,日期格式** 1000-01-01~ 9999-12-31
TIME Hh:mm:ss ,时间格式 -838:59:59~838:59:59
DATETIME YY-MM-DD hh:mm:ss 1000-01-01 00:00:00 至****9999-12-31 23:59:59
TIMESTAMP YYYYMMDDhhmmss****格式表示的时间戳 197010101000000 ~2037****年的某个时刻
YEAR YYYY****格式的年份值 1901~2155

日期类型默认当前时间: now()或CURRENT_TIMESTAMP

四.储存引擎

常见的MyISAM与InnoDB类型

名称 MyISAM InnoDB
事务处理 不支持 支持
数据行锁定 不支持 支持
外键约束 不支持 支持
全文索引 支持 不支持
表空间大小 较小 较大 **,约2****倍**

使用MyISAM: 节约空间及相应速度

复制代码
          |

| 表空间大小 | 较小 | 较大 **,约2****倍** |

使用MyISAM: 节约空间及相应速度

使用InnoDB: 安全性,事务处理及多用户操作数据表

相关推荐
2401_8967321333 分钟前
MySQL小笔记
mysql
程序员清风2 小时前
数据处理脚本工程化:日志、配置、命令行与测试
服务器·开发语言·数据库
正在走向自律2 小时前
数据集成产品的技术底座:从日志解析原理到 KFS 同步链路搭建(含建表与增删改查完整代码)
数据库·oracle·信创·数据集成·国产数据库·kingbasees·全量+增量同步
程序员塔塔喵2 小时前
【MySQL篇|第七篇】MySQL事务
数据库·mysql·mysql事务
独隅3 小时前
Claude API 实战教程:从入门到完整项目
android·java·数据库·claude·claude code
_孤傲_3 小时前
快速掌握 MySQL 语法
数据库·后端·mysql
数字新视界5 小时前
一体化机柜在数据中心运维中的创新应用与优势分析
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
SelectDB6 小时前
从 StarRocks 走向 Apache Doris:如何实现引擎平滑替换与架构升级?
大数据·数据库·数据分析
为思念酝酿的痛6 小时前
MySQL的操作
数据库·mysql
猫咪很可爱6 小时前
Oracle ORA-4031 错误分析与处理:SGA 内存不足导致 update/exp/expdp 失败
数据库·oracle