oracle数据学习第一天
SQL(Strutured Query Language):结构化查询语言
SQL可分为:
<1>数据定义语言(DDL):Data Definition Language
用于建立、修改、删除数据对象(数据库,表之类):
(1)create:创建表或其他对象的结构
(2)alter:修改表或其他对象的结构
(3)drop:删除表或其他对象的结构
(4)truncate:删除表数据,保留表结构
<2>数据操作语言(DML):Data Manipulation Language
用于改变表中的数据(记录),和事务相关,执行后经过事务控制语句提交后才能真正将改变应用到数据库中:
(1)insert:将数据插入到数据库中
(2)update:更新数据表中已存在的数据
(3)delete:删除数据库表中的数据
<3>事务控制语言(TCL):Transaction Control Language
用与维护数据一致性的语句:
(1)commit:提交,确实已进行的数据改变
(2)rollback:回滚,取消已经进行的数据改变
(3)savepoint:保存点,使当前的事务可以回退到指定的保存点,便于取消部分操作
<4>数据查询语言(DQL):Data Query Language
用于插叙查询所需要的数据:
select语句
<5>数据控制语言(DCL):Data Control Language
用于执行权限的授予和收回操作
(1)grant:授予,用于给用户或角色授予权限
(2)remove:用于收回用户或角色的已用的权限
(3)create:创建用户
(一)oracle数据类型
<1>number(p,s):表示数值类型
-p表示数值的总位数
-s表示数值的精度(小数位位数)
-number(p,0)表示整数,也可写成number(p)
<2>char(n):表示固定长度的字符类型(字符串是用单引号括起来)
-n表示字符的字节数长度(不是字符个数),固定不变,最长为2000字节
<3>varchar(n):表示变长的字符类型(字符串是用单引号括起来)
-n表示最多可存的字符串字节长度,可存的长度是实际字符长度,最长为4000字节
<4>date:用于定义日期的数据
-长度是7字节
-默认格式是:DD-MON-RR,例:11-APR-71
-sysdate表示系统默认时间
-在操作数据是时,可以使用数据库自带to_date('1987-11-09','yyyy-mm-dd')来设置和修改date类型的值
(二)表的增删改查(CRUD)----DDL
<1>创建表:
create table 表名(
字段1 类型(长度) [约束条件],
字段2 类型(长度) [约束条件],
...
字段n 类型(长度) [约束条件]
);
注:最后一个字段没有逗号.
<2>删除表:
drop table 表名;
<3>修改表:
(1)修改表名
rename 旧表名 to 新表名;
(2)修改表结构:(可理解为字段的增删改)
(2.1)增加字段:可以一次增加一个或多个(多个用逗号隔开,最后一个没有逗号),只可以添加到现有字段的末尾
alter table 表名 add (
字段1 类型(长度) [约束条件],
字段2 类型(长度) [约束条件],
...
字段n 类型(长度) [约束条件]
);
(2.2)删除已有字段:可以一次删除一个或多个(多个用逗号隔开,最后一个没有逗号)
alter table 表名 drop(字段1,字段2,...,字段n);
(2.3)修改已有字段:可以一次修改一个或多个(多个用逗号隔开,最后一个没有逗号)
alter table 表名 modify(
字段1 类型(长度) [约束条件],
字段2 类型(长度) [约束条件],
...
字段n 类型(长度) [约束条件]
);
(4)查看表结构:
desc 表名;
(三)表中数据(记录)增删改查----(DML)
<1>增:插入一条记录:(推荐使用第一种)
(1) insert into 表名(字段1,字段2,...,字段n) values (值1,值2,...,值n);
注:字段和值必须一一对应,有多少字段就得有多少对应的值.
(2)insert into 表名 values(值1,值2,...,值n);
注:表中定义了多少字段就得有多少值(不可缺),而且是按表中字段的顺序设定值.
<2>删:删除表中数据
delete from 表名 [where 条件表达式];
注:如果没有条件表达式,则会删除表中所有数据.
也可用DDL中的:truncate table 表名;来删除全部记录,不过不受事务控制,删除就无法恢复(效率高)
<3>改:修改记录中的一个或多个值
update 表名 set 字段1=值1,字段2=值2,...,字段n=值n [where 条件表达式];
注:如果没有条件表达式,将会修改所有记录中的修改的字段.
<3>查:查看表中数据(所有记录) (重中之重)
select语句;
oracle数据学习第一天的更多相关文章
- Oracle数据库学习第一天
crud 增删改查 create read update delete1--oracle数据库的安装 系统默认创建两个用户 sys和system 密码自定义 超级管理员:sys 管理员:system ...
- Asp.Net MVC4 + Oracle + EasyUI 学习 第一章
Asp.Net MVC4 + Oracle + EasyUI 第一章 --操作数据和验证 本文链接:http://www.cnblogs.com/likeli/p/4234238.html 文章集合 ...
- oracle数据学习第二天
今天主要加强了对oracle数据库的数据类型一些相关函数的学习 (一)char和varchar2 字符串函数 <1>concat(char1,char2)字符串连接函数,用于连接两个字 ...
- Asp.Net MVC4 + Oracle + EasyUI 学习 序章
Asp.Net MVC4 + Oracle + EasyUI 序章 -- 新建微软实例 本文链接:http://www.cnblogs.com/likeli/p/4233387.html 1. 简 ...
- oracle学习 第一章 简单的查询语句 ——03
1.1最简单的查询语句 例 1-1 SQL> select * from emp; 例 1-1 结果 这里的 * 号表示全部的列.它与在select 之后列出全部的列名是一样的.查询语句以分号( ...
- Oracle 查询出来的数据取第一条
Oracle 查询出来的数据取第一条 --------------------------------------------------------------------------- 转载自:h ...
- oracle 分组取第一行数据 ,查询sql语句
oracle 分组取第一行数据 SELECT * FROM ( SELECT ROW_NUMBER() OVER(PARTITION BY x ORDER BY y DESC) rn, t.* FR ...
- Oracle取查询结果数据的第一条记录SQL
Oracle取查询结果数据的第一条记录SQL: ; ;
- Java学习第一天
Java学习第一天 对于网络管理员或者黑客必须知道的八个cmd命令 详情请参考:http://www.2cto.com/os/201608/533964.html nbtstat ...
随机推荐
- WCF实现客户端自动更新
IServiceUpdate using System.IO; using System.ServiceModel; using System.ServiceModel.Web; namespace ...
- C# 托管资源与非托管资源
在.net 编程环境中,系统的资源分为托管资源和非托管资源. 托管资源: Net平台中,CLR为程序员提供了一种很好的内存管理机制,使得程序员在编写代码时不要显式的去释放自己使用的内存资源(这些在先前 ...
- 解决MVC中使用BundleConfig.RegisterBundles引用Css及js文件发布后丢失的问题
ASP.NET MVC4,ASP.NET MVC5中对JS和CSS的引用又做了一次变化,在MVC3中我们这样引用资源文件: <link href="@Url.Content(" ...
- byte与char的区别
byte 是字节数据类型 ,是有符号型的,占1 个字节:大小范围为-128—127 .char 是字符数据类型 ,是无符号型的,占2字节(Unicode码 ):大小范围 是0—65535 :char ...
- [Spring MVC] - Annotation验证
使用Spring MVC的Annotation验证可以直接对view model的简单数据验证,注意,这里是简单的,如果model的数据验证需要有一些比较复杂的业务逻辑性在里头,只是使用annotat ...
- C#:安装Windows服务,动态指定服务名及描述
Installer.cs>> public Installer() { InitializeComponent(); /* 服务未注册前,System.Configuration.Conf ...
- 升级NC6.3
2014-04-23 江苏建工&用友公司会谈提纲 1,合同规定江苏建工用友NC在实施成功之后三年免服务费(2010年增补了资金管理,如果以2010年作为软件最终实施完成,那么2010-2013 ...
- div 居中
Found another solution: Just add position: relative; top: 50%; transform: translateY(-50%); to the i ...
- 新的android studio创建的fragment工程跟老师讲的结构有区别
工程自动创建了fragment类,并且activity_main中的标签是fragmnet,这就不需要在MainAcitivity中手动创建fragment了. 但是这样的程序运行之后会出现两个fra ...
- css学习笔记(4)
让顶部导航固定于页面的最顶端,无论页面上下滚动,顶部导航始终处在最顶端. *{ margin:0; padding:0}body{ padding-top:60px; }#nav{ width:100 ...