基础SQL语句

一、 对数据库或表的整体操作

1. 创建:create

创建数据库

create database [if not exists] 数据库名 [character set utf8mb4];

这里第二个中括号的代码可以使当前数据库可以使用中文字符集

创建表

create table [if not exists] 表名(field1 datatype1, field2 datatype2...);

2. 删除:drop

删除数据库

drop database [if exists] 数据库名;

删除表

drop table [if exists] 表名;

3. 使用/切换数据库:use

use 数据库名;

二、 对记录的操作

1. 增:insert

insert into 表名[(指定列)] values (field1, field2, ...), (field1, field2, ...), ...;

2. 删:delete

delete from 表名 where 删除条件;

3. 查:select

普通查询

select */[指定列] from 表名 [where 条件];

聚合查询:group by

  1. 聚合函数
    a. sum(列名):计算指定列的和

     ```sql
     -- 按照指定列分组,并把每组之和计算并显示,行数为组数
     select sum(列名)[, 其他列] from 表名 [where 条件] group by 列名;
     ```
    

    b. avg(列名):计算指定列的平均值

     ```sql
     -- 按照指定列进行分组,并把每组计算平均值并显示,行数为组数
     select avg(列名)[, 其他列] from 表名 [where 条件] group by 列名;
     ```
    

    c. min(列名):计算指定列的最小值

     ```sql
     -- 按照指定列进行分组,并把每组计算最小值并显示,行数为组数
     select min(列名)[, 其他列] from 表名 [where 条件] group by 列名;
     ```
    

    d. max(列名):计算指定列的最大值

     ```sql
     -- 按照指定列进行分组,并把每组计算最大值并显示,行数为组数
     select max(列名)[, 其他列] from 表名 [where 条件] group by 列名;
     ```
    

    e. count(列名):计算指定列的行数

     ```sql
     -- 按照指定列进行分组,并计算每组的行数并显示,行数为组数
     select count(列名)[, 其他列] from 表名 [where 条件] group by 列名;
     ```
    

    f. having

    在分组查询中,查询条件就分为分组前的查询条件和分组后的查询条件,having是用于设定分组后的查询条件,where是用于设定分组前的查询条件。

联合查询

下面以这两个表进行举例说明各种连接

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p3jNNb59-1687883816617)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/a7ce837d-1023-4942-ae20-672854b66808/Untitled.png)]

  1. 内连接

    -- join版本
    select */[指定列, ...] from student1 [inner] join score1 on student1.id = score1.student_id;
    -- where版本
    select */[指定列, ...] from student1, score1 where student1.id = score1.student_id;
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WrO7whme-1687883816618)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/a520dd4b-5774-4149-a9a6-b0673c4b2a42/Untitled.png)]

  2. 外连接(只能用join):
    a. 左连接
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wL5xqUze-1687883857656)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/ed9b7413-fc58-4355-bb37-a8ca2f0b830e/Untitled.png)]

    b. 右连接
    在这里插入图片描述

  3. 自连接:

4. 改:update

update 表名 set 列名=修改的值[, 列名=要修改的值...] where 条件;
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值