一。oracle常用数据类型
数字:number(p,s) p表示数字的长度包括小数点后的位数,s表示小数点后的位数
固定长度字符:char(n):n表示最大长度,n即是最大也是固定的长度,当数据不满长度则以空格补满
可变长度字符:varchar2(n):n表示最大长度
日期类型:date精确到毫秒
blob:大字段数据类型

二。建表语句
注意:主键是唯一且不为空,能唯一标识一条数据的独立性。通常没有任何业务意义,只用来标识数据的唯一性
create table student(
  stu_id number(8,0) primary key,
  stu_name varchar2(30),
  stu_age number(3,0),
  stu_sex char(3),
  stu_birthday date
)

三。主外键关联
--给班级表添加一个字段
alter table CLASSINFO add school_id number;

--创建外键字段
alter table STUDENT
add constraint fk_stu_class foreign key (CLASS_ID)
references classinfo (CLASS_ID);

--删除表
drop table 表名

--创建,修改,删除表,统称为数据库定义语言DDL

注意:外键约束:
  1.在子表中无法添加主表还没有的数据
  2.子表如果有相应记录,主表不能删除

四。数据库操作语言DML
--插入数据的语句
insert into student(stu_id,stu_name,stu_age,stu_sex,stu_birthday) values (1,'章三班',90,'男',sysdate)
insert into student values(1,'张三',22,'1',sysdate)

--delete from 表名 where 条件
例子:delete from student where stu_id=1

--修改数据
update 表名 set 字段名=值,字段名=值 .... where 条件

--查询
select 字段名 from student where 条件

五。数据库定义语言
create 、alter、 drop 、rename、  truncate
truncate:截断表数据,作用是一次性删除表中所有数据,是一个一次性事物,不能回滚,删除效率远高于delete

六。事物控制语言
commit:提交事物

rollback:回滚事物

savepoint:设置回滚点

七。数据控制语句
grant 权限 to 用户名 -- 赋予权限
revoke 权限 from 用户名 -- 撤销权限

练习:
1.创建一张学员信息表和一张班级信息表。思考这两张表如何关联起来

2.创建学校信息表。思考学校和学员和班级的关系。怎么关联

例子1:

 --对数据的增删改查
--新增数据
insert into student(stu_id,stu_name) values(1,'张三')
insert into student values(2,'李四',20,'男',sysdate) --查询数据
select * from student --删除数据
delete from student where stu_id=1 --修改数据
update student set stu_name='小李子',stu_sex='女' where stu_id=2

例子2:

 create table classinfo(
class_id number primary key,
class_name varchar2(30)
) insert into classinfo values (1,'java3班') create table school(
school_id number primary key,
school_name varchar2(30)
)
--给班级表添加一个字段
alter table CLASSINFO add school_id number; --创建外键字段
alter table STUDENT
add constraint fk_stu_class foreign key (CLASS_ID)
references classinfo (CLASS_ID); --删除表
drop table 表名 --创建,修改,删除表,统称为数据库定义语言DDL --删除
delete from student-- where stu_id=1 --stu_name='李四' and age!=20 age<>20

例子3:

 --创建用户
create user c##java06 identified by java123 --给用户赋予权限
--connect:链接角色
--resource:资源访问角色,能创建表等资源,可以访问和操作数据
--DBA:数据库管理员角色
grant resource to c##java06
grant connect to c##java06
grant dba to c##java06 --练习:创建用户并赋予权限,通过新建的用户来登录其他服务器(要先配置网络服务名)
--修改用户名密码
alter user c##hwua identified by hwua123 --建表语句
create table student(
stu_id number(8,0) primary key,
stu_name varchar2(30),
stu_age number(3,0),
stu_sex char(3),
stu_birthday date
) --对数据的增删改查
--新增数据
insert into student(stu_id,stu_name) values(1,'张三')
insert into student values(2,'李四',20,'男',sysdate) --查询数据
select * from student --删除数据
delete from student where stu_id=1 --修改数据
update student set stu_name='小李子',stu_sex='女' where stu_id=2

例子4:

用oop做一个进销存系统:
1.货物对象属性:编号(唯一),名称,单价,类别,厂家,厂家地址,厂家联系方式,库存,最后进货时间
2.功能:登录,入库,出库,库存查询,操作记录查询
3.功能描述:
登录:管理员输入用户名密码登录,可以有多个管理员
入库:
新增入库:新录入货物库存信息
库存修改:在已有的货物信息上修改
出库:输入出库货物编号,显示详细信息,输入出库数量,满足条件就出库
库存查询:可以按货物编号,类别,名称,来查询货物详细信息
操作记录查询:所有上面的操作都要记录下操作员的操作信息以及操作时间
可以按操作员姓名查询,操作类型

操作信息对象:属性:编号,操作员名字,操作类型,操作的数量,操作时间

 --练习:把进销存的业务用数据库的方式完成
--提示:管理员,货物,操作记录对象分别建立三张表
--完成各项功能的sql语句 --用户信息表
create table user_info(
user_id number primary key,
username varchar2(30),
pass_word varchar2(20)
); --goods_info
create table goods_info(
goods_id number primary key,
goods_name varchar2(50),
goods_price number(10,2),
goods_count number(8,0)
)
drop table deal_info
--操作信息表deal_info
create table deal_info(
deal_id number primary key,
deal_type_id char(1),
user_id number,
goods_id number,
deal_count number,
deal_time date
);
--操作类型表
create table deal_type(
deal_type_id number primary key,
typename varchar2(30)
); --注册
insert into user_info values(1,'admin','')
--登录
select * from user_info where username='admin' and pass_word='' --入库
insert into goods_info values(1,'辣条',2.5,1000)
--记录入库操作
insert into deal_info values(1,'',1,1,50,sysdate) --操作类型数据
insert into deal_type values(1,'入库');
insert into deal_type values(2,'出库');
insert into deal_type values(3,'修改货物信息'); select * from user_info;
select * from goods_info;
select * from deal_info;
select * from deal_type;

最新文章

  1. linux tree 命令
  2. 激光打印机的Color/paper, Xerography介绍
  3. jQuery.extend和jQuery.fn.extend的区别【转】
  4. C#如何实现下载文件保存到本地上面去
  5. 【学习笔记】python 简单创建新建一个网络客户端,并返回相关的信息
  6. 判断一个数num是否是2的幂(乐视题)
  7. struts 用拦截器进行用户权限隔离,未登录用户跳到登录界面 *** 最爱那水货
  8. 有关big.LITTLE,你需要知道的十件事情
  9. 自己动手跑起web项目
  10. 关于Weblogic 10.3.1集群及调优经历
  11. HDU 1272 小希的迷宫(并查集) 分类: 并查集 2015-07-07 23:38 2人阅读 评论(0) 收藏
  12. HipHop算法:利用微博互动关系挖掘社交圈
  13. 本地数据jqGrid分页
  14. C#6.0新特性之字符串嵌入 String Interpolation
  15. [UWP]创建一个进度按钮
  16. [转载] 使用HTML5的十大原因
  17. Testin云測试破7000万次:崩溃成90%手游应用质量难题
  18. style scoped
  19. asp.net core系列 45 Web应用 模型绑定和验证
  20. 支持向量机(SVM)举例

热门文章

  1. react学习(四)之设置 css样式 篇
  2. C#DataTable复制、C#DataTable列复制、C#DataTable字段复制
  3. js 格式化数字(每三位加逗号)
  4. ajaxJson(常用)
  5. sublime text2 中标签高亮效果BracketHighlighter插件
  6. js获取选中日期的当周的周一和周日
  7. FreeSWITCH1.6安装教程Centos
  8. 【Spring源码解读】bean标签中的属性(二)你可能还不够了解的 abstract 属性和 parent 属性
  9. python with open as f写中文乱码
  10. Python自定义异常及抛出异常