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