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