MySQL的基础操作,包括DDL、DML、DQL查询

4 篇文章 0 订阅
4 篇文章 0 订阅
本文详细介绍了MySQL数据库的安装、数据模型、SQL语言基础,包括DDL(数据库定义语言)、DML(数据库操纵语言)和DQL(数据库查询语言)的操作,如创建表、修改表、查询数据等,并提及了Navicat作为数据库管理工具的使用方法。内容涵盖了从数据库创建到数据查询的全过程,适合初学者入门。
摘要由CSDN通过智能技术生成


本文涉及sql语句的基础操作,可用于在操作命令行或者Navivat等软件操作MySQL数据库。

一 、MySQL简介

1.1整体介绍

  • javaweb是连接前端和后端的技术栈

1.2 相关概念

  • mysql 是数据库管理系统
  • 常见的关系型数据库数据库:Oracle(金融)、Mysql(开源)、SQL(C#、.net)、SQLite(嵌入式微小,如安卓内置数据库)、mariaDB(开源中小型)

在这里插入图片描述

1.3 MySQL数据库安装

  • 一般使用5.7以上的MySQL社区版本

1.4 数据模型

  • 关系型:多张表相互连接的二维表,使用通用sql语言操作,用于复杂查询。
  • 数据在磁盘中,安全。格式一致,易于维护。
  • mysql中的数据库就是data文件夹中的文件。 使用sql操作数据库,从而操作数据库-数据表-数据。

1.5 SQL语言

Structured Query Language 结构化结构语言
通用语法:可以单行或多行,以分号结尾;不区分大小写,关键字建议以大写
注释:(空格)-- 或者# 单行注释,/* */ 多行注释

  • DDL:操作数据库、表
  • DML:对数据增删改查
  • DQL:对数据查询
  • DCL:对数据库权限控制

二、 DDL & DML

2.1 DDL:

show database; #显示视图(自己的库)
create db1 if not exist db1;   #创建不存在的数据库
drop datebase db2 if exist db2; #**删除**
use db; #进入到某一个数据库

2.2 查询表

show tables; 显示所有的表
desc tables1;查询表结构

2.3 创建表

create table1 tb_user(
	id int,
	username varchar(20),
	password varchar(32) # 可以创建多行,但最后一行不加逗号
	);
desc table1; 

2.4 操作表

数据类型
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
删除表:

drop table tb_user;
drop table tb_user if not exist tb_user; 

修改表:

alter table student rename to stu; 修改student表名字为stu
alter table stu add address varchar5); 添加一列address
alter table stu modify address varchar(50); 修改数据类型
alter table stu change address addr varchar30); 修改列的名称跟数据类型
alter table stu drop addr; 删除列

2.5 Navicat的使用

数据库管理、开发使用的图形化软件
新建:连接MySQL的数据库,连接的主机,端口号,用户名,密码
修改表:右键设计表
新建查询:就可以用SQL语句查询
在这里插入图片描述

2.6 DML (对表增删改)

添加数据:


insert into stu(id,name) values1,“张三”);#添加两列
insert into stu (id,name,sex,brithday) values2,“李四“,‘男’,‘1999-11-11’)#给所有列增加数据
insert into stu values ... ; # 可省略列名

在这里插入图片描述
修改数据:

update stu set sex=‘女’,score=99 where name = ‘张三’; #更新某一条件,如果没有加where,则修改所有的数据!

删除数据:

delete from stu where name=‘张三’; #删除某一条件,不加where,则删除整个表

三、 DQL(查询操作 - 开发最多用到)

单表查询,功能:分页查询、升序排列、关键字查询

在这里插入图片描述

3.1 基础查询:

select * from stu;# 全部查询,不要使用 星号 在开发的时候不好加注释
select name,age from stu;#只查询两列
select address from stu;#重复查询
select DISTINCT address from stu;#不重复查询
select name,math as 数学成绩,englist  英语成绩 from stu;# 用as起别名,也可以省略(要空格隔开)

3.2 条件查询:

在这里插入图片描述

select * from stu where age >20 and age < 30; #可以用&&
select from stu where age between 20 and 30; # 在某个区间
select from stu where date between1998and1999’;
select from stu where age != 20#用<>也可以 , 相等用 = 
select from stu where age in182022);#相当于or
select from stu englist is not null# null 不能用=,要用is ,is not 

3.3 模糊查询:

select * from stu where name like ‘_化%’; #_ 匹配单个字符,% 匹配零个、一个或多个字符
select * from stu where 题干 like "%关键字%"

3.4 排序查询:

select * from  stu order by age desc,id asc# 默认是asc升序查询

3.5 聚合函数:

在这里插入图片描述

select func(name) from table#null值不参与聚合函数运算
count(*# 统计所有数据行数

3.6 分组查询:

在这里插入图片描述

select sex,avg(math)from stu group by sex;#查询**不分组**和**非聚合函数**字段,无意义
select sex,avg(math),count(*from stu where math>70 group by sex ;# where **分组之前**做筛选
select sex,avg(math),count(*from stu where math>70 group by sex having count(*>2#having **分组之后** 做筛选 
/*
where 和 group by区别:
执行顺序:where》聚合函数》having
筛选:where 分组前,having分组后
*/

3.7 分页查询:

不分页内存吃不消,用户体验也不好
在这里插入图片描述

select * from stu limit 0,3#从0开始,查询3条数据
select * from stu limit 0,3#每页查询3条数据,查询第一页
select * from stu limit 3,3#每页查询3条数据,查询第二页
 select * from stu limit 6,3#每页查询3条数据,查询第三页
 # 起始索引= (当前页码-1)* 每页展现页数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值