oracle学习第三天:sql基础之表

今天主要学习的内容包括:认识表、数据类型和管理表

一、认识表

1、表都存放在数据库表空间里面,是存储数据的基本存储单位;
2、表都是二维结构。一行称之为一条记录,一列被称为一个域或者一个字段。
3、约定:(1)每一列数据必须具有相同的数据类型;
                (2)列名唯一;
                (3)每一行数据的唯一性。

二、数据类型

1、字符型:
固定长度类型:CHAR(n1)、NCHAR(n2);   前者n1<=2000,后者为unicode格式存储(存储汉字使用此存储格式)n2<=1000;
可变长度类型:VARCHAR2(n1)、VARCHAR2(n2); n1<=4000,n2<=2000。
2、数值型:
NUMBER(p,s)。p为有效位数,s表示小数点后位数。例:number(5,2),123.45;
FLOAT(n)。用来存储为二制数据,需要将二进制数据乘以0.30103得到十进制数据,所以一般很少用。
3、日期型:
DATE。表示范围:公元前4712年到公元9999年12月31日;
TIMESTAMP。时间戳,可以精确到小数秒。
4、其他类型
BLOB。4G大小以二进制格式存储的数据;
CLOB。4G大小以字符串格式存储的数据。

三、管理表

(一)、创建表

基本语法:CREATE TABLE table_name (column_name datatypr,...);   需要注意的是表名table_name在一个用户下面是唯一的。

例:创建一个用户信息表userinfo,包含的字段包含编号、用户名、密码、邮箱、注册时间。
语句:CREATE TABLE userinfo (id number(6,0), username varchar2(20), userpwd varchar2(20), email varchar2(30), regdate date);
oracle学习第三天:sql基础之表_第1张图片

(二)修改表

此部分为修改表的结构,并不修改表中的数据
1、添加字段:ALTER TABLE table_name ADD column_name datatype;
2、更改字段的数据类型:ALTER TABLE table_name MODIFY column_name datatype;
3、删除字段:ALTER TABLE table_name DROP COLUMN column_name;
4、修改字段名:ALTER TABLE table_name RENAME CLOUMN column_name TO new_column_name;
5、修改表名:RENAME table_name TO new_table_name;

(三)删除表

1、删除表中的全部数据,又名截断表:TRUNCATE TABLE table_name;
2、删除整个表:DROP TABLE table_name;

(四)操作表中数据

1、添加数据

INSERT INTO table_name (column1,column2,...) VALUES(values1,values2,...); 
column与values要一一对应,如果向表中的所有字段都添加值,则不需要column括号,但是values括号中需要跟表中的每一个字段对应。
(1)向表userinfo中的每一个字段添加一组值
例:insert into userinfo values (1,'xxx','123','[email protected]',sysdate);  其中字符串值需要单引号,sysdate为系统函数,表示当前时间。
oracle学习第三天:sql基础之表_第2张图片

其中格式不太好看,后面可以调整。

(2)向指定字段添加值:insert into userinfo (id,username,userpwd) values(2,'yyy','123');
注意:表创建的时候会有一些必填字段。
(3)创建表时,向固定字段添加默认值:
例:CREATE TABLE userinfo1(id number(6,0), regdate date default sysdate); 
此语句表示向表userinfo1中填加值时,如果没有给字段regdate字段指定值,则自动使用sysdate函数进行填加,如果指定的话,就按照指定的值进行添加。
(4)表已经创建,给特定字段设置特定值:
例:ALTER TABLE userinfo MODIFY email default '无';  也可以达到同样的效果。

2、复制表数据

(1)创建表时复制: CREATE TABLE table_new AS SELECT column1,...|* FROM table_old;
例:①复制全部数据:create table userinfo_new as select * from userinfo;
oracle学习第三天:sql基础之表_第3张图片
②复制部分数据:create table userinfo_new1 as select id,username from userinfo;
(2)再添加时复制:INSERT INTO tanle_new [(column1,...)]select column1,...|* FROM table_old;    顺序和字段类型需要匹配才可以。

3、修改数据

语句:UPDATE table_name SET column1=values1,...[WHERE conditions];
例:(1)无条件更新:update userinfo set userpwd='111111';
oracle学习第三天:sql基础之表_第4张图片
(2)有条件更新:update userinfo set userpwd='123456' where username='xxx';
oracle学习第三天:sql基础之表_第5张图片

4、删除数据

只能以行为单位删除数或着删除整个表的数据
语句:删除表中的全部数据:DELETE FROM table_name [WHERE conditons]; 和之前学过的截断表:TRUNCATE TABLE table_name;

表的学习就是这些了。


你可能感兴趣的:(oracle)