MySQL基础入门(一)

图片来自b站黑马程序员

数据库操作 DDL

查询:

1.查询所有的数据库
show databases;

2.查询当前的鹅数据库
select database;

创建

create database [if not exists] 数据库名 [default charset 字符集][collate 排序规则];

删除

drop database [if exists] 数据库名

使用

use 数据库名

DML 操作表

查询

1.查询当前数据库下所有的表名称
show tables;

2.查询表结构
desc 表名称

删除表

1.删除表
drop table 表名;

2.删除表时进行判断
drop table if exists 表名

查询表

show tables;

创建表

sql 复制代码
 create table 表名称(
	列名称 列类型 列类型约束,
	列名称 列类型 列类型约束,
	列名称 列类型 列类型约束
	.......
)

SQL中的类型

表的修改

1.修改表名
alter table 表名 rename to 表名

2.添加新的列
alter table 表名 add 列名 数据类型

3.修改某一列的数据类型
alter table 表名 modify 列名 新的数据类型 ;

4.修改列名和数据类型
alter table 表名 change 列名 新列名 新数据类型;

5.删除列
alter table 表名 drop 列名

对表中数据进行操作 DQL

查询

1.查询所有的数据
select * from 表名;

添加数据

1.给指定的列添加数据
insert into 表名(列名1,列名2,列名n) values (值1 ,值2)

2.给所有的列间数据
insert into 表名(所有列) values(所有给定的初始化值)

3.列明的列表可以省略
insert into 表名(所有列) values(所有给定的初始化值)

约束

约束就是指的对这个表中字段的限制,比如说非空约束,只要在字段类型的后面加上not null约束的话,这个表中就不可以插入该约束下仍为空子段的内容

条件查询

使用where关键字进行查询
select * from 表明 where 条件

举例
select * from students where name = "张三"

分组字段列表

数据分组:根据指定的列或表达式对数据进行分组,将具有相同值的数据归为一组。例如,可以根据商品类别将销售订单进行分组。

聚合计算:在每个分组内,可以对数据进行聚合计算,如求和、平均值、计数等。常见的聚合函数包括COUNT、SUM、AVG、MAX、MIN等。可以使用SELECT语句中的聚合函数来对分组后的数据进行计算。

过滤数据:可以使用HAVING子句对分组后的数据进行筛选,只保留满足特定条件的分组。HAVING子句通常与GROUP BY一起使用。

假设有一个包含订单信息的表orders,我们可以使用GROUP BY来按照顾客ID分组,并计算每个顾客的订单总金额:

sql 复制代码
SELECT customer_id, SUM(order_amount) 
FROM orders
GROUP BY customer_id;

聚合函数

在数据库中,聚合函数是用于对数据进行统计和计算的函数。聚合函数通常与GROUP BY语句一起使用,以对分组后的数据进行计算。

常见的聚合函数包括:

COUNT:用于计算行数。可以使用COUNT(*)来计算表中所有行的数量,或者使用COUNT(column_name)来计算指定列中非空值的数量。

SUM:用于计算某列的总和。

AVG:用于计算某列的平均值。

MAX:用于查找某列的最大值。

MIN:用于查找某列的最小值。

sql 复制代码
SELECT COUNT(*) FROM orders;  -- 计算orders表中的行数
SELECT COUNT(DISTINCT customer_id) FROM orders; -- 计算顾客数量
SELECT SUM(order_amount) FROM orders;  -- 计算订单总金额
SELECT AVG(order_amount) FROM orders;  -- 计算订单平均金额
SELECT MAX(order_amount) FROM orders;  -- 查找订单中的最大金额
SELECT MIN(order_amount) FROM orders;  -- 查找订单中的最小金额
相关推荐
BTU_YC10 小时前
Neo4j查询计划完全指南:读懂数据库的“执行蓝图“
数据库·neo4j
非极限码农10 小时前
Neo4j图数据库上手指南
大数据·数据库·数据分析·neo4j
mit6.82410 小时前
[C# starter-kit] 命令/查询职责分离CQRS | MediatR |
java·数据库·c#
咋吃都不胖lyh11 小时前
SQL-多对多关系
android·mysql·数据分析
苏打水com11 小时前
数据库进阶实战:从性能优化到分布式架构的核心突破
数据库·后端
shan~~12 小时前
linux达梦数据库操作
linux·数据库·chrome
武文斌7712 小时前
项目学习总结:LVGL图形参数动态变化、开发板的GDB调试、sqlite3移植、MQTT协议、心跳包
linux·开发语言·网络·arm开发·数据库·嵌入式硬件·学习
CoderIsArt12 小时前
SQLite架构
数据库·sqlite
lixora13 小时前
银河麒麟高级服务器操作系统(ADM64 版)V10(SP1)搭建 Oracle 19c RAC
数据库
郝学胜-神的一滴13 小时前
使用Linux的read和write系统函数操作文件
linux·服务器·开发语言·数据库·c++·程序人生·软件工程