为了账号安全,请及时绑定邮箱和手机立即绑定

Oracle数据库开发必备利器之SQL基础

难度入门
时长 4小时14分
学习人数
综合评分9.67
338人评价 查看评价
9.8 内容实用
9.7 简洁易懂
9.5 逻辑清晰
  • 1.创建表:

    reate table  table_name

    (column_name datetype,...)

    2.修改表:

    2.1 添加字段

    alter table  zhaozy.student add notes varchar2(20);

    2.2 更改字段数据类型(修改列无数据才可以修改)

    --该列有数据无法修改数据类型

    alter table  zhaozy.student modify address number(20);

    --该列有数据可以修改长度

    alter table  zhaozy.student modify address varchar2(100);

    2.3 删除字段

    alter table  zhaozy.student drop column address;

    2.4 修改字段名

    alter table  zhaozy.student rename column notes to modify_notes;

    2.5 修改表名

    rename student to new_student;

    查看全部
  • select column_name as new_name,... from table_name;

    查看全部
  • select * from table_name;

    查看全部
  • 由于学到这里各种约束的表级创建格式相似,直接来一个综合运用!!!!

    SQL> create table userinfo_c(id varchar2(10) primary key,username varchar2(20),salary number(5,0) check(salary>0));

    表已创建。

    先创建一个userinfo_c表等会儿作为外键主表,设定id为主键约束,salary为检查约束


    SQL> create table userinfo_c1(id varchar2(10),username varchar2(20),salary number(5,0),constraint fk_username_c foreign key(username) references userinfo_c(username),constraint ck_salary check(salary>0),constraint pk_id_c primary key(id));

    尝试创建一个userinfo_c1表,并一次性设定主键约束、外键约束(从表userinfo_c1的username字段引自主表userinfo_c表中的username)、检查约束

    报错信息:

    第 1 行出现错误:

    ORA-02270: 此列列表的唯一关键字或主键不匹配

    发生报错


    SQL> alter table userinfo_c add constraint un_username_new unique(username);

    表已更改。

    经过检查发现被引用的主表userinfo_c的字段username并没有唯一键或主键,需要将userinfo_c的username增加唯一键


    SQL> create table userinfo_c1(id varchar2(10) primary key,username varchar2(20),salary number(5,0),constraint fk_username_c foreign key(username) references userinfo_c(id),constraint ck_salary check(salary>0));


    表已创建。

    重新创建一个userinfo_c1表,并一次性设定主键约束、外键约束(从表userinfo_c1的username字段引自主表userinfo_c表中的username,约束名为fk_username_c)、检查约束

    创建成功


    --------------------------------------------------------------------------------------------------------

    假定并不知道userinfo_c的唯一键 un_username_new被userinfo_c的外键fk_username_c所引用

    SQL> alter table userinfo_c drop constraint UN_USERNAME_NEW;

                                     

    第 1 行出现错误:

    ORA-02273: 此唯一/主键已被某些外键引用

    对userinfo_c的唯一键 un_username_new进行删除操作

    报错提示已经被某些外键所引用,需要反查这个唯一键被哪些外键引用了

    SQL> select constraint_name from user_constraints where r_constraint_name='UN_USERNAME_NEW';


    CONSTRAINT_NAME

    ------------------------------

    FK_USERNAME_CC

    FK_USERNAME_C

    在user_constraints表中的r_constraint_name就是外键的引用来源的键名称

    查看全部

举报

0/150
提交
取消
课程须知
只要知道数据库是什么就可以来学习本课程呦!
老师告诉你能学到什么?
掌握Oracle的SQL语句基础,为后续的课程学习打好基础。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!