SQL基础语句小结

本文介绍了SQL的基本概念,包括SQL的概述、DDL操作如创建和删除数据库与表,DML操作如添加、修改和删除数据,以及DQL查询语言,涵盖了数据类型的介绍和各种查询方法。通过这些内容,读者可以掌握数据库的基础操作。
摘要由CSDN通过智能技术生成

🍎道阻且长,行则将至。🍓


目录

一、SQL概述

1.简介

2.格式语法

3.SQL分类

二、DDL操作数据库

1.创建数据库

2.查询与使用

3.删除数据库

三、DDL:操作表

        (1)数据类型

        (2)创建表

        (3)查询当前数据库的表 

        (4)删除表

        (5)修改表

四、DML:操作数据

        (1)添加数据

        (2)修改数据

        (3)删除数据

四、DQL

        (1)基础查询

        (2)条件查询

        (3)模糊查询

        (4)排序查询

        (5)聚合函数

        (6)分组查询

        (7)分页查询


一、SQL概述

1.简介

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

2.格式语法

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

单行注释: -- 注释 (--后面要加空格 )或 #注释(MySQL 特有);

多行注释: /* 注释 */。

3.SQL分类

        (1)DDL(Data Definition Language)  数据定义语言

用来定义数据库对象:数据库,表,列等;

        (2)DML(Data Manipulation Language) 数据操作语言

对数据库中表的数据进行增删改;

        (3)DQL(Data Query Language) 数据查询语言

从数据库表中查询到我们想要的数据;

        (4)DCL(Data Control Language) 数据控制语言

定义数据库的访问权限和安全级别,及创建用户。

最常操作的是 DMLDQL ,因为我们开发中最常操作的就是数据。

二、DDL操作数据库

1.创建数据库

CREATE DATABASE 数据库名称;

创建数据库的时候先做判断,如果不存在再创建:

CREATE DATABASE IF NOT EXISTS 数据库名称;

2.查询与使用

  • 查询所有的数据库: SHOW DATABASES;5b1fc98a4a3b4f778ff21ae19f5f35c5.png
  • 使用数据库 :USE 数据库名称;7a86ebc77ff1454488e8bcb40bff21e4.png
  •  查看当前使用的数据库:SELECT DATABASE();3dccd099f0534e4589a3571828726ce0.png

3.删除数据库

DROP DATABASE 数据库名称;

DROP DATABASE IF EXISTS 数据库名称;

三、DDL:操作表

操作表也就是对表进行增(Create)删(Retrieve)改(Update)查(Delete)

        (1)数据类型

MySQL 支持多种类型,可以分为三类:

数值:

tinyint : 小整数型,占一个字节
int	: 大整数类型,占四个字节
	eg : age int
double : 浮点类型
	使用格式: 字段名 double(总长度,小数点后保留的位数)
	eg : score double(5,2)

日期:

date : 日期值。只包含年月日
	eg :birthday date : 
datetime : 混合日期和时间值。包含年月日时分秒

字符串:

char : 定长字符串。
	优点:存储性能高
	缺点:浪费空间
	eg : name char(10)  如果存储的数据字符个数不足10个,也会占10个的空间
varchar : 变长字符串。
	优点:节约空间
	缺点:存储性能底
	eg : name varchar(10) 如果存储的数据字符个数不足10个,那就数据字符个数是几就占几个的空间	

        (2)创建表

CREATE TABLE 表名 (
	字段名1  数据类型1,
	字段名2  数据类型2,
	…
	字段名n  数据类型n
);

注意最后一行没有逗号

        (3)查询当前数据库的表 

SHOW TABLES;93d7cb4250da47c4a0cddc322f16a47d.png

DESC 表名称;  查看mysql数据库中表的结构。

        (4)删除表

DROP TABLE 表名;

DROP TABLE IF EXISTS 表名;

        (5)修改表

ALTER TABLE 表名 RENAME TO 新的表名;

ALTER TABLE 表名 ADD 列名 数据类型;                添加一列

ALTER TABLE 表名 DROP 列名;                             删除一列

ALTER TABLE 表名 MODIFY 列名 新数据类型;

ALTER TABLE 表名 CHANGE 列名 新列名 新数据类型;

四、DML:操作数据

DML主要是对数据进行增(insert)删(delete)改(update)操作。在命令行写sql语句特别不方便,尤其是编写创建表的语句, 【Navicat 官网链接】 Navicat for MySQL 是管理和开发 MySQL 或 MariaDB 的理想解决方案,为数据库管理、开发和维护提供了一款直观而强大的图形界面。

1cc98a07cd5f45b696454c07f2b80c40.png

        (1)添加数据

-- 指定列添加数据
INSERT INTO 表名(列名1,列名2,…) VALUES(值1,值2,…);
-- 全部列添加数据**
INSERT INTO 表名 VALUES(值1,值2,…);
-- 批量添加
INSERT INTO 表名(列名1,列名2,…) VALUES(值1,值2,…),(值1,值2,…),(值1,值2,…)…;
INSERT INTO 表名 VALUES(值1,值2,…),(值1,值2,…),(值1,值2,…)…;

        (2)修改数据

UPDATE 表名 SET 列名1=值1,列名2=值2,… [WHERE 条件] ;
-- 修改语句中不加[WHERE 条件]条件,将修改所有数据

        (3)删除数据

DELETE FROM 表名 [WHERE 条件] ;

四、DQL

DQL是对表中的数据进行查询。

        (1)基础查询

-- 查询多个字段
SELECT 字段列表 FROM 表名;
SELECT * FROM 表名; -- 查询所有数据
-- 去除重复记录  DISTINCT 
SELECT DISTINCT 字段列表 FROM 表名;
-- 别名
AS 

        (2)条件查询

0026d5a1a88e4f49b994b67e957846e9.png

SELECT 字段列表 FROM 表名 WHERE 条件列表;

        (3)模糊查询

select * from stu where name like '李%';
-- (1)_ : 代表单个任意字符
-- (2)% : 代表任意个数字符

        (4)排序查询

SELECT 字段列表 FROM 表名 ORDER BY 排序字段名1 [排序方式1],排序字段名2 [排序方式2] …;

-- 排序方式有两种,分别是:
-- ASC : 升序排列(默认)
-- DESC : 降序排列

如果有多个排序条件,当前边的条件值一样时,才会根据第二条件进行排序

        (5)聚合函数

0dd440be954f4ef7bda1629538a4bb0e.png

SELECT 聚合函数名(列名) FROM 表;
-- null 值不参与所有聚合函数运算

        (6)分组查询

SELECT 字段列表 FROM 表名 [WHERE 分组前条件限定] GROUP BY 分组字段名 [HAVING 分组后条件过滤];

p:分组之后,查询的字段为聚合函数和分组字段,查询其他字段无任何意义

pp:where 和 having 区别:

执行时机不一样:where 是分组之前进行限定,不满足where条件,则不参与分组,而having是分组之后对结果进行过滤。

可判断的条件不一样:where 不能对聚合函数进行判断,having 可以。

        (7)分页查询

分页查询是将数据一页一页的展示

SELECT 字段列表 FROM 表名 LIMIT  起始索引 , 查询条目数;
-- 起始索引是从0开始

812c2c9f1b4b4ce4843f7030b2238b7e.gif

☕物有本末,事有终始,知所先后。🍭

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Super algorithm

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值