定义
数据库:软件,组织大量的数据(一般在磁盘上),应用到数据结构.
常见数据库有:(关系型数据库)MySQL,Oracle,SQL Server
(非关系型数据库) MongoDB,Redis,HBase…
关系型就是按照数据表的形式组织数据,一个数据库中包含若干个表,每个表中又有很多字段.
数据库操作:
- 创建数据库 create database [数据库名];
- 查看数据库 show databases;
- 指定数据库 use [数据库名];
- 删除数据库 drop database [数据库名] (慎用);
插入操作:
- 全列插入:insert into [表名] values (对应的列数据);
- 指定列插入:insert into [表名] (若干个指定列) values (对应的列数据) ;没有被插入的列会默认被填充为NULL;
- 一次插入多条记录:insert into [表名] values (对应的列数据),(对应的列数据)…;
查找
该种查找仅限于测试环境中使用,不能在生产环境的服务器上执行这样的SQL,因为生产环境的服务器本来压力就很大,其数据量非常多,该操作可能会给服务器造成很大负担,
表达式计算得到的结果不一定和原来的列类型完全一致,会尽可能保证数据是正确的.
4、查询字段指定别名
e.g:select name ,chinese + math +english as total from exam_result;
使用distinct时,必须把对应的列都放到distinct之后
6.排序
order by 指定针对哪个列进行排序
select *from exam_result order by math asc;
asc表示升序,desc表示降序
可以按照多个列来排序,列越靠前,优先级越高,NULL被认为是最小的值.
7.条件查询
涉及的运算符:> >= < <=
= :比较相等,不是赋值(update中 = 相当于赋值)
<=>:比较相等,能够针对NULL进行比较
!= <>
between x and y:表示当值在[x,y]闭区间都是满足条件.
in(若干选项):当前值在()中的若干选项里匹配任意一个都是满足条件
is null is not null 专门用于判定值是否为null
like 模糊匹配
and 逻辑与 or 逻辑或 not 逻辑取反
MySQL中如果针对NULL进行比较/算术运算值也都是NULL,and 和 or 同时出现,and 优先级更高一些,推荐使用().
like操作要搭配通配符来使用
% :匹配任意个字符
_:匹配一个任意字符
进行复杂条件查询时,存在一个"最左原则" 多个条件在一起联合生效时,一般要求哪个条件能过滤的数据多(剩下的数据少)就把该条件放到左侧.
8.分页查找
上面的select操作除了条件查找外,剩下的都是不应该在生产服务器上直接执行的,所以有了分页查找,相当于把查找结果只选取其中的一小部分来作为结果.分页查找用到limit关键词
offset相当于下标,从0开始计数,如果limit后面的数字太大,返回结果也不会有错误,
如果offset过大,得到的结果可能是一个空的结果,
大部分网站都会应用分页功能.
修改
update [表名] set [列名] = [修改的值],[列名] = [修改的值] where 子句
删除
语法:
delete from [表名] [where…][order by…][limit…]