mysql语法基础01

操作数据库(DDL)

连接数据库

mysql -u用户名 -p
enter password : 密码
在这里插入图片描述

退出数据库

exit
quit

查看已经创建的数据库

show databases;

— 注意

  • mysql不严格区分大小写
  • 分号作为结束符,必须写

查看数据库版本

select version();
在这里插入图片描述

创建数据库

create database 数据库名;
create datebase 数据库名 charset=‘utf-8’;
在这里插入图片描述

— 注意

  • charset : 指定编码为utf8

查看创建数据库的命令

show create database 数据库名;
在这里插入图片描述

查看当前使用的数据库

select database();

使用数据库

use 数据库名;
在这里插入图片描述

删除数据库

drop database 数据库名;

操作数据表

查看当前数据库中所有表

show tables;

创建表

create table 数据表名(字段 类型 约束[, 字段 类型 约束])

在这里插入图片描述
在这里插入图片描述

查看表的创建语句

show create table 数据表名;

查看表描述信息

desc 数据表名;
在这里插入图片描述

添加表字段

alter table 数据表名 add 字段 类型;
在这里插入图片描述

修改表字段

alter table 数据表名 modify 字段 类型; (不重复命名)
在这里插入图片描述

alter table 数据表名 change 原字段名 新字段名 类型和约束 (将字段重命名)
在这里插入图片描述

删除表字段

alter table 数据表名 drop 字段;
在这里插入图片描述

操作数据

新增数据

整行插入

insert into 数据表名 values(值1,值2,值3)
在这里插入图片描述

指定列中插入数据

insert into tabname(字段1,字段2) values(值1,值2),(值1,值2)
在这里插入图片描述

修改数据

update 数据表名 set 字段1= 新值,字段2=新值;

删除数据

delete from 数据表名 【where 条件】;

逻辑删除

在这里插入图片描述

查询数据

查询整个表数据

select * from 数据表名;
在这里插入图片描述

查询指定字段数据

select 字段1,字段2, from 数据表名;
在这里插入图片描述

查询指定字段数据,并给字段其别名

select 字段1 as 别名,字段2 as 别名 from 数据表名;
在这里插入图片描述
在这里插入图片描述

查询指定字段并去重

select distinct 字段1 from 数据表名;

where子句

— where子句通常结合增删改查使用,用于做筛选的条件。

比如,查询当id=1的数据
select * from students where id=1

模糊查询

like关键字用来进行模糊查询,并结合%以及_使用

  • % 表示任意多个字符
  • _ 表示一个任意字符

在这里插入图片描述

  • 仅含有两个字符
    在这里插入图片描述

常用聚合函数

count 总数

在这里插入图片描述

max()最大值

在这里插入图片描述

min() 最小值

sum()求和

avg 平均值

在这里插入图片描述

分组与分组之后的筛选

在这里插入图片描述
在数据库中,通过group by将查询结果按照1个或多个字段进行分组,字段值相同的为一组。
– select … from students group by 需要分组字段;

group_concat(…)

— 我们通过group_concat(…)查看每组的详细信息

在这里插入图片描述
在这里插入图片描述
— 如果分组后,还想查看总人数 with rollup
在这里插入图片描述
— group_concat方法里面的拼接方法
在这里插入图片描述

分组后的筛选

在这里插入图片描述
分组后不进行where操作

错误 在这里插入图片描述

真确 在这里插入图片描述

排序

order by 字段 默认升序
order by asc 字段 指定升序
order by desc 字段 指定降序

限制

limit start , count

  • start为偏移量,默认起始0
  • count为条数
    在这里插入图片描述
    在这里插入图片描述

注意:

  • limit不能写数学公式
  • limit只能写在末尾

表连接

当查询结果的列来源于多张表时,需要将多张表连接成一个大的数据集,再选择合适的列返回mysql。这时我们就需要使用表连接。
在这里插入图片描述

分类

  • 内连接
  • 外连接(左连接 右连接)

内连接

— 内连接仅选出两张表中互相匹配的记录
select * from 表1 inner join 表2 on 表1.列 = 表2.列;
在这里插入图片描述
在这里插入图片描述

左连接

– 查询的结果为两个表匹配到的数据,左表持有的数据,对于右表中不存的数据使用null填充
– select * from 表1 left join 表2 on 表1.列 = 表2.列;
在这里插入图片描述
在这里插入图片描述

右连接

查询结果为两个表匹配到的数据,右表持有的数据,对于左表中不存在的数据使用null填充。
select * from 表1 right join 表2 on 表1.列 = 表2.列
在这里插入图片描述

子查询

某些情况下,当进行查询的时候,需要的条件是另外一个 select 语句的结果,这个时候,就要用到子查询。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值