基本数据类型及SQL语法数据库
Oracle 中用于访问数据库的主要查询工具备 SQL*Plus、iSQL*Plus 和企业管理器服务器
Pl/SQL Developer的使用函数
Oracle 服务器由Oracle 数据库和 Oracle 实例组成工具
Oracle 中的 SYSTEM 用户和 SYS 用户具备管理权限,而 SCOTT 用户只有基本的权限设计
SQL语言的组成3d
DDL(数据定义语言):维护(定义、修改、删除)SQL模式对象日志
DML(数据操纵语言):包括数据查询和数据更新(增删改查)视频
DCL(数据控制语言):对数据的访问控制(授予权限、取消权限)对象
TCL(事务控制语言):对事务的控制(提交、回滚、保存点)blog
SQL应用
经过SQL能够实现与Oracle服务器的通讯;
Oracle使用该语言存储和检索信息
Oracle数据类型
字符、数值、日期时间、LOB
Oracle数据类型---数值型
一、能够存储整数、浮点数和实数
二、最高精度为38位,默认是18位
三、范围-1*10130——9.999…99*10125
Oracle数据类型---日期时间型
日期时间数据类型存储日期和时间值,包括年、月、日,小时、分钟、秒
主要的日期时间类型有: DATE - 存储日期和时间部分,精确到整个的秒
TIMESTAMP - 存储日期、时间和时区信息,秒值精确到小数点后6位
得到当前系统日期:select sysdate from dual;
select systimestamp from dual;
Oracle数据类型 ---大对象
LOB称为“大对象”数据类型,能够存储多大4GB的非结构化信息,例如:声音剪辑和视频文件等
LOB数据类型容许对数据进行高效、随机、分段的访问
Oracle数据类型---伪列
Oracle中伪列就像一个表列,可是它并无存储在表中
伪列能够从表中查询,但不能插入、更新、删除他们的值
经常使用的伪列有rownum和rowid
rowid是表中行的存储地址,该地址能够惟一地标识数据库中的一行,可使用rowid伪列快速地定位表中地一行
rownum是查询返回地结果集中行的序号,可使用它来限制查询返回的行数
DDL(数据库定义语言)
建立表 create table
修改表结构 alter table 表名 add/modify/drop(增长/修改/删除)列名 类型名(增长/修改时写出)或增长/修改/删除约束
增长字段:ALTER TABLE t_student Add f_address char(50);
修改字段:ALTER TABLE t_student Modify f_address varchar2(50);
删除字段:ALTER TABLE t_student Drop column f_address ;
添加约束: ALTER TABLE t_student Add constraint uk_Sname Unique(Sname);
截断:Truncate table 基本表名
注: 一、截断表是将表中全部记录删除,但保留表结构,而且不写日志
二、trancate table 是DDL语言,delete from table_name 是DML语言
删除表:drop table 基本表名
DROP TABLE t_student;
数据完整性
实体完整性
约束方法:惟一约束、主键约束
域完整性
约束方法:限制数据类型、检查约束、默认值、非空约束
参照完整性(引用完整性)
约束方法:外键约束
自定义完整性
约束方法:规则、存储过程、触发器
完整性总结:数据存放在表中,数据完整性的问题大可能是因为设计表引发的,建立表的时候,就应该保证之后数据输入是正确的,错误的数据不容许输入
DML(数据操纵语言)
insert命令的基本语法
insert into 基本表名[(columns_list)] values(values_list)
插入日期类型的值
日期类型默认格式为“DD-MON-RR”
INSERT INTO t_student VALUES(‘10014’, ‘许文强’, ‘m’, ‘25-5月-88’, ‘13202010118',1);
使用TO_DATE函数转换
INSERT INTO t_student(SID,Sname,Ssex,Sbirthday) VALUES (‘10015’,‘冯程程','f',TO_DATE('1990-10-18', 'YYYY-MM-DD'));
插入来自其余表中的记录(至关于复制表结构)
CREATE TABLE t_stutemp AS SELECT * FROM t_student WHERE 1=2;
INSERT INTO t_stutemp SELECT * FROM t_student WHERE Sclass=3;
INSERT INTO t_stutemp(SID,Sname,Stel) SELECT SID,Sname,Stel FROM t_student WHERE Sclass=2;
update命令
UPDATE <table_name> SET column_name = value [, column_name = value,……] [WHERE condition];
delete命令
DELETE [FROM] <table_name> [WHERE condition];
TCL(事务控制语言)
事务是最小的工做单元,做为一个总体进行工做
保证事务的总体成功或失败,称为事务控制
用于事务控制的语句有: COMMIT - 提交并结束事务处理
ROLLBACK - 撤销事务中已完成的工做
SAVEPOINT – 标记事务中能够回滚的点
DCL(数据控制语言)
数据控制语言为用户提供权限控制命令
用于权限控制的命令有:grant 授予权限
revoke 撤销已授予的权限
GRANT SELECT ON t_student TO user1 WITH GRANT OPTION;
REVOKE SELECT, UPDATE ON t_student FROM user1;