首页 > 数据库 >mysql数据库常用命令(补充)

mysql数据库常用命令(补充)

时间:2024-07-18 23:30:06浏览次数:10  
标签:name 数据库 常用命令 查询 age mysql test id select

1、查看表的所有内容

select * from 表名;

2、查看指定内容

select name,age from test;

select表示查询,name表示名字,age表示年龄,from是从的意思,test是表名。

翻译过来就是:从test表中查询名字和年龄字段的内容。

在select后面指定要查询的项,可以是一项也可以多项。

在select后面添加distinct去除重复项输出:如select distinct name,age from 表名;

3、预测库存量

select name,stock+100 from test;

stock是库存列,stock+100就是原库存加100。

如果库存有为null的,它是不会相加的,需要把它设为0。

select name,ifnull(stock,0)+100 from 表名;

ifnull(stock,0)的意思是:如果stock为null,就把stock的值设为0。

3、根据条件查询

select * from test where age>20;

where后面就是条件

翻译过来就是:从test表查询所有年龄大于20的内容。

如果条件为null的话,需要用is或is not,不能用<、=、>这些符号

例如:select * from test where age is null;

范围查询

select * from test where age>=20 and age<=50;

翻译过来就是:从test表查询所有年龄大于等于20和小于等于50的内容

也可以用:select * from test where age between 20 and 50;

从test表查询年龄在20到50之间的内容

4、模糊查询

select * from test where name like '苹果%';
%是匹配所有的意思,只要前面俩个字是苹果都会匹配上

翻译过来就是:从test表查询所有名字前俩位是苹果的内容,

查询所有带有苹果的内容:select * from test where name like '%苹果%';

select * from 表名 where name like '_苹果%

_表示占一位的意思,也可以用多个来占多个位

翻译过来就是:从test表查询所有名称第二位是苹,第三位是果的内容。

5、聚合查询

select count(*) from test;

count()查询函数,翻译过来就是:从test表查询所有函数,也就是有多少条信息。

min()最小,max()最大,sun()总数,AVG()平均数。

例如说从test表查询最小年龄的值:select min(age) from test;

6、排序查询asc desc

升序查询

select * from test order by age asc;

从test表查询年龄的所有字段并按升序从小到大排列

降序查询

select * from test order by age desc;

从test表查询年龄的所有字段并按降序从大到小排列

order by是查询字段的意思,asc是升序的意思,desc是降序的意思

7、分组查询

select brand,sun(prcice) from test group by brand;

brand是品牌,sun(prcice)计算总金额,group by分组输出。

意思就是:从test表查询品牌和金额的总字段内容并分组输出。

8、分页查询

公式:select * from 表名 LIMIT (页码-1)*每页数量,每页数量

如果一页有五条数据,页码数量从1开始,也就是(1-1)*每页数量5,每页数量5;第一页得出0,5。

第二页是(2-1)*每页数量5,每页数量5;第二页得出5,5。以此类推

还有个简单的方法从0开始算,第一页是0到4,第二页是5到9。

或者是页码数加每页数量得出下一页的页码数,如0+5得5,5+5得10。

select * from test limit 0,5;第一页

select * from test limit 5,5;第二页

9、多对多表查询

用一个中间表把其它的表链接起来,通过这个中间表可以把数据联通。

如学生、课程,学生可以选择多个课程,但同时课程也可以被多个学生去选择

课程表跟学生表之间就需要用到中间表来专门把它们连接起来。

学生表

create table student (

id int PRIMARY key auto_increment,//把整数类型id设为主键并且自增

name varchar(20)//字符串类型名字

)ENGINE=innodb;

id int 声明id为整数,PRIMARY key 设为主键,auto_increment自增

name varchar(20) 声明name为字符串类型

ENGINE=innodb 设置存储引擎,没有可能会报错

课程表

create table course (

id int PRIMARY key auto_increment,

name varchar(20)

)ENGINE=innodb;

中间表

create table stu_cre (

id int PRIMARY key auto_increment,

sid int,

cid int,

constraint ss foreign key (sid) references student(id),

constraint sc foreign key (cid) references course(id),

)ENGINE=innodb;

constraint设置外链接,命名为ss随便起一个,foreign key (sid)本表键,references student(id)学生表键。

我这里没有插入数据,可以自己添加数据,如果表里面有数据,通过查询语句

select * from 中间表名;

查看中间表就可以看到俩个表的关联数据了

10、内连接

用于查询俩个表或多个表有交集、相关联的数据

语法:select 列名 from 表名1 inner join 表名2 on 关联条件;

select * from 用户表 inner join 订单表 on 用户.id=订单.sid;

从用户表查询所有与订单表相关联的数据,用户.id和s订单sid要有关联。

用户表是要查询的主表,inner join表示连接。

标签:name,数据库,常用命令,查询,age,mysql,test,id,select
From: https://www.cnblogs.com/sheng12/p/18310602

相关文章

  • 关于MySQL主从复制的详细流程
    目录一、准备工作二、配置主服务器(Master)三、配置从服务器(Slave)四、数据同步(可选)五、验证复制关于MySQL主从复制的详细流程,可以分为以下几个主要步骤:一、准备工作确保环境:准备至少两台服务器,一台作为主服务器(Master),另一台作为从服务器(Slave)。确保两台服务器间的......
  • idea内置数据库 + sql语句库表操作
    表数据操作,表是上一个博客里的表tb_emp--dml:数据操作语言--dml:插入数据-insert--1.为tb_emp表的username,name,gender字段插入值--所有用到引号的地方,用单引号双引号都可以insertintotb_emp(username,name,gender,crate_time,update_time)value('red','小红',1......
  • 数据库的查询语言
    目录文章目录前言一、sql查询语言关键字二、基础查询1.查询学生表中学号是101的学生信息2.限定条件ISNOTNULL(不为空)ISNULL(为空)IN(集合)LIKE(模糊查询)关键词DISTINCT用于返回唯一不同的值(去重复)三、排序查询查找所有学生并按照成绩升序排序查找所有男学生......
  • mysql触发器模板
    --当我们对dept表中的数据进行insertdeleteupdate的时候,请将这些操作记录到日志表当中--dept的表结构/*CREATETABLE`dept`(`DEPTNO`intNOTNULLCOMMENT'部门编号',`DNAME`varchar(14)CHARACTERSETutf8mb4COLLATEutf8mb4_0900_ai_ciDEFAULTNULLCOMMEN......
  • 通过脚本,将MySQL数据转换成单条insert语句
    通过命令,导出数据:SELECT*FROMusersINTOOUTFILE'/tmp/users_data.sql'FIELDSTERMINATEDBY','LINESTERMINATEDBY'\n';通过脚本,转成insert语句:#!/bin/envpython#-*-encoding:utf-8-*-#数据导出命令,注意修改表名#SELECT*FROMusersINTOOU......
  • Linux安装mysql(超详细版)
    步骤1:新建一个文件夹,专放从网络下载的文件[root@iZ2zeh6vyxsq620zifz8jaZhome]#mkdirsoft#在根目录下创建也可以步骤2:切换目录,进入soft文件中[root@iZ2zeh6vyxsq620zifz8jaZ/]#cdhome/#若第一步文件建在根目录则执行该语句,否则不执行[root@iZ2zeh6vyxsq620zif......
  • hbase写入数据库 BufferedMutator入库
    hbase写入数据库BufferedMutator入库如何使用HBaseBufferedMutator入库1.流程图创建HBase连接创建BufferedMutator构建Put对象将Put对象加入BufferedMutator释放资源2.关系图erDiagramHBase}|--|BufferedMutator:使用BufferedMutator}|..|Put:包含3.详......
  • MySQL与地震学:地震波形数据的实时分析宝典
    ......
  • docker镜像常用命令
    1.使用"ls"查看镜像列表dockerimagels查看现有的镜像列表。dockerimagels-q仅查看镜像的ID信息。dockerimagels-a查看所有的镜像,包括中间镜像,尤其是在后期查看基于dockerfile的时候很有用呢2.使用"pull"拉取镜像dockerimagepullbus......
  • mysql8在CentOS8上安装实践
    一、下载https://dev.mysql.com/downloads/mysql/历史版本:https://downloads.mysql.com/archives/community/二、解压tar-zxvf/opt/software/mysql-8.0.33-linux-glibc2.28-x86_64.tar.gz-C/usr/local修改mysql目录名称mv/usr/local/mysql-8.0.33-linux-glibc2......