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;--删除表中所有的数据

  

  

  

 

  

  

  

  

  

  

  

 

 

  

 

    

猜你喜欢

转载自www.cnblogs.com/wuzhilong/p/9450026.html