SQL基础语句汇总[通俗易懂]

SQL基础语句汇总[通俗易懂]引言语法基础连接数据库查看数据库使用数据库查看表查看表结构建表修改表添加字段移除字段变更字段插入全字段插入个别字段插入普通查询单表全字段查询单表个别字段查询多表查询条件查询单表条件查询多表条件查询嵌套查询并查询交查询删除更新常用函数求和求平均值计数求最大值求最小值常用的修饰符distinct字段中值唯一limit查询结果数限制

大家好,又见面了,我是你们的朋友全栈君。

引言

是时候复习一波SQL语句的语法了,无需太深,但总得会用啊。

语法

一步步由浅到深,这里用的都是mysql做的。

基础

连接数据库

mysql -h10.20.66.32 -uroot -p123456

-h后面是mysqlServer所在地址,-u后面是用户名,-p后面是密码

查看数据库

show databases;

show databases

使用数据库

use test;

查看表

show tables;

tables

查看表结构

desc winton

desc

建表

create table t1(
	id int not null primary key, 
	name char(20) not null
	);

语法 create table 表名称( 字段名 字段名类型 字段描述符,字段名 字段类型 字段描述符);

删除表

drop table test;

语法:drop table 表名称;

修改表

添加字段

alter table t1 add(score int not null);

语法:alter table 表明称 add(字段名 类型 描述符);

移除字段

alter table t1 drop column score;

语法:alter table 表名 drop colunm 字段名,drop colunm 字段名;

变更字段

alter table t1 change name score int not null;

语法:alter table 表名 change 旧字段名 新字段名 新字段描述符

插入

全字段插入

insert into winton values(001,'zww'),(002,'rs');

语法:insert into 表名 values(字段1值,字段2值,……),(字段1值,字段2值,……);

个别字段插入

insert into winton(id) values(004);

insert
查看插如后的结果,如上图所示。
语法:insert inton 表名(字段名) values(值一),(值二);

普通查询

单表全字段查询

select * from t1;

语法:select * from 表名;

单表个别字段查询

select id from t1;

语法:select 字段一,字段二 from 表名;

多表查询

select t1.id,t1.score,winton.name from t1,winton;

多表查询
语法:select 表一字段,表二字段,表三字段,…… from 表一,表二,表三,……;

条件查询

单表条件查询

select * from t1 where socre>90;

语法:select 字段1,字段2 from 表名 where 条件;

多表条件查询

select t1.id,t1.score,winton.name from t1,winton where t1.id=winton.id;

winton
语法:select 表一字段,表二字段 from 表一,表二 where 条件;

嵌套查询

select name from winton where id=(select id from t1 where score=90);

这里写图片描述
语法:select 字段一,字段二…… from 表名 where 条件(查询);

并查询

(select id from t1 )union(select id from winton);

并查询
##交查询

select id from t1 where id in (select id from winton);

这里写图片描述

删除

delete from winton where id=4;

语法:delete from 表名 where 条件;

更新

update t1 set score=69 where id=2;

语法:update 表名 set 更改的字段名=值 where 条件;

常用函数

求和

select sum(score) from t1;

注:sum(字段) 对字符串和时间无效

求平均值

select avg(score) from t1; 

注:avg(字段)对字符串和时间无效

计数

select count(*) from t1;

注:count(字段名)不包含NULL;
这里写图片描述

求最大值

select max(name) from winton;

注:max(colunm)返回字母序最大的,返回数值最大的

求最小值

select min(name) from winton;

注:min(colunm)返回字母序最小值,返回数值最小值

常用的修饰符

distinct 字段中值唯一

select distinct name from winton;

limit查询结果数限制

select * from winton limit 2;

order by 排序

select * from winton order by name;

注:默认是升序

desc 降序

slelect * from winton order by name desc;

asc 升序

select * from winton order by name asc;

group by 分组

select name from winton group by name;

索引

创建普通索引

create index wintonIndex on winton (name);

语法:create index 索引名称 on 表名 (字段一,字段二,……);

创建唯一索引

create unique index wintonIndex on winton (id);

语法:create unique index 索引名 on 表名 (字段一,字段二,……);
ps:unique index 要求列中数据唯一,不能出现重复。

移除索引

drop index wintonIndex on winton;

语法: drop index 索引名 on 表名;

结尾

恩,基本能想起来的就值么多了,都是最基础,最常用的一些。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/134738.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • VRRP虚IP漂移

    VRRP虚IP漂移

    2020年11月20日
    264
  • GlboalMapper20如何把mbt转为tif

    GlboalMapper20如何把mbt转为tif一、为什么要把mbt转tifmbt是一种瓦片的单文件存储,打开浏览的速度都非常快。部分GIS软件支持度不是很好,比如ArcGIS等,用这些软件做分析的时候,无法直接基于mbt来做。就需要把mbt转为tif。二、打开mbt拖拽mbt到GlobalMapper二、导出文件选择geotiff三、导出配置选择真彩色分辨率设置:默认是导出最高级别,如果需要导出低级别的,可以自己调整分辨率范围设置:mbt经常用于存储大文件,实际分析用的范围比较小,直接设置

    2025年6月8日
    3
  • Jwt生成和解析工具类(万用版,可作为数据存储容器来传输)

    Jwt生成和解析工具类(万用版,可作为数据存储容器来传输)packagecom.ciih.authcenter.client.util.jwt;importcom.alibaba.fastjson.JSON;importcom.auth0.jwt.JWT;importcom.auth0.jwt.JWTCreator;importcom.auth0.jwt.JWTVerifier;importcom.auth0.jwt.algorithms.Algorithm;importcom.auth0.jwt.interfaces.Claim;.

    2022年6月15日
    113
  • 深度剖析LinkedHashSet「建议收藏」

    深度剖析LinkedHashSet「建议收藏」HashMap是一个利用数组存储key-value键值对的一个数据结构,为了有序的要求,然后我们引入了LinkedHashMap来满足我们对顺序的要求,再到后面我们学习了HashSet这种数据结构,利用的是HashMap的Key的唯一性来实现HashSet的去重的目的LinkedHashSet也HashSet一样也在内部使用了HashMap,因为LinkedHashSet要维持元素之间的顺序,所以它使用的实HashMap的有序版本,也就是LinkedHashMap

    2022年10月12日
    3
  • 在Java Web项目中引入Mondrian多维分析框架

    在Java Web项目中引入Mondrian多维分析框架

    2021年8月31日
    78
  • java静态代理实现_静态注册和动态注册的优缺点

    java静态代理实现_静态注册和动态注册的优缺点思考:以常见的增删改查为例,在执行增删改的时候我们需要开启事务,执行完成后需要提交事务假如说你Service里有100个增删改的方法,那这100个方法里除了你自己真正需要处理的业务逻辑外,每个方法都还需要去关注开启事务,提交事务这些动作。那有没有稍微好点的办法解决呢?于是就出现了代理模式的概念,那什么是代理模式呢?1、什么是代理模式简单来说:代理就是对目标方法进行增强。什么意思呢?…

    2022年10月17日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号