数据库中的数据类型
整数
tinyint
很小的整数(1字节)
场景: 状态码、布尔值
int
普通大小的整数(4字节)
场景: 用户ID、订单数、点击数
小数
float
单精度浮点数(4字节),有误差
double
双精度浮点数(8字节),有误差
decimal
精确存储,字符串形式存储,适合需要精密数据的场景
格式:
decimal(m,d)
数字d: 多少位
小数 m: 位数总长度(含整数和小数,不包含小数点)
场景:
decimal(10, 2) 10位数字,整数8位小数2位
日期
date
只关心日期,不关心具体时间
场景: 生日、入职日期、节日
time
只关心时间,不关心具体日期
场景: 上班时间、退房时间
timestamp
日期 和 时间 都要
场景: 订单创建时间、用户登录时间
字符串
char(m)
定长字符串, 固定个数
场景: 身份证、手机号
varchar(m)
可变长度, 最多不要超过长度
场景: 用户名、标题、地址
text
大文本数据
场景: 存几千、几万字的文章
创建数据表
语法:
# 先指定要使用的数据库
use 数据库名称;
create table 表名 (
字段名1 数据类型 [约束],#约束可以不写
字段名2 数据类型 [约束]
);
查看数据表
语法:
# 查看数据库中已有的表
show tables;
# 查看指定数据表的结构
desc 表名;
删除数据表
语法:
drop table 表名;
修改数据表结构
添加列
语法:
alter table 表名 add 新列名 类型(长度) [约束];
修改列
仅修改数据类型、约束
modify
语法:
alter table 表名 modify 列名 类型(长度) [约束];
修改列名和数据类型、约束
change
语法:
alter table 表名 change 旧列名 新列名 类型(长度) [约束];
删除列
语法:
alter table 表名 drop 列名;
修改表名
语法1:
rename table 旧表名 to 新表名;
语法2:
alter table 旧表名 rename to 新表名;
插入数据
语法:
insert into 表名 (字段1,字段2,...) values (字段1值1,字段2值1,...),(字段1值2,字段2值2,...);
更新数据
语法:
update 表名 set 字段1=值1,字段2=值2... (where 条件);
(不加where 条件会修改所有数据)
删除数据
delete from 表名 (where 条件);
(不加where 条件会删除所有数据)