Oracle学习笔记(三)
五、操作表
1、表分为行和列
约定:每行数据唯一性,每列数据同类性,每列列名唯一性。
2、数据类型
字符型 -- 固定长度的字符类型
字符类型:CHAR(n)(MAX n=2000)、NCHAR(MAX n=1000)
-- 可变长度的数据类型(节省空间随着数据的大小生成相应的数据)
VARCHAR2(MAX n=4000)、NVARCHAR2(MAX n=2000)
数值型(通常使用number类型):NUMBER(p,s):
p--有效数字,
s--小数点后的位数
如果s为正数,代表从小数点到最低有效数字的位数;
如果s为负数,代表从最大有效数字到小数点的位数(数值型通常采用NUMBER类型)
例子
number(5,2) 有效数字5位,保留2位小数,如:123.12
FLOAT :用于存储二进制类型1~126位
日期型
DATE 日期类型,表示范围为公元前4712年1月1日到公元9999年12月31日,可精确到秒(日期型通常采用DATE型)
TIMESTAMP 时间戳类型,可以精确到秒
其他型
BLOB 可以存放4GB的大文件,以二进制形式存放
CLOB 可以存放4GB的大文件,字符串存放的
3、管理表的操作
创建表:创建用户信息表
例子:
create table userinfo(
user_a_id number(6,0),
user_username varchar2(20),
user_pwd varchar2(20),
user_email varchar2(30),
user_regdate date
);
修改表:修改结构
1、添加字段
例子:
alter table userinfo add user_remarks varchar2(500);
2、更改字段数据类型(最好是表中没有数据的时候进行更改)
更改原有的数据
alter table userinfo modify user_remarks varchar2(400);
更改数据的类型
alter table userinfo modify user_pwd number(6,0);
3、删除字段
alter table userinfo drop column a;
4、修改字段名
alter table userinfo rename column user_username to user_a_username;
5、修改表名
rename userinfo to user_info;
删除表
删除表中的数据,不是删除表,但是速度快
truncate table table_name;
truncate table user_info;
删除表的结构,真实被删除了
drop table user_info;
查看表
desc table_name;
desc userinfo;
4、操作表中的数据
对表的内容进行操作
1、添加数据
insert into userinfo(user_a_id,user_username,user_pwd,user_email,user_regdate) values(1,'xiaobaitu','123456','xiaobaitu@163.com',sysdate);
全添加,可以省略userinfo后边的()
insert into userinfo values(1,'xiaobaitu','123456','xiaobaitu@163.com',sysdate);
不添加全部数据
insert into userinfo(user_a_id,user_username,user_regdate) values(1,'xiaobaitu',sysdate);
为字段添加默认值
创建表时,创建默认值
create table userinfo_a(
userinfo_a_id number(6,0),
userinfo_regdate date default sysdate
);
添加数据
insert into userinfo_a(userinfo_a_id) values(1);
修改表时,添加默认值
alter table userinfo modify user_email default '无';
如果没有添加,email为默认值:
insert into userinfo(user_a_id) values(3);
select user_a_id ,user_email from userinfo;
如果添加了,就会返回添加的值
insert into userinfo(user_a_id,user_email) values(4,'aa');
select user_a_id ,user_email from userinfo;
2、复制表数据
(1)在建表时复制
(a)复制表中的全部数据
create table userinfo_2 as select * from userinfo;
select * from userinfo_2;
desc userinfo_2;
(b)复制表中部分数据
create table userinfo_3 as select user_a_id from userinfo;
select * from userinfo_3;
desc userinfo_3;
(2)在添加数据时复制
(a)添加全部数据(复制的两个表必须结构相同)
create table user_new(
user_a_id number(6,0),
user_username varchar2(20),
user_pwd varchar2(20),
user_email varchar2(30),
user_regdate date
);
insert into user_new select * from userinfo;
(b)添加部分数据(添加时数据类型要相同)
insert into user_new(user_a_id,user_username) select user_a_id,user_username from userinfo;
3、修改数据(更新操作)
(1)无条件更新
update userinfo set user_pwd='111111';
(2)有条件更新
update userinfo set user_pwd='6666' where user_username='xiaobaitu';
4、删除数据(行删除,不能删除列)
创建一个实验用表
create table user_new2 as select * from userinfo;
(1)无条件删除
delete from userinfo_3; 等同于 truncate table userinfo_3;
(2)有条件删除
delete from user_new2 where user_username='xiaobaitu';
Oracle学习笔记(三)的更多相关文章
- Oracle学习笔记三 SQL命令
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)
- Oracle学习笔记三
一.创建表空间 表空间是ORACLE数据库的逻辑单元.数据库--表空间 一个表空间可以与多个数据文件(物理结构)关联一个数据库下可以建立多个表空间,一个表空间可以建立多个用户个用户下可以建立多个表. ...
- oracle 学习笔记(三)
1. SQL(基础查询) 1.1. 基本查询语句 1.1.1. FROM子句 SQL查询语句的语法如下: SELECT <*, column [alias], -> FROM tabl ...
- oracle学习笔记第一天
oracle学习笔记第一天 --oracle学习的第一天 --一.几个基础的关键字 1.select select (挑选) 挑选出显示的--列--(可以多列,用“,”隔开,*表示所有列),为一条 ...
- Oracle学习笔记—数据字典和常用命令(转载)
转载自: oracle常用数据字典和SQL语句总结 Oracle常用命令大全(很有用,做笔记) 一.Oracle数据字典 数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的.比如一 ...
- [Firefly引擎][学习笔记三][已完结]所需模块封装
原地址:http://www.9miao.com/question-15-54671.html 学习笔记一传送门学习笔记二传送门 学习笔记三导读: 笔记三主要就是各个模块的封装了,这里贴 ...
- JSP学习笔记(三):简单的Tomcat Web服务器
注意:每次对Tomcat配置文件进行修改后,必须重启Tomcat 在E盘的DATA文件夹中创建TomcatDemo文件夹,并将Tomcat安装路径下的webapps/ROOT中的WEB-INF文件夹复 ...
- java之jvm学习笔记三(Class文件检验器)
java之jvm学习笔记三(Class文件检验器) 前面的学习我们知道了class文件被类装载器所装载,但是在装载class文件之前或之后,class文件实际上还需要被校验,这就是今天的学习主题,cl ...
- VSTO学习笔记(三) 开发Office 2010 64位COM加载项
原文:VSTO学习笔记(三) 开发Office 2010 64位COM加载项 一.加载项简介 Office提供了多种用于扩展Office应用程序功能的模式,常见的有: 1.Office 自动化程序(A ...
随机推荐
- nsq 安装试用
因为是mac 系统安装试用brew install nsq 安装 brew install nsq 组件说明 nsqd 守护进程进行消息的接受,缓存以及传递消息给客户端,需要配置nsqlookupd地 ...
- python一条语句分析几个常用函数和概念
前言 过年也没完全闲着,每天用一点点时间学点东西,本文为大家介绍几个python操作的细节,包含all.any.for in等操作,以及介绍我解决问题的思路. 一.开篇 先从我看到的一个简单的语句开始 ...
- vm虚拟机怎么访问本地硬盘
第一步:点击VMware菜单“虚拟→设置”,在配置窗口的“选项”标签页内点击“共享文件夹”,在右侧点击“添加”按钮添加要共享的文件夹. 先确认虚拟机是关闭状态(susppend时无法修改属性)再修改虚 ...
- linux之 multipath 多路径
一.什么是多路径 普通的电脑主机都是一个硬盘挂接到一个总线上,这里是一对一的关系.而到了有光纤组成的SAN环境,或者由iSCSI组成的IPSAN环境,由于主机和存储通过了光纤交换机或者多块网卡及IP来 ...
- RabbitMQ 概念与Java例子
RabbitMQ简介 目前RabbitMQ是AMQP 0-9-1(高级消息队列协议)的一个实现,使用Erlang语言编写,利用了Erlang的分布式特性. 概念介绍: Broker:简单来说就是消息队 ...
- DNS中NS和SOA区别
ns 授權很簡單… 假設你註冊的 domain 叫 abc.com ,而你有 ns1 與 ns2 兩台 server . 那,你必需從 .com 的權威伺服器授權給你,其設定或類似如此: $ORIGI ...
- Autocad 2010+ObjectArx 2010 +Vs2010 的.net 开发设置(转)
Autocad 2010+ObjectArx 2010 +Vs2010 的.net 开发设置 分类: ObjectArx.net2010-09-14 16:52 4203人阅读 评论(7) 收藏 举报 ...
- cowboy添加验证码
参考的http://beebole.com/blog/erlang/how-to-implement-captcha-in-erlang-web-application/,移到cowboy,修改了下: ...
- 725. Split Linked List in Parts
▶ 将一个单链表拆分为长度尽量接近的 k 段 ● 自己的代码,12 ms ■ 记链表长度为 count,目标段数为 k,quo = count / k,mod = count % k,part = m ...
- leetcode861
public class Solution { public int MatrixScore(int[][] A) { ); ].GetLength(); //判断最高位是否为1 ; i < r ...