SQL介绍及查询
来源:互联网 发布:http压力测试软件 编辑:程序博客网 时间:2024/05/16 18:29
1. SQL语句 是一种语言 符合ANSI 标准 关键字不能缩写 使用语句控制数据库中的表的定义信息和表中的数据 SQL是structured Query Language(结构化查询语言)的缩写。可以使用sql语句建立或删除数据库的对象,插入,修改和更新数据库中的数据,并且可以对数据库执行各种日常管理的操作。它是所有关系数据库管理系统的标准语言.换句话说使用sql可以对所有的关系数据库进行操作。 2. SQL*Plus命令 是一种环境 Oracle 的特性之一 关键字可以缩写 命令不能改变数据库中的数据的值 集中运行 3.使用SQL*Plus可以: 描述表结构。 编辑 SQL 语句。 执行 SQL语句。 将 SQL 保存在文件中并将SQL语句执行结果保存在文件中。 在保存的文件中执行语句。 将文本文件装入 SQL*Plus编辑窗口。 4.SQL查询 1.数据类型: 数据是信息数字表现形式,信息的加工处理是以大量的结构化数据为载体进行的,数据库管理系统的核心是数据库,数据库的主要对象是表,表是结构化数据存储的地方. Oracle系统也提供了大量的数据类型主要包括两大类: 1、 用户自定义的数据类型 2、 内置的数据类型 字符型:字符数据类型可以用于声明包含了多个字母数字数据的字段。 1、 固定长度的字符类型 char:用于存储固定长度的字符,一旦声明长度固定(不论你存储的实际大小,但是大 小绝对不能大于声明的长度)长度不足时,采用空格补充。1B的默认大小,最大尺寸为2000B。 Nchar与char的解析是一样的不过,ncarh存储的是Unicode字符数据。 2、 可变长度的字符类型 varchar与char类似,但是它是用于存储可变的字符串,而char用于存储固定的字符串。 Nvarchar与varchar解析是一样的,不过nvarchar用于存储的数据位 双字节的数据。 日期型 date 短日期格式( Timestamp长日期格式(1990-10-10 10:10:10) 数字型 Number(2),代表:声明一个2位数字的整数。 Number(3,2)代表:声明为3数字位,并且小数后有2位。 文本型-?lob数据类型 Blob:可以存储图像,音频文件及视频等文件。 Clob:字符格式的大型对象,oracle数据?unicode格式的编码 Bfile:用于存储二进制格式的文件。 rowid 伪劣类型:用于在oracle内部保存表中的每条记录的物理地址。 2.SQL按照功能分类: 数据库定义语句: DDL(Data Definition Language):用于创建、修改、删除数据库对象。 数据库操作语 DML(Data Manipulation Language)用于:查询,添加修改或删除存在数据库对象中的数据。 数据库控制语句DCL DCL(Data Control Language)用于控制访问数据库中特定对象的用户、grant revoke Oracle系统中经过对Sql语言扩展被称为PL/SQL语言。 基本的sql语句 SELECT *|{[DISTINCT] column|expression [alias],...} FROM table; 3.Condition(s)要使用到比较运算符常用的比较运算符如下: 操作符 含义 = 等于 > 大于 >= 大于等于 < 小于 <= 小于等于 <> 不等于 等效于!= 其它操作 And 逻辑运算 逻辑与 Or 逻辑运算 逻辑或 Not 逻辑运算 逻辑否 Between 起始值 and 结束值:使用 BETWEEN 运算来显示在一个区间内的值包含(起始结束值) In:使用 IN运算显示列表中的值。 In(,,,)相当于一个集合,只要出现集合中匹配的就显示 Like:使用 LIKE 运算选择类似的值 ? 选择条件可以包含字符或数字: % 代表零个或多个字符(任意个字符)。 _ 代表一个字符。 Escape: 回避特殊符号的:使用转义符。例如:将[%]转为[/%]、[_]转为[/_],然后再加上[ESCAPE ‘/’] 即可 Null: 使用 IS (NOT) NULL 判断空值。 4.运算符优先级表格: 优先级 1 算术运算 2 连接符 3 比较符 4 Is not null like not in 5 Not between 6 not 7 and 8 Or 备注:可以采用括号改变优先级 5.查询语句(基本查询,别名查询): 1、表查询某个表中的所有数据. SQL> select * from emp; 查询某个表中的特殊的列 SQL> select hiredate from emp; HIREDATE ----------- 2、 采用别名查询 SQL> select hiredate as 日期 from emp; 日期 ----------- 备注:as也可以省略 SQL>select e.hiredate from emp e; //表的别名 HIREDATE ----------- 6.条件查询 案例:查询部门号为10的员工信息 部门为整数类型 SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where deptno=10; 查询职位号为MANAGER的员工信息 岗位的类型为字符类型 SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where job='MANAGER'; 案例:查询部门号为10并且员工的职位为MANAGER的员工信息 SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where job='MANAGER' and deptno=10; 注意:字符和日期要包含在单引号中。 字符大小写敏感,日期格式敏感。 ?默认的日期格式是 DD-MON-RR。 案例:查询部门号大于10的员工信息 SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where deptno>10; 案例:查询薪水大于等于3000的员工信息 SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal>=3000; 案例:查询薪水不等于3000的员工信息 SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal<>3000; SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal !=3000; 案例:查询薪水大于2000并且小于3000的员工信息 SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal>2000 and sal<3000; 案例:查询薪水大于等于2000并且小于等于3000的员工信息 SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal between 1600 and 3000; //等效于 SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal>=1600 and sal<=3000; 案例:查询部门号位10,20的员工信息 SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where deptno in(10,20); 注意:相当于如下操作: SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where deptno =10 or deptno=20; 案例:查询员工名称以S开头的员工信息 SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like 'S%'; 案例:查询员工名称以S结尾的员工信息 SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like '%S'; 案例:查询员工名称第三个字符为N的员工信息 SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like '__N%'; 案例:查询员工名称中含有N的员工信息 SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like '%N%'; 案例:查询员工名称中倒数第二个字符为%的员工信息 SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like '%/%_'escape'/'; 案例:查询员工名称总含有%的员工信息 SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like '%/%%'escape'/'; 案例:查询奖金为null的员工信息 SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where comm is null; 案例:查询奖金非null的员工信息 SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where comm is not null; 7.SQL插入语句: 1. 向表中插入一条新的(全字段)记录 SQL> insert into emp(empno,ename,job,mgr,hiredate,sal,comm,deptno) values(1111,'test','test','7369',to_date(' 或者写成 SQL> insert into emp values(2222,'test','test','7369',to_date(' 2.都过查询即可看到结果 SQL> select * from emp; 3.向表中插入一条新的(部分字段)记录 SQL> insert into emp(empno,ename,hiredate,deptno)values(3333,'test',to_date(' 注意:在插入操作的时候如果有关联,一定要插入相应关联的字段的值. 备注:插入之后都需要手动的提交 commit; SQL> commit; Commit complete 8.Order by 子句 使用 ORDER BY 子句排序 ,ORDER BY 子句在SELECT语句的结尾。默认的是升 序(asc)查询 ASC(ascend): 升序 DESC(descend): 降序 案例:查询员工信息按照部门的编号进行升序排列 默认的是 asc SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp order by deptno; 案例:查询员工信息按照部门的编号进行降序排列 使用desc SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp order by deptno desc; 案例:查询部门为20的员工信息并按照员工的编号进行升序排列 SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where deptno=20 order by empno asc; 备注:可以与条件语句结合使用但order by子句放在最后 案例:查询员工信息并按照员工的部门编号升序并且编号进行降序排列 SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp order by deptno asc,empno desc; 备注:理解思路:首先查询员工信息按照部门的编号进行升序,然后每个部门中的员工按照员工的编号进行降序排列
- SQL介绍及查询
- SQL介绍及查询
- oracle:sql介绍及SQL基本查询
- 原创:oracle:sql介绍及SQL基本查询 (四)
- SQL查询效率介绍及9个注意事项
- sql连接查询介绍
- 原创:oracle:sql介绍及SQL基本查询 <四>
- sql查询及分页
- hibernate native sql 查询介绍
- SQL模糊查询及通配符
- SQL查询数据表及字段
- sql查询练习题及答案
- SQL常用查询及示例
- 高级查询(SQL)及SQL效率优化
- SQL常用查询更新介绍(DML)
- SQL查询语句精华使用简要介绍
- sql查询条件on where having 介绍
- LINT TO SQL 介绍(数据库查询)
- 今天在lamp群里遇到的两个问题及解决方法
- 32位二进制数转BCD码
- 开始新的IT学习
- 学生成绩管理系统
- 图案
- SQL介绍及查询
- 比較兩個字符串之間的相同與不同之處
- 如何计算结构体的大小
- 关于未来互联网的设想
- Xampp的有用操作
- 其它记录
- JAVA我的梦
- 菜鸟如何进步
- linux下ifconfig配置网络