前提:
- ① 安装小皮面板(phpstudy),启动MySQL,要配置引擎为InnoDB!!!---> 配置环境
- ② 安装mysql前端操作app ---> 操作数据库
1. 基本概念
- 库:1个库包括多个表
- 表:
- 1条数据由多个字段组成
- 字段是属性
- 数据库的分类:
- ① 小型数据库:access 微软,indexdb,sqldb
- ② 中小型数据库:mysql,微软sqlserver(2000,2008...)
- ③ 大型数据库:甲骨文oracle,IMB,DB2
2. 基本sql语法
-- 表示单行注释
2.1 库相关的语法
2.1.1 创建库
create database 库名称
2.1.2 使用指定的库
use 库名称
2.1.3 删除库
drop database 库名称
2.2 表相关的语法
2.2.1 创建表
create table 表名称(字段名称 字段类型 约束)
- 字段类型:
- ① int 数值类型
- ② varchar 字符类型
- ③ date 日期(年月日)
- ④ datetime 时间(年月日时分秒)
- 约束:
- ① primary key 主键
- ② not null 不能为空
- ③ auto_increment 自增强
- ④ default 默认
2.2.2 删除表
drop table 表名称
2.2.3 主表和子表的创建
- ① 创建主表
- ② 创建子表
- ③ 配置外键关联关系(子表的外键是主表的主键)
- ④ 插入数据
- ⑤ 多表查询
2.3 账号创建+权限设置
- ① 给库创建账号+设置密码
create user '账号'@'%' identified by '密码';
- ② 给账号设置库的权限(增删改查)
grant select,insert,update on 库名称.* to '账号1'@'%';
---> 给账号1设置了 查询,添加,修改 的权限grant all on 库名称.* to '账号2'@'%';
---> 给账号2设置了所有权限
- ③ 刷新
flush privileges;
3. 常用sql语句
3.1 插入
insert into 表名称 (字段1,字段2...) value/values (值1,值2...)
3.2 查询
select * from 表名称
3.3 修改
update 表名称 set 字段='值'
3.4 删除
delete from 表名称 where 字段='值'
3.5 软删除(status=0)
update 表名称 set status=0
4. 常用的sql方法
max()
---> 最大值min()
---> 最小值sum()
---> 求和avg()
---> 平均值count()
---> 计数distinct
---> 无重复值year()
---> 年份month()
---> 月份day()
---> 日期current_date()
---> 获取当前日期like '王%'
---> 表示找出姓'王'的(第一个字是王)like '%王%'
---> 表示找出有'王'的order by 字段 asc
---> 升序(order by默认升序)order by 字段 desc
---> 降序limit 0,3
---> 取前三个between A and B
---> 在A-B的范围内and
---> 和or
---> 或as
---> 别名in()
---> 满足其中一个(用于值有多个的情况)