日期:2014-05-16  浏览次数:20382 次

Oracle入门指南_3

Oracle_3

Oracle中SQL语句的组成:

DDL:数据定义语言

  • alter
  • drop
  • create

DML:数据操纵语言

  • insert
  • update
  • delete
  • select

TCL:事务控制语言

  • commit
  • savepoint
  • rollback

DCL:数据控制语言

  • grant
  • revoke

Oracle数据类型:

文本型

  • varchar2(n):存放变长的字符串,长度为n字节,最大4000字节
  • nvarchar2(n):存放变长的Unicode字符串
  • char(n):存放定长的字符串,最大为2000字节
  • nchar(n):存放定长的Unicode字符串

数值型

  • number(n,[m]):存放数值型数据,总长度为n位(默认为38位),m指定小数位数

日期时间型

  • date:存放日期时间型,长度为7个字节
  • 使用sysdate系统函数可以获取系统当前日期和时间
select sysdate from dual;
/*dual为临时表,为了凑够select语句而设,后面还会多次使用到*/

?

创建表:

/*创建t_student表,没有设置主键*/
create table t_student(
       stuid number(10) not null,
       stuname nvarchar2(20) not null,
       age number(2) not null,
       address nvarchar2(200),
       codenum nvarchar2(18)
);
/*创建t_score表,主键为scoreid*/
create table t_score(
       scoreid number(10) primary key,
       score number(3,1) not null,
       stuid number(10)
);
  • ?给t_student表添加主键
alter table t_student add constraint pk_t_student primary key(stuid);
/*pk_t_student是主键约束的名称*/
  • ?给t_student表中的age添加检查约束
alter table t_student add constraint ck_t_student_age check(age>=18 and age<=25);
--给student表中的age字段添加检查约束,年龄必须在18-25之间,否则存不进去,修改不成功
  • ?给t_student表中的address添加默认约束,默认地址为'China'
alter table t_student modify (address nvarchar2(200) default 'China');
--把address字段重新定义了
  • ?给t_student表中的codenum添加唯一约束
alter table t_student add constraint un_t_student_codenum unique(codenum);
--un_t_student_codenum是约束的名字,在这个表中这一项是唯一的,即没有重复的
  • ?给t_score表添加外键约束,分数是属于哪一个学生的
alter table t_score add constraint fk_t_score_t_student foreign key(stuid) references t_student(stuid);
--t_score表中的stuid是外键,连接着t_student表
  • ?删除约束
alter table t_score drop constraint fk_t_score_t_student;
--删除刚才给t_score表中建立的外键

修改表:

  • 添加列
alter table t_student add(sex nvarchar2(2));
--给t_student表添加一列:sex
  • ?修改列
alter table t_student modify (codenum nvarchar2(20));
--修改codenum的长度为20字节
  • ?重命名列
alter table t_student rename column sex to xingbie;
--将sex重命名为xingbie
  • ?删除列
alter table t_student drop column xingbie