MySQL零基础学习Day2——数据库基础操作

前言

在大学已经上过数据库课程的同学可以直接跳过这个,去看后续我会发的函数部分,因为Java中一般不需要你把数据库学的很牛,学会基本的crud,也就是我们平常在说的增删改查,再加上一些窗口函数即可。

一.MySQL数据库

1.关系型数据库(RDBMS)

含义:建立在关系模型基础上,由多张互相来连接的二维表组成的数据库 ,即通过表结构来进行数据存储。

特点:

使用表存储数据,格式统一,便于维护

使用SQL语言操作,标准统一,使用方便

注:不通过表结构来存储数据的,则称为非关系型数据库

2.数据模型

二.SQL

1.SQL通用语法

SQL语句可以单行or多行书写,以分号结尾

SQL语句可以使用空格/缩进来增强语句的可读性

MySQL数据库的SQL语句不区分大小写,关键字建议使用大写

注释:

单行注释:--注释内容 or #注释内容(MySQL持有)

多行注释:/*注释内容*/

2.SQL的分类

 

1)DDL(数据定义语言)

数据类型汇总

注意:在删除表的同时,表中的全部数据也会被全部删除

2)DML(数据操作语言)

注意:

插入数据时,指定的字段顺序需要与值的顺序是一一对应的

字符串和日期型数据应该包含在引号中

插入的数据大小,应该在字段的规定范围内

注:修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的数据

注意:

DELETE语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的数据

DELETE语句不能删除某一个字段的值(可以使用UPDATE)

3)DQL(数据查询语言)

-- 查询年龄等于18或20或40的员工信息
select * from emp where age = 18 or age = 20 or age = 40;
select * from emp where age in(18,20,40);
--上述这两种效果是一样的,in的效果就是后续值能够满足其一即可

注:null值不参与所有聚合函数运算

where和having的区别

  • 执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对结果进行过滤
  • 判断条件不同:where不能对聚合函数进行判断;而having可以

注意:

  • 执行顺序:where>聚合函数>having
  • 分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义

排序方式

  • ASC:升序(默认值)
  • DESC:降序

注意:如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序

-- 根据年龄对公司的员工进行升序排序,年龄相同,再按照入职时间进行升序排序
select * from emp order by age asc,entrydate desc;
--意思就是先按照年龄进行排序,如果年龄相同,则按照入职时间排序

注意:

  • 起始索引从0开始,起始索引 = (查询页码-1)*每页显示记录数
  • 分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是LIMTIT
  • 如果查询的是第一页数据,起始索引可以省略,直接简写为limit 10

4)DCL(数据控制语言)

-- 创建用户itcast,只能够在为当前主机localhost访问,密码123456;
creat user 'itcast'@'localhost' identified by '123456';

--创建用户heima,可以在任意主机访问该数据库,密码123456;
creat user 'heima'@'%' identified by '123456';

--修改用户heima 的访问密码1234;
alter user 'heima'@'%' identified with mysql_native_password by '1234';

--删除itcast@localhost用户
drop user 'itcast'@'localhost';

注意:

主机名可以使用“%”进行通配,代表任意主机都可以访问该mysql服务器

这类SQL语句开发人员操作较少,主要是DBA(数据库管理员)和运维在更多使用

所以如果是单纯进行开发,则这类语句不用重点学习

注:如果是给所有的数据库和所有的表来赋予权限,就可以在数据库名.表名写" *.* ",此外多个权限之间,使用逗号分隔

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值