oracle数据库笔记一

来源:互联网 发布:东盟沥青软件 编辑:程序博客网 时间:2024/05/14 11:12
Oracle数据库:
普通文本文件(IO),集合,对象
XML


数据库:存储数据的仓库。
核心:数据
oracle:
关系型数据库:以关系模型作为数据结构,基本数据结构是二维表(table),二维数据库。
sqlserver,mysql
二维表:有行、有列,Excel表
Student表:
列(字段/域):普通,标识列:唯一定位到数据库中的某行数据。(主键列)
一张表中可以存储很多行数据,每一行可以有很多列。让表中的每条数据具有唯一性,将来去这张表中查找的时候能够唯一定义到某一行,而不是很多行。
...两张表信息查询...可以让一张表中的一条数据唯一定位到另一张表(标识列)的一条数据。
特殊的列:必须依赖于其他列,重复。
    被依赖的列(唯一性,标识列),不加特殊限制的话可以不取值
table:列(字段),行(完整的信息)
sid   name   age   gender s_id
100   zs     17     F     102
101    ls     18     M     102
102    ww     17     F
103    zl
104    sq
行:一条数据,一条完整的数据
数据中的table--Excel中的表
table--java
java中的一个对象的信息--一行
java中的一个对象的一个成员变量--
一行中的某一列
java中的一个类--table(表)
student(stu.name,age),200
teacher(tid,name,age)50
classroom(cid,is..,stunum)50


java:200条学生信息(面对对象)
1.抽象模板(类)
学生student:{
int stu;
String name;
int age;
}
学生对象new Student("100","zs"..)
一个学生对象,代表一个学生信息
保存信息:成员变量,student对象
--List<Student>stus(200条学生信息)
教师teacher{


}


2.数据库操作
  打开sqlplus
  sqlplus:oracle软件自带的,可以让我们执行sql语句,并返回sql结果的终端。
  sql(Structured Query Language):结构化查询语句,访问和操作数据库数据
  (增删改查)
  sql的分类:
  1.DQL:数据查询语言
  select
  2.DML:数据操纵语言(行级)
  insert update delete
  3.DDL:数据定义语言(
  表级操作语言)
  create drop alter truncate....
  4.TCL:事务控制语言
  commit rollback savepoint
  5.DCL:数据控制语言
  grant(授权)
  revoke(回收)..




  win+R---->cmd
  1)以管理员身份登录数据库
  sqlplus "/as sysdba"
  show user:查看当前登录用户
  2)创建一个新用户
  create user username identified
   by password;
  sys/system---briup.root...
  3)给新用户授权
  grant connect,resouce to username
  4)切换到新用户
  conn username/password
  5)更改当前会话日期环境英文
  alter session set nls_date_language = english;


  6)导入测试数据
  start d:/table.txt
  @d:/table.txt
导入了三张表格,每张表中都有一些数据,表与表之间也有一些关系。


show user:展示当前连接用户
$cls:清屏
exit:退出数据库连接
用户登录的几种方式:
1.sqlplus--username--password
2.sqlplus username-->password
3.sqlpls username/password


3.sql:  以";"结尾,中间回车显示在两行
 1)查看当前用户有哪些表
 select table_name from user_tables;
 有三张表:
 desc tableName:显示表结构
 结构(列,字段)--内容(行)
 s_emp:员工表
 id,_name,salary,title,start_date,commission_pct,manager_id,dept_id..


 s_dept:部门表
id,name,region_id


 s_region:区域表
id,name


 2)1.sql查询
 语法:
select [distinct] columnName [as] [alias]/col1,col2 [as] [alias],col3/* from tableName
select:查询语句
[distinct]:去重
columnName:列名,要查找展示的列
可以查找多列,多列之间以逗号隔开,可以查找所有的列(*)
[as] [alias]:给列起别名


子句
from tableName:form后跟表名,指明要查询哪张表。
1.查询s_dept表中id的信息
select id from s_dept;
2.查询s_dept表中id,name的信息
select id,name from s_dept;
select语句永远不会对数据库中原始数据造成修改


可选项1:给列起别名
colName as 列别名
as可以省略,列别名可以加""表示大小写
可选项2:distinct:去重


算数运算:+-*/   number数字的列
s_emp:   salary