一.数据库
【库——>表——>数据】
借助数据库对数据进行组织存储,借助SQL语言对数据库、数据进行操作管理
Mysql数据库
下载:https://www.mysql.com/
查看是否安装配置成功:
安装DBeaver用于Mysql数据库图形化
安装:https://dbeaver.io/
二.SQL语言
结构化查询语言(Structured Query Language),用于访问和处理数据库的标准计算机语言。
基于功能分为四类:
- 数据定义:DDL(Data Definition Language)
- 数据操纵:DML(Data Manipilation Language)
- 数据控制:DCL(Data Control Language)
- 数据查询:DQL(Data Query Language)
(部分)基础列类型:
- int 整数
- float 浮点数
- varchar(长度) 文本,长度为数字,做最大长度限制
- data 日期类型
- timestamp 时间戳类型
特点:
- 大小写不敏感
- 可以单行或多行书写,以分号结束一条语句
- 字符串只支持用单引号表示
命令
代码 | 作用 |
---|---|
– 注释内容 | 单行注释,–后一定要有一个空格 |
# 注释内容 | 单行注释,#后可以不加空格,最好加上 |
/* 注释内容 */ | 多行注释 |
DDL操作: | |
mysql -uroot -p | 打开数据库 |
show databases; | 查看数据库 |
create database 数据库名 [charset UTF8]; | 创建数据库,中括号内容表示可写可不写 |
drop database 数据库名; | 删除数据库 |
select database(); | 查看当前使用的数据库 |
use 数据库名; | 使用某数据库 |
drop table 表名; | 删除表 |
drop table if exists 表名; | 删除表 |
create table 表名(列名称 列类型,列名称,列类型,……); | 创建表 |
show tables; | 查看数据库内有哪些表 |
exit | 退出数据库环境 |
DML操作: | |
insert into 表[(列1,列2,……)] values(值1,值2,……)[,(值1,值2,……),……]; | 数据插入,[]中内容代表可省略 |
delete from 表名 [where 条件判断]; | 数据删除,[]中内容代表可省略。条件判断:(列 操作符 值)操作符包括:=、<、>、>=、<=、!= |
updata 表名 set 列=值 [where 条件判断]; | 数据更新,[]中内容代表可省略。条件判断同数据删除中类似 |
DQL操作: | |
select 字段列表 from 表 [where 条件判断]; | 数据查询,从表中选择某些列进行展示,其中字段列表可以使用*表示所有列。 |
select 列或聚合函数或* from 表 [where 条件判断] group by 列; | 分组聚合,聚合函数有:sum(列) ——求和、avg(列)——求平均值、min(列)——求最小值、max(列)——求最大值、count(列或*)——求数量。语法限制:group by中包含的列才能在非聚合函数中出现。 |
select 列或聚合函数或* from 表 where …… group by…… order by [asc或desc]; | 结果排序,[]中内容代表可省略。asc代表升序(默认为升序),desc代表降序; |
select 列或聚合函数或* from 表 where …… group by…… order by [asc或desc] limit n[,m]; | 结果分页查询限制,[]中内容代表可省略。 |
执行顺序:
from—>where—>group by或聚合函数—>select—>order by—>limit
from和select必须写,其他可按需求省略
use world;
create table student(
name varchar(10),
age int,
id int
);
# 插入数据
insert into student(age) values(20),(18),(22),(30);
insert into student(name,id) values('li',20240001),('wang',20240002),('liu',20240003);
/*
输出结果:(使用文本显示)
name|age|id |
----+---+--------+
| 20| |
| 18| |
| 22| |
| 30| |
li | |20240001|
wang| |20240002|
liu | |20240003|
*/
# 删除数据
delete from student where age >= 18;
/*
输出结果:(使用文本显示)
name|age|id |
----+---+--------+
li | |20240001|
wang| |20240002|
liu | |20240003|
*/
# 更新数据
update student set name = 'qi' where id = 20240001;
/*
输出结果:(使用文本显示)
name|age|id |
----+---+--------+
qi | |20240001|
wang| |20240002|
liu | |20240003|
*/
# 查询数据
select name,id from student;
/*
输出结果:(使用文本显示)
name|id |
----+--------+
qi |20240001|
wang|20240002|
liu |20240003|
*/
select name,id from student where id > 20240001;
/*
输出结果:(使用文本显示)
name|id |
----+--------+
wang|20240002|
liu |20240003|
*/
# 查询student表中age大于20的数据,并按照age升序排序
select * from student where age > 20 order by age asc;
# 查询student表中age大于20的数据,并按照age升序排序,显示前4条数据
select * from student where age > 20 order by age asc limit 4;
# 查询student表中age大于20的数据,并按照age升序排序,显示第2条后的4条数据
select * from student where age > 20 order by age asc
limit 2, 4;
【记录学习过程的笔记,欢迎大家一起讨论,会持续更新】