认识数据库 分类 : 1.关系型数据库(mysql,orcal,sqlite..) 非关系型数据库(rediu mongodb habss()) 区别 : 非关系性数据库一般用在分布式项目以及数据大的项目,互联网项目的
主流的趋势, 数据库里面的每一张表是不是都能建立关系 ,对数据操作比较方便. mysql数据库(开源 免费)orcal(付费的数据库)。
数据库 与表 与数据服务器的关系 对数据库的操作,要依赖我们数据库服务器, 每一个数据库里面存放了多张表(一对的关系)
sql 分为四类 DML(用户改变数据) DDL(对数据库表和库的操作 增删该) DQL(查询 (重点)) DCL(权限进行控制)
进入mysql 命令 ,检查你的mysql 服务是否开启 mysql - uroot - proot;
创建数据库 create database 数据库的名字
查看所有的数据 show database;
删除指定的数据库 drop database数据库的名字
修改数据库的是alter
创建表 :
use __(数据库名)(先确定使用那个数据库)
create table 表的名字(
字段的名字 类型+长度,sid int(4)
);
修改表的名字
rename table 你要修改的表明 to 新的表明的名字
查看表结构的信息
desc +表的名字
在表里面增加一个字段 : alter table 表名 add 增加的字段的名字 已经类型与长度
删除表里的一个字段 : alter table 表名 drop 字段的名字
修改 表里面的字段 alter table 表名 change 原来表的字段 要修改的字段 +类型与长度;
DDL (增加 ,删除,修改)
insert into 表的名字 values(所有的字段);
insert into 表的名称(sid,sname) values(1,”dff”)//一一对应上
插入多行记录的方法 insert into 表的名字 values (第一组),(第二组),(第三组);
修改 : update 表的名字 set 修改的字段(例:snme=’付家伟’) where +加上条件(例:sid=1);
删除 : delete from 表名 where + 加上条件 (例:sid=1);
查询
查询所有
select * from 表的名字;
查询表里面的一些具体的字段(每一个字段要用,来进行分割)
select sid sname from 表的名字
根据区间来进行查询(查询60到90之间学员的信息)
select * from 表的名字 where 分数 between 60 and 90;
or 或者(查询出分数为60或者分数为80的学院的信息)
select * from 表的名字 where 分数 = 60 or 分数=80;
and && 同时满足这两个条件
in(…)
select*from 表名 where 属性名 in(属性值,属性值,属性值);
is null 来判断当前字段是否有值;
is not null 判断当前字段不是空值
例:select studentName,email from student where email is not null;
分页查询 关键字(limit) 当前的索引= (当前页-1)*页量
select * from 表的名字 limit 当前的索引,第二个是需要的个数
聚合函数
最大值 max(字段的名字)
最小值 min(字段的名字)
总数sum(字段的名字)
平均数 avg(字段的名字)
例:select ave(字段的名字) from 表名;
查询当前时间
select now();
只查询年月日
select current_date();
只查询 小时 分钟 毫秒
select current_time();
取别名
as 别名的名称 as 可以省略(不要字段的名字)
模糊查询 关键字“like”
查询包含li字的同学
select * from 表明 where 属性名 like “%li%”;
插叙li后面有一个字符的
select * from 表明 where 属性名 like “li_”;
分组查询
group by +根据什么进行分组
select gradName as”专业”,max(sresult) as”分数” from student group by gradName;
排序
order by:排序
升序 asc
降序 desc
select *from student order by sresult desc;
三大范式
数据库设计第一大范式的原则 : 每一个属性(字段) 都会 最小的原子,不能进行分割
数据库第二范式 每一张表示唯一的,就是只描述一种事物 ,每一个属性 都必须与主键有关系
数据库第三范式 数据库里的属性不能有传递关系 ,只能依赖于主键