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: 安全性,事务处理及多用户操作数据表

相关推荐
云和数据.ChenGuang1 小时前
Django 应用安装脚本 – 如何将应用添加到 INSTALLED_APPS 设置中 原创
数据库·django·sqlite
woshilys2 小时前
sql server 查询对象的修改时间
运维·数据库·sqlserver
Hacker_LaoYi2 小时前
SQL注入的那些面试题总结
数据库·sql
建投数据3 小时前
建投数据与腾讯云数据库TDSQL完成产品兼容性互认证
数据库·腾讯云
Hacker_LaoYi4 小时前
【渗透技术总结】SQL手工注入总结
数据库·sql
岁月变迁呀4 小时前
Redis梳理
数据库·redis·缓存
独行soc4 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍06-基于子查询的SQL注入(Subquery-Based SQL Injection)
数据库·sql·安全·web安全·漏洞挖掘·hw
你的微笑,乱了夏天5 小时前
linux centos 7 安装 mongodb7
数据库·mongodb
工业甲酰苯胺5 小时前
分布式系统架构:服务容错
数据库·架构
独行soc6 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍08-基于时间延迟的SQL注入(Time-Based SQL Injection)
数据库·sql·安全·渗透测试·漏洞挖掘