欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Oracle数据库基础:建表语法和操作

程序员文章站 2022-06-23 22:04:58
语法 1、建表 create table 表名( 列名 数据类型, …… ); 2、删除表:drop table 表名; 3、添加列:alter table 表名 add...
语法

1、建表

create table 表名(

列名 数据类型,

……

);

2、删除表:drop table 表名;

3、添加列:alter table 表名 add(列名 数据类型);

4、修改列:alter table 表名 rename column 原列名 to 列名;

5、修改数据类型:alter table 表名 modify 列名 数据类型;

6、删除列:alter table 表名 drop column 列名;

7、添加注释

添加表注释:comment on table 表名 is '表注释;

添加字段注释:comment on column 表名.列名 is '列注释';

8、添加约束

添加主键约束:alter table 表名 primary key(列名);

添加唯一约束:alter table 表名 constraint 约束名 unique(列名);

(主键约束和唯一约束的区别:主键约束:唯一标识,不能为空。唯一约束:唯一标识,只能有一个值为空)

非空约束:alter table 表名 modify(列名 constraints);

9、插入数据:insert into(列名,……)values(数据,……);

注意,oracle中不能直接写入日期函数

插入时间:to_date('2018-1-4 15:53:34','yyyy-mm-dd hh24:mi:ss')

插入当前时间:sysdate

下面是我做的一个例子,应用到了上面的语法:

1 --student表

2 create table student(

3   stu_id varchar2(10) primary key,

4   stu_name varchar2(10) not null,

5   stu_sex varchar2(2) not null,

6   stu_birthday date,

7   class_id number

8 );

9 --添加表注释

10 comment on table student is '学生信息表';

11 --字段添加注释

12 comment on column student.stu_id is '学号(主键)';

13 comment on column student.stu_name is '学生姓名';

14 comment on column student.stu_sex is '学生性别';

15 comment on column student.stu_birthday is '学生出生年月';

16 comment on column student.class_id is '学生所在班级';

17

18 --sclass表

19 create table sclass(

20   class_id number primary key,

21   class_name varchar2(10) not null

22 );

23 comment on table sclass is '班级信息表';

24 comment on column sclass.class_id is '班级编号';

25 comment on column sclass.class_name is '班级名称';

26

27 --添加外键

28 alter table student add constraint fk_class_id foreign key(class_id) references sclass(class_id);

29

30 --添加数据

31 insert into sclass(class_id, class_name)values(1,'计应1401');

32 insert into sclass(class_id, class_name)values(2,'计网1401');

33 insert into sclass(class_id, class_name)values(3,'软件1401');

34 insert into student(stu_id, stu_name, stu_sex, stu_birthday, class_id)values('a001','张珊','女',to_date('1995-10-02','yyyy-mm-dd'),1) ;

35 insert into student(stu_id, stu_name, stu_sex, stu_birthday, class_id)values('a002','李思','女',to_date('1995-10-02','yyyy-mm-dd'),1) ;

36 insert into student(stu_id, stu_name, stu_sex, stu_birthday, class_id)values('a003','王武','女',to_date('1996-10-02','yyyy-mm-dd'),2) ;

37 insert into student(stu_id, stu_name, stu_sex, stu_birthday, class_id)values('a004','赵柳','女',to_date('1996-12-02','yyyy-mm-dd'),3) ;

38 insert into student(stu_id, stu_name, stu_sex, stu_birthday, class_id)values('a005','赵柳','女',sysdate,3) ;