SQL简单入门第一篇

简介: • DQL:• 数据查询语言(凡是带有select关键字的都是查询语句)• DML:• 数据操作语言(凡是对表当中的数据进行增删改的都是DML)如:insert 增 delete删 update改• DDL:• 数据定义语言:凡是带有create,drop,alter的都是DDL,它主要操作的是表的结构。不是表中的数据• TCL:• 事务控制语言:包括:事务提交:commit;事务回滚:rollback;• DCL:

SQL简单入门第一篇

关于SQL语句的分类

  • 分为:
  • DQL:
  • 数据查询语言(凡是带有select关键字的都是查询语句)
  • DML:
  • 数据操作语言(凡是对表当中的数据进行增删改的都是DML)如:insert 增 delete删 update改
  • DDL:
  • 数据定义语言:凡是带有create,drop,alter的都是DDL,它主要操作的是表的结构。不是表中的数据
  • TCL:
  • 事务控制语言:包括:事务提交:commit;事务回滚:rollback;
  • DCL:
  • 数据控制语言:例如:授权grant,撤销权限revoke……

查询所有字段

  • 第一种方式:可以把每一个字段都写上select a,b,c,d,e,f... form 字段名;
  • 第二种方式:可以使用*select * form dept;
    但是这种方式的缺点:1.效率低2.可读性差在实际的开发中不建议,你如果想自己玩玩没问题

起别名

  • 使用as关键字
    select deptno,dname as deptname from dept;
  • 使用as关键字起别名
  • 注意:只是将显示的查询结果列名显示为deptname,原表名还是叫:dname;select语句永远只是进行查询
  • 那么as关键字可以省略嘛?当然是可以的
    select deptno,dname(这里有空格) deptname from dept;
  • 那么如果中间出现空格的话是否还会继续执行呢?会报错就像这样select deptno,dname dept(这里打了空格)name from dept;
  • 那么怎么解决呢?+单引号/双引号
    select deptno, deptno,dname 'dept name' from dept;
    select deptno,deptnp,dname "dept name" from dept;
    但是需要注意的是:在所有的数据库当中,字符串统一使用单引号,这是标准,双引号在Oracle数据库中用不了。

条件查询

  • select
    字段1,字段2,字段3.....
  • from
    表名
  • where
    条件;

都有哪些条件

运算符 说明
= 等于
<>或!= 不等于
< > 小于,大于
<= 小于等于
>= 大于等于
between...and.. 两个值之间
is null 为空
and 并且
or 或者
in 包含
not
like 模糊查询,可以使用%或者下划线,但下划线只匹配单个字符
  • = 等于查询薪资等于800等员工姓名和编号
    select empno,ename from emp where sal =800;
  • <>或!= 不等于查询薪资不等于800的员工姓名和编号
    select empno,ename from emp where sal !=800;
    select empbo,ename from emp where sal <>800;
  • < 小于 >大于
    查询薪资小于800的员工姓名和编号
    select empno,ename from emp where sal<800;
    查询薪资小于800的员工姓名和编号
    select empno,ename from emp where sal>800;
  • <= 小于等于  >=大于等于
    查询薪资小于等于3000的员工姓名和编号
    select empno,ename,sal from emp where sal <=3000;
    查询薪资小于等于3000的员工姓名和编号
    select empno,ename,sal from emp where sal >=3000;
  • between...and... 介于两个值之间
    查询薪资在3000-3500之间的员工姓名和编号
    select empnp,ename,sal from emp where sal between 3000 and 3500;
    注意:使用between and的时候必须左小又大
  • is null  为null
    查询哪些人补助为null
    select empno,ename,sal,comm from emp where comm is null;
    注意:在数据库中null不能使用等号进行衡量。需要使用is null因为数据库中的null代表什么也没有,它不是一个值
  • and 并且
    查询工作岗位是MANACER并且工资大于2500的员工信息
    select empno,ename,job,sal from emp where job = "MANACER" and sal > 2500;
  • or 或者
    查询工作岗位是MANAGER和SALESMAN的员工
    select empno,ename,job from emp where job='MANAGER' or job='SALESMAN';
  • in(‘值1’,‘值2’,...)相当于多个or
    查询工作岗位是MANAGER和SALESMAN的员工
    selecet empno,ename,job from emp where job in('MANAGER','SALESMAN');
    注意:in不是像between and那样是一个区间,而是确确的值
  • not 表示不在这几个值当中的数据
    找出员工薪资不是800,5000,3000
    select ename,sal from emp where job not in(800,5000,3000);
    注意:not主要用在in和is中如:isnull,is not null,in not in;
  • like 模糊查询 %匹配多个字符_匹配一个字符
    找出名字以W结尾的
    select ename from emp where ename like '%W';
    找出名字以Y开始的
    select ename from emp where ename like 'Y%';
    找出第二个字母是A的
    select ename from emp where ename like '_A';
    找出第三个字母是R的
    select ename from emp where ename like '__R%';
    找出名字中含有_的  使用\转义字符
    select ename from emp where ename like '%\ _%'

排序

  • select
    字段名1....
  • from
    表名
  • order by
    字段名1...;
  • 查询所有员工薪资
    select ename,sal from order by sal;
    升序降序
  • desc降序,asc升序
    查询员工名字和薪资,要求按照薪资升序,如果薪资一样的话,再按照名字升序排列
    select ename,sal from emp order by sal asc,ename asc;
  • 了解一下:根据字段的位置也可以排序
    select ename,sal from emp order by 2;-- 表示第二列,但是不太建议这样用,因为如果新添加一列那么就没有用了。健壮性差
  • 综合题:找出工资再2000-5000之间的员工信息,要求按照薪资降序排列
    select ename,sal from emp where sal between 2000 and 5000 order by sal desc;
  • 执行顺序:from>where>select>order by
相关文章
|
2月前
|
SQL 存储 数据管理
SQL数据库的使用指南:从入门到精通
随着信息技术的飞速发展,数据库已成为各类企业和组织不可或缺的一部分。作为最流行的数据库管理系统之一,SQL数据库广泛应用于各种场景,如数据存储、数据管理、数据分析等。本文将详细介绍SQL数据库的使用方法,帮助初学者快速入门,并帮助有经验的开发者深化理解。一、SQL数据库基础首先,我们需要理解SQL数
143 2
|
2月前
|
SQL 数据库
SQL数据库基础语法入门
[link](http://www.vvo.net.cn/post/082935.html)
|
3月前
|
SQL 安全 数据库
从入门到精通:Python Web安全守护指南,SQL注入、XSS、CSRF全防御!
【9月更文挑战第13天】在开发Python Web应用时,安全性至关重要。本文通过问答形式,详细介绍如何防范SQL注入、XSS及CSRF等常见威胁。通过使用参数化查询、HTML转义和CSRF令牌等技术,确保应用安全。附带示例代码,帮助读者从入门到精通Python Web安全。
95 6
|
2月前
|
SQL 安全 关系型数据库
SQL自动化注ru-SQLmap入门操作(一)
SQL自动化注ru-SQLmap入门操作(一)
|
2月前
|
SQL 安全 关系型数据库
SQL自动化注茹-SQLmap入门操作(二)
SQL自动化注茹-SQLmap入门操作(二)
|
4月前
|
SQL 存储 关系型数据库
数据库SQL入门指南
数据库SQL入门指南
|
4月前
|
Java 数据库连接 数据库
告别繁琐 SQL!Hibernate 入门指南带你轻松玩转 ORM,解锁高效数据库操作新姿势
【8月更文挑战第31天】Hibernate 是一款流行的 Java 持久层框架,简化了对象关系映射(ORM)过程,使开发者能以面向对象的方式进行数据持久化操作而无需直接编写 SQL 语句。本文提供 Hibernate 入门指南,介绍核心概念及示例代码,涵盖依赖引入、配置文件设置、实体类定义、工具类构建及基本 CRUD 操作。通过学习,你将掌握使用 Hibernate 简化数据持久化的技巧,为实际项目应用打下基础。
332 0
|
4月前
|
SQL 关系型数据库 数据挖掘
SQL 基础入门简直太重要啦!从零开始,带你轻松掌握数据查询与操作,开启数据世界大门!
【8月更文挑战第31天】在数字化时代,数据无处不在,而 SQL(Structured Query Language)则是开启数据宝藏的关键钥匙。无论你是编程新手还是数据处理爱好者,掌握 SQL 都能帮助你轻松提取和分析信息。SQL 简洁而强大,像一位魔法师,能从庞大数据库中迅速找到所需数据。从查询、条件筛选到排序、分组,SQL 功能多样,还能插入、更新和删除数据,助你在数据海洋中畅游无阻。
48 0
|
4月前
|
SQL 数据库 索引
SQL语言入门:如何表达你的数据需求
在数据库的世界里,SQL(Structured Query Language)是一种至关重要的语言,它允许用户与数据库进行交互,执行数据的查询、更新、插入和删除等操作
|
5月前
|
SQL 关系型数据库 MySQL
【MySQL从入门到精通】常用SQL语句分享
【MySQL从入门到精通】常用SQL语句分享
66 2