1. 进入MYSQL
mysql -u root -p
2. 新建数据库
create database test;
3. 查看所有数据库
show databases;
4. 进入某一数据库
use test;
5. 新建数据表
create table spend(
money double not null,
time date
)
;
表名(字段名 数据类型 修饰)
表的约束:not null,null,
default,
comment,没有实际含义,只用来描述字段。如age tinyint comment'年龄',
zerofill,例如age字段 tiny int(4),select查询结果是'0018',实际查出来的结果并没有补全效果,这是因为系统默认不显示,增加zerofill约束即可。至于为什么数据库存储的是18,却可以显示'0018',可以通过hex函数证明。
primary key,
auto_increment,
unique key
创建表的时候在字段上指定主键
复合主键
建表完成后追加主键、删除主键
追加主键的前提是原表中没有主键
唯一键 unique
表中往往有很多字段需要唯一性,数据不能重复,但是一张表中只能有一个主键。唯一键可以解决表中有多个字段需要唯一性约束的问题。
唯一键的本质和主键差不多,但唯一键允许为空,而且可以多个为空,空字段不做唯一性比较。
外键 foreign key
6. 查看所有数据表
show tables;
7. 查看表的结构
desc spend;
8. 查看创建数据表时的语句
show create table spend\G;
10. 插入一条数据到某个数据表
insert into spend value('111', '2021-5-17');
11. 查询数据
select * from spend;
12. 更新数据
update spend set money='111' where money='111' and time='2021-5-17';
update 表名 set 字段名=值 where 条件;
13. 更新表结构
alter table spend add commodity varchar(20) not null first;
alter table 表名 add 字段名 字段类型 修饰 first; 表的第一个字段
after 字段名; 在某个字段后
默认为表的最后一个字段
alter table 表名 change 字段名 字段类型 修饰;
14. 删除数据
delete from spend where money='222';
15. 删除表
drop table spend;
16. 删除数据库
drop database test;
常用函数:
AVG
SUM
COUNT
FIRST
MAX
MIN
STDEV 样本标准差
STDEVP 总体标准差
VAR 样本方差
VARP 总体方差
UCASE 大写
LCASE 小写
MID 取中值
LEN 字符串长度
INSTR 子字符串在母字符串的起始位置
LEFT 取字符串左边子串
RIGHT
ROUND 四舍五入
MOD 取余
NOW 当前时间
FORMAT 字符串格式化
DATEDIFF两个时间的差值