• Oracle Day2


    本节内容

     1.数据库表设计的三大范式

     2.SQL与数据库通信

     3.数据库的数据类型

     4.SQL分类

     5.DDL操作

     6.DML操作

    一、数据库的三大范式

      为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式

    1.第一范式(确保每列保持原子性)

         第一范式:实体的所有属性必须是单值的并且不允许重复

    2.第二范式(确保表中的每列都和主键相关)

    实体的所有属性必须依赖于实体的唯一标识。

    3.第三范式(确保每列都和主键列直接相关,而不是间接相关)

    一个非唯一标识属性不允许依赖于另一个非唯一标识属性

    在数据库设计时一般采用第三范式保证数据的冗余最小,提高数据的完整性

    二、SQL与数据库通信

    SQL:结构化查询语言(Structured Query Language),是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统

    通过执行SQL将SQL语句发送到数据库服务器,执行得到最后的结果。

    三、数据库的基本数据类型

      

    数值类型

    四、SQL的分类:

     sql语言分为5大类:
    DDL语言:数据库定义语言用于建立,修改,删除数据库中的各种对象-----表、视图、 索引、同义词、聚簇
    DML数据库操作语言、用于增删、改数据库数据
    DQL数据库查询语言用于检索数据库数据
    TCL事务控制语言、用于维护数据的唯一性
    DCL数据控制语言、用于数据库权限的授权与收回。

    五、DDL语言操作

      1.创建表:

        

     语法: create table 表名(列名  数据类型  尺寸,...);
    

     通过sql命令可以查看表结构:

      

    describe  表名;
    简写
    desc 表名;
    

      

    SQL语言大小写不敏感

    SQL 可以写在一行或者多行
    关键字不能被缩写也不能分行
    各子句一般要分行写
    使用缩进提高语句的可读性

    Oracle中的命名规则:

    必须以字母开头
    必须在 1–30 个字符之间
    必须只能包含 A–Z, a–z, 0–9, _, $, 和 #
    可以包含中文字符
    必须不能和用户定义的其他对象重名
    必须不能是Oracle 的保留字

    给表追加列:

     

    alter table 表名 add(列名 数据类型 尺寸);
    

    修改表的列:只能修改列的数据类型、尺寸

      

    alter table 表名modify (列名 数据类型 尺寸);
    

    删除列:

    alter 表名 drop column  列名;
    

    删除表:将表的结构删除(同时会删除表中的数据)。

    drop table  表名;
    

    例:创建一张学生表: 有学号 姓名   年龄   性别  

    create table  student
    (
      s_id number(4),
      s_name varchar2(20),
      age number(3),
      sex char(3)
    )
    

     查看表结构 

     

    追加列:语法

    alter table student add (列名 类型 尺寸,...);
    

    追加列 :地址

    alter table student add (address  varchar2(50));
    

    修改列  sex的数据类型

    alter table student modify sex varchar2(3)
    

    删除列;地址

    alter table student drop column address
    

    删除表  studnet  

    drop table student;
    

    表与列的重命名:

    修改表名称:rename 旧表名 TO 新表名;
    修改列名:later  table 表名 rename column 列名 to 新列名;
    
    --修改表名
    rename student to stu;
    
    --修改列名
    alter table stu rename column s_name to names;
    

    给表与列添加注释  

    COMMENT ON TABLE 表名  IS '注释';
    给列添加注释:
    comment on column 
    表名.列名 is '注释';
    

     给stu表添加注释为“学生表”  给列s_id添加注释“学号” 

    COMMENT ON TABLE stu  IS '学生表';
    
    comment on column 
    stu.s_id is '学号';
    

      

    六、DML操作:增、删、改(对数据)

    1.向表中新增数据

    insert   into 表名   values(值,....);
    使用这种语法一次只能向表中插入一条数据(注意:表中的所有字段都要有值,按照表中的顺序添加)
    
    insert into student values(101,'小刚',20,'男')
    
    insert  into 表名(列名,...) values(值,....);   (选择性添加) values中值的顺序与表名后的列名的顺序保持一致
    
    insert into student(s_id,s_name,sex) values(101,'小刚','男')
    

    2.修改表中的数据 

    语法:
    update 表名 set    列名=新值,...  where   条件;
    不使用where 条件 将更新全表中所有的数据
    
    update student set s_id=102,s_name='小李'--修改表中所有的数据
    update student set s_id=102,s_name='小王' where sex='女'--修改性别是女的数据
    

    3.删除数据  (只删除数据不删除表结构)

    delete from  表名; 删除表中所有的数据。(可以回滚)
    delete from  表名  where 条件  ;删除指定的数据
    TRUNCATE TABLE 语句:
    删除表中所有的数据
    释放表的存储空间
    删除不能回滚      
    
    delete from student ;--删除表中所有的数据
    delete from student where sex='男';--删除表中性别是男的数据
    
    truncate table student;--删除表中所有的数据
    

      

      

      

     

      

      

      

      

      

      

      

     

     

      

     

        

  • 相关阅读:
    squid反向代理
    LVM逻辑卷管理
    磁盘分区
    磁盘阵列
    apache基本配置
    LNMP简要配置
    高性能Web服务器Nginx
    samba文件共享服务配置(multiuser机制)二 (共两节)
    samba文件共享服务配置一(共2节)
    linux 批量修改文件名 文件名只保留部分,去掉部分
  • 原文地址:https://www.cnblogs.com/wuzhilong/p/9450026.html
Copyright © 2020-2023  润新知