数据库中对表的基础操作

    1.对于初学者先点一下,注释不是“//”而是“--”。
    2.用户的数据实际上是存放在数据库的表中,所以当我们要向数据库中存放数据时,必须先创建表。
    3.创建语法:
    create table [<模式名>.<>(
       <字段2><类型>[约束条件];
       <字段2><类型>[约束条件];
       ......
       )[tablespace<命名空间>];
    4.添加一条数据:  eg: insert into classInfo values(1001,'软件15',2015,4);
    6.删除数据: 语法: delete from <表名>[where<条件>]
                        eg: delete from classInfo;
    7.若发现数据缺失了数据完整性 eg:班级编号重复了、班级名称为空等
      此时我们可以通过添加约束来解决。
        1.添加主键约束语法:alter table <表名> add constraint <主键约束名> primary key(主键名);
         eg: alter table classInfo add constraint PK_classInfo_cid primary key(cid);

        2.非空约束语法:alter table <表名> modify <列名> not null;
        eg: alter table classInfo modify cname not null;

        3.唯一约束语法:alter table <表名> add constraint <唯一约束名> unique(列名1,列名2...);
        --[using index tablespace<表空间>]
        eg: alter table classInfo add constraint UQ_classInfo_cname unique(cname);
    8.删除表的语法:  drop table <表名>
            eg: drop table classInfo;
    9.重新创建带行级约束的表
    create table classInfo(
           cid number(4) primary key,  --带主键的班级编号
           cname varchar2(100) unique not null,  --班级名称(唯一、且非空)
           cyear number(4), --入学年份
           clen number(1) --学制     括号中的数字表示这个数字有几位
    );

    10.重新创建带表级约束的表
    create table classInfo(
           cid number(4) primary key,  --带主键的班级编号
           cname varchar2(100) unique not null,  --班级名称(唯一、且非空)
           cyear number(4), --入学年份
           clen number(1) --学制     括号中的数字表示这个数字有几位
           constraint PK_classInfo_cid primary key(cid),
           constraint UQ_classInfo_cname unique(cname)
    );
    11.添加外键约束来使两个表相连:
    语法:alter table <表名> add constraint <外键约束名> foreign key(列名) references <被引用的表名>(<列名>);
    [on delete cascade | on delete set null]

      eg:alter table stuInfo add constraint FK_stuInfo_cid foreign key(cid) references classInfo(cid);
    12.检查判断约束:
    检查语法:alter table <表名> add constraints <检查约束名> check (<检查条件>);
    eg:  alter table stuInfo add constraints CK_stuInfo_sex check (sex = '男' or sex = '女');
         alter table stuInfo add constraints CK_stuInfo_sex check (sex in ('男','女'));   --两种都行
    13.删除唯一约束:
    删除语法:alter table <表名> drop constraint <约束名>;
    14.约束操作:
        1.删除联系方式上的唯一约束
        语法:alter table <表名> drop constraint <约束名>;
        eg : alter table stuInfo drop constraint CK_stuInfo_sex;

        2.禁用性别上的检查约束
        语法:alter table <表名> disable constraint CK_stuInfo_sex;
        eg : alter table stuInfo disable constraint CK_stuInfo_sex;

        3.启用姓名上的非空约束
        语法:alter table <表名> enable constraint <约束名>;
        eg : alter table stuInfo enable constraint CK_stuInfo_sex;


    15.修改表结构:
        1.查看表的结构:  select * from user_tab_columns where table_name = 'STUINFO';  //必须大写
    
        2.将学生信息表stuInfo重命名为studentInfo
        语法:alter table <原表名> rename to <新表名>;
        alter table stuInfo rename to studentInfo;

        3.将学生信息表中的列sex重命名为stuSex
        语法:alter table <表名> rename column <原列名> to <新列名>;
        alter table studentInfo rename column sex to stuSex;

        4.在学生信息表中添加列stuPwd,类型为number(10);
        语法:alter table <表名> add <列名> <数据类型> [default] [null/not null];
        alter table studentInfo add stuPwd number(10);

        5.修改学生信息表中的列stuPwd的数据类型为varchar2(20);
        语法:alter table <表名> modify <列名> <数据类型> [defauult] [null/not null];
        alter table studentInfo modify stuPwd varchar2(20);

        6.删除列学生信息表中的列 stuPwd
        语法:alter table <表名> drop column <列名>;
        alter table studentInfo drop column stuPwd;

猜你喜欢

转载自blog.csdn.net/jjboom425/article/details/79600430