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 ...
 
随机推荐
- C#.NET通过Socket实现平行主机之间网络通讯(含图片传输的Demo演示)
			
在程序设计中,涉及数据存储和数据交换的时候,不管是B/S还是C/S模式,都有这样一个概念:数据库服务器.这要求一台性能和配置都比较好的主机作为服务器,以满足数目众多的客户端进行频繁访问.但是对于一些数 ...
 - win7 安装redis服务
			
Redis官方是不支持windows的,只是 Microsoft Open Tech group 在 GitHub上开发了一个Win64的版本,项目地址是: https://github.com/MS ...
 - 黄聪:360、chrome开发插件扩展如何跨域调用其他网站的信息并且显示在扩展、tab中的api
			
chrome插件提供了查找tab的api chrome.tabs.get(integer tabId, function callback) 但是出于安全的考虑,tab的属性中没有document 因 ...
 - iis 在站点中新建虚拟目录站点之后,虚拟目录中的 web.config 与 主站点中的 web.config冲突解决方案
			
在虚拟目录站点中增加如下配置即可:<clear/>
 - webpack和webpack-dev-server安装配置
			
本文转载自:https://www.cnblogs.com/xuehaoyue/p/6410095.html 跟着Webpack傻瓜式指南(一)这个教程在安装webpack和webpack-dev-s ...
 - struts2学习(1)struts2 helloWorld
			
一.struts2简介: 二.helloWorld: 1)工程结构: HelloWorldAction.java: package com.cy.action; import com.opensymp ...
 - php error_log记录日志的使用方法和配置  (日志目录一定要手动创建)
			
对于PHP开发者来 说,一旦某个产品投入使用,应该立即将 display_errors选项关闭,以免因为这些错误所透露的路径.数据库连接.数据表等信息而遭到黑客攻击.但是,任何一个产品在投入使用后,都 ...
 - php错误:Uncaught exception com_exception with message Failed to create COM object
			
本文为大家讲解的是php错误:Uncaught exception com_exception with message Failed to create COM object,感兴趣的同学参考下. ...
 - 磁盘IO计算
			
看了篇文章,突然想写点磁盘IO的东西,也算是对磁盘的一点点总结. 以下以理论为主,辅助结合实际情况.不明白这句话的出去. 今年是2018年,目前市场上早已经没有国产的硬盘,以前的长城.易拓早早的被拍死 ...
 - MySQL与PostgreSQL相比哪个更好?
			
网上已经有很多拿PostgreSQL与MySQL比较的文章了,这篇文章只是对一些重要的信息进行下梳理.在开始分析前,先来看下这两张图: MySQL MySQL声称自己是最流行的开源数据库.LAMP中的 ...