Mysql基本了解

Mysql基本了解

数据库基本了解

**数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来。
作用:对数据进行更为方便地增删改查

数据库由两大部分组成,一部分是客户端,一部分是服务器端。

数据库管理系统(DBMS):相当于数据库的管家,帮我们管理数据、处理数据。
数据库中的数据,会保存在数据表中。

数据表都是有行有列的二维表格
数据表:JavaBean
列:字段------JavaBean某个成员变量
行:一条记录-----就是一个JavaBean对象。例如:new User(1,”lisi”,23)

MySQL部署集群。
Oracle大型收费。**

SQL语句

**数据操作语言:简称DML(Data Manipulation Language),用来对数据库中表的记录进行更新。关键字:insert, delete,update等
针对于某张表数据的:增删改

数据查询语言:简称DQL(Data Query Language),用来查询数据库中表的记录。关键字:select,from,where等

针对于某张表数据:查询

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

| #SQL注释,以#开头
SELECT * FROM USER;
/* 多行注释,等同于Java多行注释 /
/

mysql Java
整型:int int
浮点型:double double
字符串:varchar String
字符: varchar char
日期: date java.util.Date 仅有年月日,没有时分秒
日期: timestamp java.util.Date 时间戳,包含年月日 时分秒
*/ |

DDL-操作数据库

create database 数据库名;
drop database 数据库名称; 从MySQL服务器中永久删除某个数据库
use 数据库名; 切换数据库

| 创建表结构:
create table 表名(
字段名 类型(长度) [约束],
字段名 类型(长度) [约束],

); |

|primary key 主键约束,被主键约束所修饰字段,字段中的数据,不能重复、不能为null。
通常一个表的第一个字段(id)都会设置为主键,用来标识当前数据的唯一的,类似于人的身份证 |

| #创建数据表
#哪个字段加入主键约束primary key,哪个字段不能为空,数据不能重复
CREATE TABLE t2(
id VARCHAR(32) PRIMARY KEY,
NAME VARCHAR(64),
age INT,
birthday DATE |

注意事项:一个表中 最多只能拥有一个 主键约束

DML-操作表数据

–向表中插入某些字段:
insert into 表 (字段1,字段2,字段3…) values (值1,值2,值3…);
#注意:1、赋值顺序必须和前面的定义顺序相同
2、数字类型直接填写,非数字类型必须加引号(建议单引号)
3、该格式可以忽略某个字段不填(字段被忽略,默认值)
一次添加多条数据:insert into 表 values (值1,值2,值3…), (值1,值2,值3…);

在这里插入图片描述

修改
update 表名 set 字段名1=值,字段名2=值,… where 条件;

在这里插入图片描述

**删除
逐条删除表中所有记录
delete from 表名;
–逐条删除表中符合条件的记录
delete from 表名 where 条件;
–销毁当前表及所有表记录,并重新创建一个一模一样的新表
truncate 表名;
**
在这里插入图片描述
在这里插入图片描述

DQL-查询数据

select 字段 from 表名 where 条件;
distinct 去掉重复
as 别名。 相当于外号。可以为表或者字段加别名

|比较运算符 > < <= >= = <> 大于、小于、大于(小于)等于、不等于
BETWEEN …AND… 显示在某一区间的值(含头含尾)
先写小值,再写大值
IN(set) 显示在in列表中的值,例:in(100,200)
替代 or…or…or的结构
LIKE ‘张pattern’ 模糊查询,Like语句中,
% 代表零个或多个任意字符,
_ 代表一个字符,
例如:first_name like ‘_a%’;
IS NULL 判断是否为空
逻辑运算符 and 多个条件同时成立 &&
or 多个条件任一成立 ||
not 不成立,取反。例:where not(salary>100);
!|
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

排序

**查询时,我们通过order by语句,可以将查询出的记录进行排序。
放置在select语句的最后。
格式:
SELECT * FROM 表名 ORDER BY 排序字段 ASC|DESC;
ASC 升序 (默认) 小到大
DESC 降序 大到小 **

在这里插入图片描述

聚合函数/分组函数

聚合函数会忽略null空值
count(字段):统计指定列不为NULL的记录行数;
sum(字段):计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0;
max(字段):计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算;
min(字段):计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算;
avg(字段):计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0

在这里插入图片描述
在这里插入图片描述

分组

SELECT 字段1,字段2… FROM 表名 GROUP BY 分组字段;
在这里插入图片描述
分组运算-having

SELECT 字段1,字段2… FROM 表名 GROUP BY分组字段 HAVING 分组条件;
在这里插入图片描述

**having与where的区别(了解):
having是在分组后对数据进行过滤.
where是在分组前对数据进行过滤
having后面可以使用分组函数(统计函数)
where后面不可以使用分组函数。

	having中进行任何运算,select中展示该字段
	where中进行任何运算,select中无需展示该字段**

基本格式

select 字段 from 表名 where 条件 group by 字段 having 运算条件 order by 字段;

基本约束

约束:
主键约束:PRIMARY KEY 。 唯一、非空,一个表最多一个
唯一约束:UNIQUE。 唯一。 能为null
非空约束:NOT NULL. 不为空。 能重复

内连接

3.1.2内连接
隐式内连接:select 字段 from A表,B表 where 条件;

==显示内连接:select 字段 from A表 inner join B表 on 条件; ==

内连接:
优点:查询效率高
缺点:前期占用内存较高

在这里插入图片描述

外连接

左外连接:select 字段 from A表 left outer join B表 on 条件;
右外连接:select 字段 from A表 right outer join B表 on 条件

在这里插入图片描述

在这里插入图片描述

外连接:
优点:前期占用内存较少
缺点:查询效率一般

子查询

格式:进行select嵌套。
例如:select 字段 from 表名 where (select 字段 from 表名……)……
例如:select 字段 from (select 字段 from 表);

在这里插入图片描述

小结:
1、子查询必须通过合并
2、优先执行最里层的查询语句
3、子查询嵌套越多,效率越低

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值