Oracle数据库基础(二)
1.表名命名规则:必须以字母开头,不能超过30个字符,不要有Oracle保留字
2.数据类型
字符型:
char :2000个字符 定长 效率高
varchar2:4000个字符 变长
Clob:字符型大对象 4G
数字型:
number 范围:-10^38~10^38
sal number(5) -99999~99999
sal number(7,2) -99999.99~99999.99 7位有效数字,2位小数
日期类型:
date 年月日 时分秒
timesatmp 对date类型的拓展 毫秒
图片
blob 二进制数据 存放图片,音频等
一般不对图片和音频进行存储,而是存储其路径
3.建表语句
create table student(id number(2),name varchar2(10),sex
char(4),birthday date,sal number(7,2),comm number(3),class_number
number(2));
添加字段:
alter table tableName add(字段名 数据类型(长度)))
alter table student add(score number(3));
修改字段长度/数据类型/字段名(前提:保证修改的表内不能存数据)
alter table tableName modify(字段名 数据类型(长度));
alter table student modify(comm number(4));
alter table student modify(class_number varchar2(4));
删除字段:
alter table tableName drop column 字段名
重命名
rename oldName to newName
rename student to stu
删除表
drop table tableName
4.对数据操作
4.1增加数据:
每个字段都有数据:insert into tableName
(id,name,age,sex,score,sal,comm,class_number,birthday)
values(2,'andy',30,'女',21,567,12,1,'21-2月-92');
修改时间格式:alter session set nls_date_format='yyyy-mm-dd';
部分字段有数据:insert into student(id,name,age,sex,birthday,sal) values(7,'Bob',30,'男','1983-4-24',9483);
inset into student(id,name,age,sex,birthday,sal) values(8,'ku',29,'男','1929-3-12',null);
查找工资为空的人:select * from student where sal is null;
不为 select * from student where sal is not null;
4.2修改数据
修改单个字段:update student set id=2 where name='james';
修改多个字段:update student set score=80,sal=10000 where name='james';
将女性工资下调一半:update student set sal=sal/2 where sex='女';
4.3删除数据
delete from student; 删除所有数据 可回滚
savepoint
rollback to 设置节点,可将删除的操作回滚
truncate table student 不可回滚
drop table student 删除表中数据和表结构
delete froom student where name='ku';
4.4查询数据
查表结构:desc table student;
查询所含有的列:select * from student
查询指定的列: select name from student;
查询多行:select name,age from student;
set timming on;
查询gai的工资和年龄:
select sal,age from student where name='gai';
查询gai的年薪:
select sal*12 from student where name='gai';
给年薪起别名
select sal*12 "年薪" from student where name='gai';
字段拼接:
select name||age from student;
select name||'的年龄是'||age from student;
查询所有同学年终工资:
select name||'工资'||sal*12+comm*12 from student;
(奖金为空,年工资为空)==>
处理null值:nvl(comm,0)*12
select name||'工资'||sal*12+nvl(comm,0)*12 from student;
where字句
查询工资低于5000的学生:
select name from student where sal<=5000;
查询生日在1990-1-1后的学生:
select name from student where birthday>'1990-1-1';
like字句(%可代表0-n个任意字符,_可代表任意单个字符)
select sal,name from student where name like 's%';
in字句:
查询3班所有学生姓名:
select name from student where class_number in 3;
Oracle数据库基础(二)的更多相关文章
- Oracle数据库基础入门《二》Oracle内存结构
Oracle数据库基础入门<二>Oracle内存结构 Oracle 的内存由系统全局区(System Global Area,简称 SGA)和程序全局区(Program Global Ar ...
- Oracle数据库基础入门《一》Oracle服务器的构成
Oracle数据库基础入门<一>Oracle服务器的构成 Oracle 服务器是一个具有高性能和高可靠性面向对象关系型数据库管理系统,也是一 个高效的 SQL 语句执行环境. Oracle ...
- 第一章 oracle数据库基础
第一章 oracle数据库基础 1.oracle简介-->数据库管理系统 1.1:数据库 1.2:全局数据库名 1.3:数据库实例 1.4:表空间 1.5:数据 ...
- Oracle数据库基础知识
oracle数据库plsql developer 目录(?)[-] 一 SQL基础知识 创建删除数据库 创建删除修改表 添加修改删除列 oracle cascade用法 添加删除约束主键外 ...
- Oracle 数据库基础——安装
一.数据库基础知识 1.概念 数据库全称数据库管理系统,简称DBMS,是一种在计算机中,针对数据进行管理.存储.共享的一种技术. 2.分类 数据库的发展过程中,按逻辑模型可分为以下几种: 3.关系型数 ...
- 【学习笔记】Y2-1-1 Oracle数据库基础
Oracle 简介关系型(二维表)数据库 用来存储海量数据在大数据量的并发检索的情况下,性能要高于其他同类数据库产品一般运行环境是Linux和UnixOracle版本中的I(Internet) G(G ...
- Oracle 数据库 基础学习 (一) SQL基本知识
Oracle 从零开始,不知所措.要掌握一种技能,最好的方式是先学会怎么使用它,然后再深入学习,先有样子,再有技术. 一,什么是数据库? 为什么需要数据库? 数据库实质上是一个信息的列表,或者是一 ...
- Oracle数据库 基础SQL语句练习
一.说明 第一次使用Oracle,想做一些练习,熟悉一些oracle. 表:使用的是scott用户,默认的表 具体表讲解,可以参考该文档:https://www.cnblogs.com/xjcheng ...
- Oracle数据库基础教程
Oracle基础 简介 数据库实例 表空间 登录身份和角色 用户和授权 数据类型 数据操作 导入数据库 一.Oracle基础: 1.简介 Oracle创建数据库不能像SQL Server那样用一个简单 ...
- [转载]Oracle数据库基础--SQL查询经典例题
Oracle基础练习题,采用Oracle数据库自带的表,适合初学者,其中包括了一些简单的查询,已经具有Oracle自身特点的单行函数的应用 本文使用的实例表结构与表的数据如下: emp员工表结构如下: ...
随机推荐
- 【Oracle】ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired
出现此错误的原因是因为事务等待造成的,找出等待的事务,kill即可. 下面是我当时遇到的错误: ---删除表t1时出现错误 SCOTT@GOOD> drop table t1; drop tab ...
- 将自己的类封装为lib的方法
前言: Windows API中所有的函数都包含在dll中,其中有3个最重要的DLL. (1) Kernel32.dll 它包含那些用于管理内存.进程和线程的函数,例如CreateThread函数 ...
- Java中的自动转换
特点: 1. 系统自动完成的,不需要程序员手动修改代码 2.将 取值范围小的类型 自动提升为 取值范围大的类型 注意: 整数类型直接写会默认为int 小数类型直接写默认为double 类型的范围大小 ...
- H3C交换机telnet服务认证模式配置
以H3C交换机为例,介绍telnet服务的三种认证方式配置(none无需认证,password密码认证,scheme账户+密码认证) None认证模式配置步骤:[H3C]telnet server e ...
- Day 14 匿名函数
递归之二分法 def sc_func(num,lis): lis_len=int(len(lis)/2) binary_num=lis[lis_len] # print(binary_num) if ...
- python指定日期后加几天判断
#!/usr/bin/python import datetime import sys arg1_list=list(sys.argv[1].split(',')) arg2_list=list(s ...
- [USACO17JAN]Promotion Counting
线段树合并. 正解好像不是线段树合并,但是出于练手的目的写了线段树合并. 大概就是对于左右子树,如果有一个为空,返回非空的,如果都不为空,就把这两个整合到一起就行了. #include <ios ...
- 不引用第三方变量交换a和b的值
方法一:(可操作字符) a = a^b; b = a^b; a = a^b; 方法二:(可操作字符) a=a+b; b=a-b; a=a-b; 方法三:(不可以操作字符) a=a*b; b=a/b; ...
- 小学生都能学会的python(一)2018.9.3
一,小学生第一天 1,认识和了解python python的创始⼈为吉多·范罗苏姆(Guido van Rossum). python是一门解释性语言 弱类型语言 优点:(1).Python的定位是 ...
- 经纬度计算两点间的距离,根据距离排序SQL
#java的Utilspublic class DistanceUtil { // 地球平均半径 private static final double EARTH_RADIUS = 6378137; ...