五、操作表

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学习笔记(三)的更多相关文章

  1. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  2. Oracle学习笔记三

    一.创建表空间 表空间是ORACLE数据库的逻辑单元.数据库--表空间 一个表空间可以与多个数据文件(物理结构)关联一个数据库下可以建立多个表空间,一个表空间可以建立多个用户个用户下可以建立多个表. ...

  3. oracle 学习笔记(三)

    1. SQL(基础查询) 1.1. 基本查询语句 1.1.1. FROM子句 SQL查询语句的语法如下:   SELECT <*, column [alias], -> FROM tabl ...

  4. oracle学习笔记第一天

    oracle学习笔记第一天 --oracle学习的第一天 --一.几个基础的关键字   1.select select (挑选) 挑选出显示的--列--(可以多列,用“,”隔开,*表示所有列),为一条 ...

  5. Oracle学习笔记—数据字典和常用命令(转载)

    转载自: oracle常用数据字典和SQL语句总结 Oracle常用命令大全(很有用,做笔记) 一.Oracle数据字典 数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的.比如一 ...

  6. [Firefly引擎][学习笔记三][已完结]所需模块封装

    原地址:http://www.9miao.com/question-15-54671.html 学习笔记一传送门学习笔记二传送门 学习笔记三导读:        笔记三主要就是各个模块的封装了,这里贴 ...

  7. JSP学习笔记(三):简单的Tomcat Web服务器

    注意:每次对Tomcat配置文件进行修改后,必须重启Tomcat 在E盘的DATA文件夹中创建TomcatDemo文件夹,并将Tomcat安装路径下的webapps/ROOT中的WEB-INF文件夹复 ...

  8. java之jvm学习笔记三(Class文件检验器)

    java之jvm学习笔记三(Class文件检验器) 前面的学习我们知道了class文件被类装载器所装载,但是在装载class文件之前或之后,class文件实际上还需要被校验,这就是今天的学习主题,cl ...

  9. VSTO学习笔记(三) 开发Office 2010 64位COM加载项

    原文:VSTO学习笔记(三) 开发Office 2010 64位COM加载项 一.加载项简介 Office提供了多种用于扩展Office应用程序功能的模式,常见的有: 1.Office 自动化程序(A ...

随机推荐

  1. macOS --- 配置基于域名的虚拟主机

    在终端运行 sudo vi /Applications/XAMPP/xamppfiles/etc/httpd.conf,打开apache配置文件. 在httpd.conf中找到"#Inclu ...

  2. Nginx 服务器伪静态配置不当造成 Access denied

    Nginx 服务器伪静态配置不当造成 Access denied 有群有反馈将 FastAdmin 布署到阿里云后无法打开后台. 出现如下提示,首页是可以打开,点登录链接后出现的.(下是群友的截图) ...

  3. 【转】详解硬盘MBR

    原文网址:http://hi.baidu.com/waybq/item/a4490f026f9859d21ef046a4 硬盘是现在计算机上最常用的存储器之一.我们都知道,计算机之所以神奇,是因为它具 ...

  4. redis Linux 、Windows ubuntu 下的安装

    Redis 安装 2018-07-05 Window 下安装 下载地址:https://github.com/MSOpenTech/redis/releases. Redis 支持 32 位和 64 ...

  5. Tomcat 7 可以修改 Session 默认的 Cookie 名 JSESSIONID 了

    Tomcat 7 可以修改 Session 默认的 Cookie 名 JSESSIONID 了       程序员必上的开发者服务平台 —— DevStore 看看下面这个配置: <Contex ...

  6. unity的prefab(预设)例子

    prefab用于预先设置一些控件,在需要的时候直接引用,简化开发,当然,你完全可以用写代码解决 在场景内新建一个空物体,绑定一个脚本 void Start () { GameObject cube = ...

  7. 32位汇编基础_cpu 寄存器

    32位通用寄存器 EAX EBX ECX EDX EBP ESP ESI EDI 八个寄存器都可以作为普通的数据寄存器使用.但有的有特殊的用途: EAX    为累加器, ECX    为计数器, E ...

  8. user_add示例

    #!/usr/bin/python3# -*- coding: utf-8 -*-# @Time    : 2018/5/28 16:51# @File    : use_test_add.py 数据 ...

  9. sql server 全文检索 使用

    目前项目中的日志查询 功能 由于长年累月的写入,目前已经达到千万级,对日志进行like 查询,速度可想而知. 此处只讨论 在数据库的优化. 当时 想到两个方案,一个是分区,一个 是全文检索. 分区的话 ...

  10. 5_bootstrap之响应式布局|列表|按钮

    5.响应式工具 为针对性地在移动页面上展示和隐藏不同的内容,bootStrap提供响应式工具. 可以让开发人员通过该工具决定,在何种屏幕尺寸下,隐藏或者显示某些元素 帮助手册位置:全局CSS样式--- ...