Oracle———————
数据类型
类型 | 语法 |
| 描述 |
文本类型 | char(n) | 定长 | 最大2000字符,默认n=1 |
varchar2(n) | 变长 | 最大4000字符 | |
nchar(n) | 定长 | unicode数据类型,常用于存放汉字,最大2000,n的最大值为1000 | |
nvarchar2(n) | 变长 | unicode数据类型,常用于存放汉字,最大4000, n的最大值为2000 | |
clob(character large Object) | 字符型大对象,最大8TB | ||
blob(birnary large Object) | 二进制数据,可存放图片、声音,最大8TB | ||
数值 | number(p,s) | 变长 | p-有效位,s-小数位;1<=p<=38,-84<=s<=127 有效位从左到右非0的第一个数字开始算 |
日期 | date | 默认格式:DD-MM-YYYY ‘16-05月-2017’,精确到秒 | |
timestamp(n) | 时间戳,精确度比date高,精确到小数秒 |
有效位及小数位举例:
316.1 number(3,-2) à 301(四舍五入)
0.0002578 number(3,6) à0.000258
创建表
1.使用sql/plus创建
create table 表的名称(字段名称1 数据类型, 字段名称2 数据类型…);
2.使用plsql developer第三方工具创建
修改表
1.修改表名
RENAME 旧的表名称 TO 新的表名称;
2. 添加列
ALTER TABLE 表名称 ADD
(列名称 数据类型 DEFAULT(‘默认值’),
列名称 数据类型 DEFAULT(‘默认值’),
…);
Eg: alter table class add (id varchar2(20) default(‘123456’));
3.修改列
ALTER TABLE 表名称 MODIFY
(列名称 数据类型 DEFAULT(‘默认值’),
列名称 数据类型 DEFAULT(‘默认值’),
…);
Eg :alter table class modify (id varchar2(20) default(‘123456’));[字符必须加’’数字不用]
4.修改列名
Alter table 表名称 rename column 列名 to 新列名; |
5.删除列
方法一: alter table 表名 drop column 列名;
方法二: alter table 表名 drop(列名1,列名2,...).;
6.添加描述
comment on column 表名.列名 is '注释';
Eg: comment oncolumn t1.id is 'id';
删除表
删除表中全部数据(表还存在)/截断表 :Truncate table 表名; [速度比delete快] |
删除表(结构) : drop table 表名; |
查看表结构
desc 表名称;
操作表中的数据
插入、复制、修改、删除数据
插入数据: insert into 表名(列名1,列名2,…)values(值1,值2,…);[不写列名则向每一列都插入数据,后面的值需要与列的数据类型对应] [sysdate可获取系统日期 Eg:insert into abc(regdate)values(sysdate);] |
复制表数据: 方法一:创建表时复制 Create table 表名 as select (列名或*) from 复制源表名; 方法二:添加数据时复制 Inseret into 要添加的表名 (列名) select (列名或*) from复制源表名; |
修改数据: Update 表名 set (列名=值,列名1=值1)[where 条件]; Eg:update abc set userpassw=’123’ [where username=’11’]; |
删除数据: 方法一:删除表中全部数据(表还存在)/截断表 :Truncate table 表名; [速度比delete快] 方法二:delete from 表名 [where 条件]; [利用where条件可不删除部分数据] |