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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • as安装HAXM报错

    as安装HAXM报错解决办法:1.。查看电脑bios中是否开启intelvirtualtechnology2。打开sdkmanager安装intelx86RmulatorAccelerator(HAXM)

    2022年6月28日
  • ROS教程(一):ROS安装教程(详细图文)

    ROS教程(一):ROS安装教程(详细图文)前言关于ROS(RobotOS机器人操作系统),估计看这个教程的人已经大概知道是啥了,我在这就不废话了。首先对于ROS的安装,在它的官方网站:http://wiki.ros.org/ROS/Installation中有详细说明。但是。。。上面的教程都是英文的,如果感觉略有压力(本人就是)。所以文章目录前言一、版本选择二、开始安装2.1软件中心配置2.2添加源2.3安装2.4配置ROS环境到系统三、验证ROS

    2022年6月4日
  • Django(72)Django认证系统库–djoser「建议收藏」

    Django(72)Django认证系统库–djoser「建议收藏」djoser是什么?作用:Django认证系统的REST实现。djoser库提供了一组DjangoRestFramework视图,用于处理注册、登录、注销、密码重置和帐户激活等基本操作。它适用于

    2022年7月29日
  • 汇编指令之移位指令[通俗易懂]

    汇编指令之移位指令[通俗易懂]   移位指令包括了算术移位指令、逻辑移位指令、循环移位指令。    格式为:xxxoper1,CL/1       ;移位次数只能是1或者存放在CL里面。一、算术移位指令1、算术左移指令SAL功能:左移一次,最低位补0,最高位送入CF标志位,如图:意义:左移n次,等于x2的n次幂。所以可用于有符号操作数做x2的n次幂运算。2、算术右移指令SAR功能:右移一次,最高位保持不变,最低位送入…

    2022年4月28日
  • 软件的静态测试_软件测试静态测试和动态测试的区别

    软件的静态测试_软件测试静态测试和动态测试的区别静态测试通常是指不执行程序代码而寻找代码中可能存在的错误或评估程序代码的过程。静态测试的主要内容:①各阶段的评审、②代码检查、③软件复杂性分析、④软件质量度量①评审是对软件元素或项目状态进行评估的活动,用以确定与预期结果之间的偏差和相应的改进意见,一般评审包括培训评审、预备评审、同行评审。同行评审是由开发软件产品作者以外的其他人检查工作产品,以发现缺陷并寻找改进的机会同行评审一般包

    2022年10月29日
  • LeetCode18:4Sum

    LeetCode18:4Sum

    2022年1月17日

发表回复

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

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