iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >SQL常用语句大全
  • 931
分享到

SQL常用语句大全

sql数据库 2023-08-31 09:08:02 931人浏览 独家记忆
摘要

我们在进行开发工作时,对数据库的操作是必不可少的,熟练掌握sql语句可以让我们对数据库的数据处理变得非常简单,所以学习SQL语句是非常有必要的,下面汇总了一些常用的SQL语句 SQL语句的类型 DDL(Data Definition Lan

我们在进行开发工作时,对数据库的操作是必不可少的,熟练掌握sql语句可以让我们对数据库的数据处理变得非常简单,所以学习SQL语句是非常有必要的,下面汇总了一些常用的SQL语句

SQL语句的类型

DDL(Data Definition Language)数据定义语言

DML(Data Manipulation Language)数据操作语言

DQL(Data Query Language)数据查询语言

DCL(Data Control Language)数据控制语言

DDL

DDL是数据定义语言,主要是对数据库和数据表的操作

(1)操作数据库

--创建库create database 库名;--创建库时判断库是否存在,不存在则创建create database if not exists 库名;--查看所有数据库show databases;--使用指定数据库use 库名;--查看当前指定数据库包含的数据表show tables;--查看数据库的结构定义信息show create database 库名;--删除数据库drop database 库名;--修改数据库的字符集为utf8alter database 库名 character set utf8;

(2)操作数据表

--创建表create table 表名(字段1 类型1,字段2 类型2,字段3 类型3,...........);--查看表结构desc 表名;--查看创建表的SQL语句show create table 表名;--修改表名alter table 表名 rename to 新的表名;--添加一个新的字段alter table 表名 add 字段; 字段类型;--修改字段名alter table 表名 rename column 字段名 to 新的字段名;--修改字段类型(注意类型修改前后数据是否兼容)alter table 表名 modify column 字段名 新的字段类型;--删除一个字段alter table 表名 drop 字段名;--删除表drop table 表名;--删除表时判断表是否存在,若存在则删除drop table if exists 表名;

DML

DML是数据操作语言,主要是对数据表的操作

(1)插入数据(insert into)

数据表插入数据分为全字段插入数据和部分字段插入数据

①全字段插入数据(有两种方法,推荐第一种方法)

--有多少个字段,就要写多少个值,且是一一对应的insert into 表名 values(值1,值2,值3...值n);--此方法要写出所有字段,并一一对应插入值insert into 表名(字段1,字段2...字段n) values(值1,值2...值n);

②部分字段插入数据

--部分字段插入数据,只写需要插入数据的字段名insert into 表名(字段1,字段2...) values(值1,值2...);

(2)删除数据(delete / truncate)

--删除表中所有数据delete from 表名;--删除表中指定的数据delete from 表名 where 字段 = 值;--删除表中所有数据(先删除整张表,然后创建一张一样的空表,此方法更高效)truncate table 表名;

(3)修改数据(update)

--无限制条件的修改,会修改整张表update 表名 set 字段 = 值;--有限制条件的修改,只修改特定记录update 表名 set 字段 = 值 where 条件(字段 = 值);

 DQL

DQL是数据查询语言,主要就是select配合其他限制条件的关键字进行查询

(1)无条件查询

--查询表中所有数据select *from 表名;

(2)查询在...到...之间(between and / && / and)

--查询users表中年龄在18~25岁之间的记录--方式1 between..and..select *from users where age between 18 and 25;--方式2 &&select *from users where age>=18 && age<=25;--方式3 andselect *from users where age>=18 and age<=25;

(3)指定条件查询

①单个条件(or / in)

--查询users表中年龄为18,20,25岁的记录--方式1 orselect *from users where age=18 or age=20 or age=25;--方式2 inselect *from users where age in(18,20,25);

②多个条件(and)

--查询users表中年龄为23,性别为女,名字为小楠的记录select *from users where age=23 and gender='女' and name='小楠'; 

(4)查询不为NULL值(is not null),为NULL值(is null)

--查询users表中序号不为空的记录select *from users where id is not null;--查询user表中序号为空的记录select *from users where id is null;

(5)模糊查询(like)

_:单个任意字符%:多个任意个字符--查询users表中姓名第一个字为李的记录select *from users where name like '李%';--查询users表中姓名第二个字为李的记录select *from users where name like '_李%';--查询users表中姓名含有李字的记录select *from users where name like '%李%';--查询users表中姓名是两个字的记录select *from users where name like '__';

(6)去除重复记录查询(distinct)

--查询users表中所在城市不相同的记录--select distinct 字段 from 表名;select distinct city from users;

(7)排序查询(order by)

①单个条件

--查询users表中记录,并以年龄升序排序select *from users order by age; --默认升序--查询users表中记录,并以年龄降序排序select *from users order by age desc;--desc降序

②多个条件

注意:多个排序条件时,只有当第一个排序条件值一样,才会执行第二个排序条件,以此类推

--查询users表中记录,并体育成绩降序,年龄降序select *from users order by PE desc,age desc;

(8)聚合函数

①计算和(sum)

select sum(字段) (as sumvalue) from 表名;

②计算最大值(max)

select max(字段) (as maxvalue) from 表名;

③计算最小值(min)

select min(字段) (as minvalue) from 表名;

④计算平均值(avg)

select avg(字段) (as avgvalue) from 表名;

⑤计算个数(count)

select count(字段) (as totalcount) from 表名;

(9)分组查询(group by)

--查询users表中的记录,按照性别分组,查询男,女的体育成绩平均分select gender,avg(PE) from users group by gender;--查询users表中的记录,按照性别分组,分别查询男、女的体育成绩平均分,人数select gender, avg(PE),count(id) from users group by gender;--查询users表中的记录, 按照性别分组,分别查询男、女的体育成绩平均分,人数 要求:分数低于60分的人,不参与分组select gender, avg(PE),count(id) from users where PE > 60 group by gender;  --查询users表中的记录,按照性别分组,分别查询男、女的体育成绩平均分,人数 要求:分数低于60分的人,不参与分组,分组之后,人数要大于2个人select gender,avg(PE),count(id) from users where PE > 60 group by gender having count(id)>2;

(10)分页查询(limit)

注意:第一条记录的索引是0

--查询users表中的前10行条记录select *from users limit 10;--查询users表中第2~11条记录 (从第2条记录开始累加10条记录)select *from users limit 1,10;--查询users表中第5~17条记录 (从第5条记录开始累加13条记录)select *from users limit 4,13;

(11)内连接查询

如果查询数据的来源来自多张表,则必须对这些表进行连接查询,连接是把不同表的记录连到一起的最普遍的方法,通过连接查询可将多个表作为一个表进行处理,连接查询分为内连接和外连接

语法格式

--语法1 (隐式内连接)select 字段1,字段2...from 表1,表2...where 过滤条件;--语法2 (显式内连接)select 字段1,字段2...from 表1 inner join 表2 ...on 过滤条件;

例如这里有两张表: user表和city表

 重合的部分就叫做内连接查询,例如下面过滤条件指的就是当两个表的id相等时才符合连接查询的条件

隐式内连接

显式内连接

 (12)外连接查询

外连接查询分为左外连接查询和右外连接查询

语法

--左外连接select 字段1,字段2..from 表1 left (outer) join 表2 on 过滤条件;--右外连接select 字段1,字段2..from 表1 right (outer) join 表2 on 过滤条件;

区别如下

左外连接:是表1和表2的交集再并上表1的其他数据

右外连接:是表1和表2的交集再并上表2的其他数据

举个例子,例如还是上面两张表,user表和city表

左外连接结果

右外连接结果

看到结果大家明白左,右外连接的区别了吗,在实际应用中,我们要结合实际的需求来决定使用左外连接还是右外连接

  (13)子查询

子查询:其实就是查询语句中嵌套查询语句

例如还是刚才的user表,只不过新增了一个字段age

问题:查找出表中年龄最大的那个人的那条记录

常规想法:

①先计算出年龄最大的值 

②根据已知年龄的最大值查找相关记录

这样需要两条sql语句,甚至如果遇到更复杂的问题,需要更多sql语句

利用子查询:

而子查询只需要用一条sql语句就够了 

子查询的查询结果是可以作为判断条件的

如果子查询结果是单行单列的,可以用运算符做判断条件:< <= > >= =

例如还是user表,查找小于最大年龄的所有记录

如果子查询结果是多行单列的,可以用运算符in做判断条件

子查询查找出了最小年龄者的姓名,然后作为判断条件输出这些人的记录

DCL

(1)管理用户

①添加用户

create user '用户名'@'主机名' identified by '密码';

②删除用户

drop user '用户名'@'主机名';

 (2)权限管理

 ①查询权限

show grants for '用户名'@'主机名';

②授予权限

--语法grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';--授予faker用户所有权限,在任意数据库任意表上grant all on *.* to 'faker'@'localhost';

③撤销权限

--语法revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';--撤销faker用户对test数据库中city数据表的权限revoke update on test.city from 'faker'@'localhost';

看完文章对你有帮助的话,就点个赞吧~

点赞关注收藏是对我最大的支持~ 

来源地址:https://blog.csdn.net/m0_71741835/article/details/127624612

您可能感兴趣的文档:

--结束END--

本文标题: SQL常用语句大全

本文链接: https://www.lsjlt.com/news/385131.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SQL常用语句大全
    我们在进行开发工作时,对数据库的操作是必不可少的,熟练掌握SQL语句可以让我们对数据库的数据处理变得非常简单,所以学习SQL语句是非常有必要的,下面汇总了一些常用的SQL语句 SQL语句的类型 DDL(Data Definition Lan...
    99+
    2023-08-31
    sql 数据库
  • 常用的SQL查询语句大全
    这篇文章主要讲解了“常用的SQL查询语句大全”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“常用的SQL查询语句大全”吧!一、基础1、说明:创建数据库CREA...
    99+
    2024-04-02
  • 史上超强最常用SQL语句大全
    目录DDL(Data Definition Language)数据定义语言一、操作库二、操作表一、增加 insert into二、删除 delete三、修改 updateD...
    99+
    2023-02-10
    最常用SQL语句 SQL语句大全
  • SQL语句大全(3)
    1、1=1,1=2的使用,在SQL语句组合时用的较多 “where 1=1” 是表示选择全部    “where 1=2”全部不选, 如: if @strWhere !=''  begin set @strSQ...
    99+
    2023-01-31
    语句 大全 SQL
  • SQL语句大全(详解)
    SQL 前言1 DDL1.1 显示所包含的数据库1.2 创建数据库1.3 删除数据库1.4 使用数据库1.4.1 创建表1.4.2 查看表的结构1.4.3 查看当前数据库下的所有表1.4.4 ...
    99+
    2023-10-26
    sql 数据库 mysql
  • SQL数据库语句大全
    目录基础创建数据库删除数据库备份sql server创建 备份数据的 device开始 备份创建新表根据已有的表创建新表:删除新表增加一个列添加主键删除主键创建索引删除索引创建视图删...
    99+
    2024-04-02
  • MongoDB中的常用语句总结大全
    前言 MongoDB与MySQL基本语句还是有很大区别的,今天再介绍一下MongoDB的一些常用的基本语句,下面话不多说了,来一起看看详细的介绍吧 MOngoDB  删除语句 delete()删...
    99+
    2024-04-02
  • 常用SQL语句整理
    -----表空间使用率----- ...
    99+
    2024-04-02
  • Mybatis超级强大的动态SQL语句大全
    目录1. If 语句2. Where语句2.1 和 where 元素等价的自定义 trim 元素3. Set语句3.1 与 set 元素等价的自定义 trim 元...
    99+
    2024-04-02
  • postgresql 常用SQL语句小结
    目录1、查询链接数2、查看死锁状态3、删除死锁进程4、备份数据库5、还原数据库6、插入数据插入单条数据插入多条数据从一张表查询到的数据插入到另一张表7 、查询pg中单张表的大小(不包含索引)8、查询数据库中所有表的大小9...
    99+
    2022-11-19
    postgresql 常用SQL
  • 常用的sql语句总结
    这篇文章主要介绍“常用的sql语句总结”,在日常操作中,相信很多人在常用的sql语句总结问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”常用的sql语句总结”的疑惑有所帮助!接...
    99+
    2022-11-30
    sql
  • 常用SQL语句有哪些
    这篇文章将为大家详细讲解有关常用SQL语句有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。说明:以下五十个语句都按照测试数据进行过测试,最好每次只单独运行一个语句。问...
    99+
    2024-04-02
  • MySQL高级进阶sql语句总结大全
    目录SELECTDISTINCTWHEREAND ORINBETWEEN通配符LIkeORDER BY函数city表格字符串函数常用函数实例:concatsubstr...
    99+
    2024-04-02
  • mysql数据库操作_高手进阶常用的sql命令语句大全
    mysql数据库操作sql命令语句大全:三表连表查询、更新时批量替换字段部分字符、判断某一张表是否存在、自动增长恢复从1开始、查询重复记录、更新时字段值等于原值加上一个字符串、更新某字段为随机值、复制表数据到另一个表、创...
    99+
    2022-11-20
    mysql sql语句 sql命令
  • DBA常用SQL语句有哪些
    DBA常用SQL语句有哪些,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。 select tablespace_...
    99+
    2024-04-02
  • postgresql常用的sql语句分享
    这篇文章主要介绍“postgresql常用的sql语句分享”,在日常操作中,相信很多人在postgresql常用的sql语句分享问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2024-04-02
  • T-SQL中常用的set语句
    1、SET ANSI_DEFAULTS { ON | OFF }示例: SET ANSI_DEFAULTS ON; DBCC USEROPTIONS; SET ANSI_DEFAULTS OFF; ...
    99+
    2024-04-02
  • 常用的SQL语句有哪些
    本篇内容介绍了“常用的SQL语句有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ~~~~~~~数据库...
    99+
    2024-04-02
  • mysql数据库操作_高手进阶常用的sql命令语句大全 原创
    mysql数据库操作sql命令语句大全:三表连表查询、更新时批量替换字段部分字符、判断某一张表是否存在、自动增长恢复从1开始、查询重复记录、更新时字段值等于原值加上一个字符串、更新某...
    99+
    2022-11-21
    mysql sql语句 sql命令
  • 常用SQL语句指的是哪些
    这篇文章将为大家详细讲解有关常用SQL语句指的是哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1.SQL 插入语句得到自动生成的递增ID值代码如下: ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作