文章目录
- 数据库介绍
- 数据库的四大操作介绍
- 对数据库进行增、删、改、查
- 对数据库中的表进行增、删、改、查
- 对数据进行增、删、改、查
1、介绍
数据库是一个用来存储数据的仓库,也是专门用来管理数据的C/S架构的软件
数据库的产品:
mysql、oracle、sqlserver、DB2、redis等等
作用:存储数据,管理数据(对数据进行增、删、改、查)
语言:SQL(结构化查询语言)
数据库的分类
关系型数据库:
存储数据的方式:二维表(行和列)
绝大部分项目都在使用关系型数据库
产品为: mysql oracle sqlserver DB2
非关系型数据库:
存储数据的方式是key,value形式、文档形式、图片形式等等
大数据项目在关系型数据库的基础上增加使用非关系数据库
产品为: redis nosql MongoDB
mysql数据库的使用
前提:先登录(与mysql数据库服务器建立连接)
连接名:项目名称 主机名:IP地址 (连接的是哪一台电脑上的数据库) 127.0.0.1 àlocalhost 端口号:3306(默认值、缺省值),如果端口号可以修改 用户名:root 密 码:root 连接测试 确定 |
方式1:借助mysql自带的终端使用mysql数据库
方式2:借助第三方软件(navicar)来使用mysql数据库(工作场合)
mysql数据库的简易操作流程总结
登录连接-》创建数据库-》打开数据库-》创建表-》往表中添加数据-》修改表中的数据-》查询表中的数据
2、mysql基本的四大操作
表现1:{对数据库进行增、删、改、查}
表现2:{对表进行增、删、改、查}
表现3:{对数据进行增、删、改、查} (ps:对测试来说,最主要的就是数据库的数据进行增删改查)
对用户进行增删改查
前提:必须以root身份
3、对数据库进行增、删、改、查
【增】
含义:创建新的数据库
格式:create database 数据库名 charset utf8 ;
创建一个新的数据库,名称为aran ,编码为utf8
代码:
create database if not exists aran charset utf8 ;
【查】
含义:查寻数据库是否存在
格式:show databases;
【改】
含义:修改数据库的状态,将数据库的状态由未打开切换为打开
格式:use 数据库名;
如果要使用数据库就必须要打开
【删】
含义:删除数据库
格式:drop database 数据库名;
{常见的报错以及如何去找出错误的位置}
错误原因:
单词写错+格式不对+逻辑不同
定位错误:
在错误信息中找到单词:near,后面的就是出错的地方,需重点检查
4、对数据库中的表进行增、删、改、查
【增】
含义:在数据库中创建一个表
格式:create table 表名 (列名1 数据长度(长度),列名2 数据长度(长度))
- 数据类型是选择合适的类型来声明某个列中的数据必须是该类型的数据
长度是用来限制该类型的数据的范围,且需要用小括号括起来
- 长度有默认值的
- int有默认值
- float也有默认值
- char也有默认值
- varchar没有默认值,所以一定设置长度
- date没有长度,不需要设置长度
4、列名与数据类型一定要隔开(空格),数据类型与长度不要
5、列与列之间用逗号隔开
6、每一条完整的语句记得加上一个结束符(英文的分号)
【查】
含义1:查看某个数据库中有哪些表?
语法格式:show tables; show databases;
含义2:查看表的结构 重点
语法格式:desc 表名;
【改】
含义:修改表的相关属性(表名、列名、数据类型及长度)
表现1:修改表名
表现2:修改表中的列名
表现3:修改表中列的数据类型及长度
表现4:往表中添加新的列
表现5:删除表中多余的列
过程:分为2步
第一步:首先需要指定修改的是哪一张表
固定格式: alter table 表名
第二步:然后借助关键字来明确修改的是那一个属性
关键字: 属性 作用
rename --》 表名 改表名
格式:alter table 旧表名 rename 新表名;
【删】
含义:删除表
格式:drop table 表名;
删除:
drop table 表名;
delete from 表名;
turncate from 表名;
5、对表中数据进行增、删、改、查
【增】
含义:往表中插入数据
基本格式:insert into 表名 values(真实数据);
Insert into 表名 values
(‘列1的数据’,’列2的数据’,’列3的数据’);
【改】
含义:修改表中的数据
单词:update set where
概念1:修改数据的本质:就是做设置
概念2:对谁做设置:对列设置
概念3:对列做什么样的设置:对列赋予一个新的数据
基本格式:update 表名 set 列名1=’新数据’,列名2=’新数据’,...
分析:
- update:修改表中的数据的关键字,指定表
后面一定要接表名。
- set:对列做设置,给他赋一个新的数据
后面一个表达式:赋值表达式,且可以设置多个列,逗号隔开
- where:接条件,定位行
后面接的条件
分类:
1)全改:将整列的数据改为一样的 不适用
简称:不带条件的修改
格式:update 表名 set 列1="新的数据",列2="新的数据",...;
2)部分改:(重点)
简称:带条件的修改
概念:部分 -》行和列的交集
原理:满足条件的行的列的数据才被修改,
先定位行,然后在修改行中指定列的数据
指定列:借助set来指定列(可以制定多个列)
定位行:借助where 条件来定位行(可以定位多个行)
格式:
update 表名 set 列1="新的数据",列2="新的数据" where 条件;
【查】
含义:查询表中的数据
分类:
全查
含义:查询表中所有的数据
格式:select * from 表名;
部分查:
含义:查询表中部分的数据
说明:
部分列:人为指定列,查询那个列,就写那个列,列之间逗号隔开
部分行:带条件,where 条件,条件也有多个,用连接词连接
分类:
《2.1》查询表中部分列的所有行的数据
查询单列中的所有数据
查询多列中的所有数据
《2.2》查询表中部分行的所有列的数据
查询一行中的所有数据
查询多行中的所有数据
《2.3》查询表中部分列及部分行的数据
【select】:后面接列名,可以多个
【from】:后面一定接表名,可以多个
【where】:后面接条件,可以多个
【分页查询】
含义:将查询的数据分页来显示,每一次只显示一部分数据(按照行数)
作用:提高查询的速度
比如:假设每次只显示10行数据
第一次查询:第1行~第10行
点击下一页: 第11行~第20行
单词: limit (限制)
含义:是一个独立语句,不需要where,因为本身就是定位行
格式:select 列名 from 表名 limit m,n;
作用: 限制行数
【排序】
含义:按照某列中的数据来排序,且要指定排序方式
排序方式:
升序(asc) 属于默认的排序方式
降序(desc)
单词:order by desc asc
执行顺序:先查询数据,再来排序
格式:select 列名/* from 表名 order by 列名 排序方式;
过滤】
含义:先分组,然后对每组中的数据进行条件过滤,不满足的舍去,满足的留下
单词:having
用法:必须和group by相结合使用,且放在group by后面
格式:group by 列名 having 条件 (特殊条件是带有聚合函数)
示例1:查询emp表中每个部门最低工资不低于3000的部门号以及平均工资
Select deptno,avg(sal) from emp
group by deptno having min(sal)>=3000
【模糊查询】
含义:查询条件不是很明确,借助like以及2个重要通配符来表达条件
使用:也是借助where 来引入模糊条件
格式:where 列名 like ‘特征’
单词:like 像
2个通配符: 形容这个特征
%: 可以匹配任意字符(0个字符、或者n个字符)
_: 匹配的是有且只有一个字符(占位符)
原理:该列中的数据像这个特征
【子查询】
俗称:嵌套查询
含义:在一个查询语句中嵌套了另外的查询语句,从而完成复杂的查询
组成:多个查询语句
外查询 内查询
父查询 子查询
工作原理:先执行内查询,然后将内查询的结果作为外查询的条件或者数据来源
代表1:
Where 子查询:将子查询放在where后面的条件中(比较常见)
语法:select *\列名\函数 from 表名 where 带有子查询的条件
【连接查询】
含义:通过连接词来连接多张表从而实现查询多张表中满足条件的数据
(通俗的说:所查询的数据来源于多张表)
分解:连接词---》用来连接多张表---》 表1 join 表2 表1 , 表2
满足条件---》使用on来关联条件 (2张表中有相同的列)
On 表1.列名=表2.列名 where 表1.列名=表2.列名