JAVAWEB-NOTE02-SQL

SQL简介

●英文: Structured Query Language, 简称SQL
●结构化查询语言,是一门操作关系型数据库的编程语言
●定义操作所有关系型数据库的统一标准
●对于同一个需求,每种数据库操作的方式可能会存在一些不一样的地方,我们称为"方言”

SQL通用语法

  1. SQL 语句可以单行或多行书写,以分号结尾。
  2. MySQL 数据库的SQL语句不区分大小写,关键字建议使用大写。

    3.注释
单行注释: --注释内容或#注释内容(MySQL特有)
多行注释: /*注释*/

SQL分类

●DDL(Data Definition Language)数据定义语言,用来定义数据库对象:数据库,表,列等
●DML(Data Manipulation Language)数据操作语言,用来对数据库中表的数据进行增删改
●DQL(Data Query Language)数据查询语言,用来查询数据库中表的记录(数据)
●DCL(Data Control Language)数据控制语言,用来定义数据库的访问权限和安全级别,及创建用户

DDL

用于操作数据库与表

操作数据库

1.查询

SHOW DATABASES;

当前有哪些数据库

2.创建

CREATE DATABASE DB1;
CREATE DATABASE IF NOT EXISTS DB1;


3.删除

DROP DATABASE DB1;
DROP DATABASE IF EXISTS DB1;

4.使用数据库

USE 数据库名称;

查看当前使用的数据库

SELECT DATABASE();

操作表

1.创建表

create table 表名(
字段1 类型1,
字段2 类型2
);
注意最后一个字段后面不要加逗号


数据类型有哪些?

2.查询表
查询当前数据库中的所有表

show tables;


查询某个表中的具体结构

DESC 表名称

3.修改表

  • 修改表名
alter table 名字 rename to 新的名字;

  • 添加一列
alter table 表名 add 列名 数据类型;

  • 修改数据类型
alter table 表名 modify 列名 新数据类型

  • 修改列名和数据类型
alter table 表名 change 列名 新的列名 新的数据类型

  • 删除列
alter table 表名 drop 列名;

4.删除表

DROP TABLE 表名称
DROP TABLE IF EXISTS 表名称

navicat

●Navicat for MySQL是管理和开发MySQL或MariaDB的理想解决方案。
●这套全面的前端工具为数据库管理、开发和维护提供了一 款直观而强大的图形界面。
●官网:
http://www.navicat.com.cn

连接本地数据库


双击后就连接上了本地的mysql

DML

DML是对表中的数据进行增删改查的操作

  • 添加
    给指定列添加数据
INSERT INTO user(id,name,password) VALUES(1,'张三',123456);

给全部列添加数据

INSERT INTO 表名 VALUES(v1,v2...);

  • 修改
修改数据
UPDATE 表名 SET 列名1=1,列名2=2,..[WHERE条件]


如果没有加where,那么会将表内所有的数据改掉

  • 删除
DELETE FROM 表名 [WHERE条件]

DQL

基础查询

1.查询指定列的数据

SELECT 列名1,列名2.. From 表名


2.查询所有列的数据

SELECT * FROM

3.剔除重复数据

利用DISTINCT关键字


4.查询出来的值起别名

SELECT 列名 AS 别名 From

条件查询



注意,null的比较不能用算术运算符,只能用is 或者是 is not

like模糊查询

不确定的地方用通配符代替
1. _代表一个字符
2. %代表任意个字符

分组查询

聚合函数

概念:
将一列数据作为整体,进行纵向计算

函数名 功能
count(列名) 统计数量
max(列名) 最大值
min(列名) 最小值
sum(列名) 求和
avg(列名) 平均值
语法:
SELECT 函数(列名) FROM 表;

null不参加所有聚合函数运算即如果某个数据为空,我并不会去统计。

分组查询


排序查询


分页查询


posted @   男人的浪漫  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示