一、下载安装
如下地址查看https://www.cnblogs.com/LiuChengGang/p/13217839.html
二、DDL、DML、DCL、TCL概述
DDL(data definition language)数据定义语言:定义或改变表结构、数据类型、约束、表之间链接
DML(data manipulation language)数据操作语言:操作数据表中的数据,如增删改查
DCL(data control language)数据控制语言:设置或更改数据库用户和角色
TCL(transaction control language)事务控制语言:控制事务
三、DDL部分
1、语法
创建数据库:create database (if not exits) 数据库名;
删除数据库:drop database (if exists) 数据库名;
修改数据库:alter database 数据库名 character set utf8; 注:MySQL中“utf-8”都不需要“-”
查看数据库:show databases ;
使用或更换数据库:use 数据库名;
创建表:create table 表名 (字段1 字段类型 约束,字段2 字段类型 约束...);
删除表:drop table 表名;
修改表:alter table 表旧名 rename to 表新名;
alter table 表名 (add 字段 类型..);
alter table 表名 drop 字段;
alter table 表名 modify 字段 新类型;
alter table 表名 change 列旧名 列新名 类型;
查询表:show tables; desc/describe 表名;
2、数据类型
想细看,可查看该网址:https://www.cnblogs.com/-xlp/p/8617760.html
数值型:int 、float、double
字符串:char、varchar、text
日期型:date、datatime、timestamp(时间戳)
3、约束
主键约束 primary key 非空且唯一 联合主键 primary key(字段1,字段2)
添加主键 alter table user add primary key(id);
删除主键 alter table user drop primary key;
修改主键 alter table user modify id int primary key;
自增约束 auto_increment
外键约束 foreign key(class_id) references class(id)
唯一约束 unique
非空约束 not null
默认约束 default
操作约束的通用方法:
a.建表时,字段类型后面添加约束
b.建表时,约束字段
c.建表后,alter修改表结构
4、三范式
第一范式:字段不可拆分
第二范式:满足第一范式前提下,除主键外所有字段完全依赖于主键。如果不完全依赖(这 种情况只可能出现在联合主键),就需要拆表
第三范式:满足第二范式前提下,不能出现传递依赖
四、DML部分
增:insert into 表名(字段...) values(值...);
删:delete 表名 where 条件;
改:update 表名 set 字段 = 值 where 条件;
查:将查询需要用到的多数语法集合为一个语法(此句子不一定符合语法,只是方便记忆):
select distinct/聚合函数(avg、count、sum、max、min)/case when 条件 then 结果1 else 结果2 end 查询字段
from 表1 a,表2 b
left join/right join/inner join 表3 c on
where and/or/between...and/in/like
group by 分组字段 having 分组后条件 with rollup
order by 排序字段1 desc/asc , 排序字段2 desc/asc
limit 偏移量,行数;
查询语句执行顺序:基本从上到下,select的句子除外,select句子仅仅在order by 之前。
可去该网址练习一下:https://www.cnblogs.com/jike1219/p/9252582.html
五、DCL部分
一般开发人员使用较少,简单了解
授权:grant 权限1,权限2... on 数据库名.* to 用户名@IP
撤权:revoke 权限1,权限2... on 数据库名.* from 用户名@IP
删除用户:drop user 用户名@IP
查看权限:show grants for 用户名@IP
六、TCL部分
存储引擎innoDB支持事务
事务四大特性(ACID):原子性、一致性、隔离性、持久性
原子性:一个事务是一个整体,事务内操作要么全执行,要么全不执行
一致性:一个事务整体的效果符合逻辑和客观事实
隔离性:事务之前不能相互干扰
持久性:一旦提交事务,数据库中数据永久改变