操作数据库常见命令

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

目录

文章目录

前言

一、DDL

1.1). 数据库操作:

1.1.1 查询数据库

1.1.2 创建数据

1.1.3 使用数据库

1.1.4 删除数据库

1.2). 表操作:

1.2.1 查询

1.2.2 修改

1.2.3 删除

二、DML

2.1).增加(insert)

2.2).修改(update)

2.3).删除(delete)

三、DQL

介绍:

3.1 基本查询

3.2 条件查询

3.3 聚合函数

3.4 分组查询

3.5 排序查询

3.6 分页查询

总结


前言

SQL:结构化查询语言。一门操作关系型数据库的编程语言,定义操作所有关系型数据库的统一标准。 我们先来了解一下SQL语言的语法。


提示:以下是本篇文章正文内容,下面案例可供参考

一、DDL

介绍:

        DDL英文全称是Data Definition Language(数据定义语言),用来定义数据库对象(数据库、表)。

        DDL中数据库的常见操作:查询、创建、使用、删除。

1.1). 数据库操作:

1.1.1 查询数据库

         查询所有数据库: ​​​​​​

show databases;

         查询当前数据库:

select database();

        我们要操作某一个数据库,必须要切换到对应的数据库中。

        通过指令:select database() ,就可以查询到当前所处的数据库

1.1.2 创建数据

         语法:

create database [ if not exists ] 数据库名  [default charset utf8mb4];

1.1.3 使用数据库

         语法:

use 数据库名 ;

1.1.4 删除数据库

         语法:

drop database [ if exists ] 数据库名 ;

1.2). 表操作:

1.2.1 查询

         查询当前数据库所有表 :

show tables;

        查看指定表结构 

desc 表名 ;   #可以查看指定表的字段、字段的类型、是否可以为NULL、是否存在默认值等信息

          查询指定表的建表语句 :

show create table 表名 ;

1.2.2 修改

         添加字段:

alter table 表名 add  字段名  类型(长度)  [comment 注释]  [约束];

        修改数据类型 :

alter table 表名 modify  字段名  新数据类型(长度);

        删除字段  

alter table 表名 drop 字段名;

         修改表名

rename table 表名 to  新表名;

1.2.3 删除

         删除表语法:

drop  table [ if exists ]  表名;

注意:

        if exists :只有表名存在时才会删除该表,表名不存在,则不执行删除操作(如果不加该参数项,删除一张不存在的表,执行将会报错)。

二、DML

介绍:

        DML英文全称是Data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进行增、删、改操作。

2.1).增加(insert)

insert语法:

  • 向指定字段添加数据:
insert into 表名 (字段名1, 字段名2) values (值1, 值2);
  • 全部字段添加数据
insert into 表名 values (值1, 值2, ...);
  • 批量添加数据(指定字段)
insert into 表名 (字段名1, 字段名2) values (值1, 值2), (值1, 值2);
  • 批量添加数据(全部字段)
insert into 表名 values (值1, 值2, ...), (值1, 值2, ...);

Insert操作的注意事项:

  1. 插入数据时,指定的字段顺序需要与值的顺序是一一对应

  2. 字符串和日期型数据应该包含在引号中

  3. 插入的数据大小,应该在字段的规定范围内

2.2).修改(update)

        update语法:

update 表名 set 字段名1 = 值1 , 字段名2 = 值2 , .... [where 条件] ;

注意事项:

  1. 修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据

 

2.3).删除(delete)

        delete语法:

delete from 表名  [where  条件] ;

注意事项:

        1. DELETE 语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据

        2. DELETE 语句不能删除某一个字段的值(可以使用UPDATE,将该字段值置为NULL即可)

        3. 当进行删除全部数据操作时,会提示询问是否确认删除所有数据,直接点击Execute即可

三、DQL

介绍:

        DQL英文全称是Data Query Language(数据查询语言),用来查询数据库表中的记录。

语法:

SELECT
	字段列表
FROM
	表名列表
WHERE
	条件列表
GROUP  BY
	分组字段列表
HAVING
	分组后条件列表
ORDER BY
	排序字段列表
LIMIT
	分页参数

3.1 基本查询

         查询多个字段:

select 字段1, 字段2, 字段3 from  表名;

        查询所有字段(通配符)  

select *  from  表名;

        设置别名

select 字段1 [ as 别名1 ] , 字段2 [ as 别名2 ]  from  表名;

        去除重复记录  

select distinct 字段列表 from  表名;

        * 号代表查询所有字段!!!

3.2 条件查询

select  字段列表  from   表名   where   条件列表 ; -- 条件列表:意味着可以有多个条件

3.3 聚合函数

         语法:

select  聚合函数(字段列表)  from  表名 ;

注意 : 聚合函数会忽略空值,对NULL值不作为统计。  

注意:

count在根据指定的列统计的时候,如果这一列中有null的行,该行不会被统计在其中。  

sum目的是计算指定列的数值和,如果不是数值类型,那么计算结果为0  

3.4 分组查询

 分组: 按照某一列或者某几列,把相同的数据进行合并输出。

        分组其实就是按列进行分类(指定列下相同的数据归为一类),然后可以对分类完的数据进行合并计算。

分组查询通常会使用聚合函数进行计算。

select  字段列表  from  表名  [where 条件]  group by 分组字段名  [having 分组后过滤条件];

注意事项:

        1. 分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义

        2. 执行顺序:where > 聚合函数 > having

where与having区别(面试题)

  • 执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对结果进行过滤。

  • 判断条件不同:where不能对聚合函数进行判断,而having可以。  

3.5 排序查询

 排序在日常开发中是非常常见的一个操作,有升序排序,也有降序排序。

        语法:

select  字段列表  
from   表名   
[where  条件列表] 
[group by  分组字段 ] 
order  by  字段1  排序方式1 , 字段2  排序方式2 … ;

排序方式:

        1. ASC :升序(默认值):如果是升序, 可以不指定排序方式ASC

        2. DESC:降序

 

3.6 分页查询

        分页查询语法:

select  字段列表  from  表名  limit  起始索引, 查询记录数 ;

注意事项:

  1. 起始索引从0开始。 计算公式 : 起始索引 = (页码 - 1)* 每页显示记录数

  2. 分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是LIMIT

  3. 如果查询的是第一页数据,起始索引可以省略,直接简写为 limit 条数

 


总结

欢迎各位大佬一起讨论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值