PLSQL命令行创建用户 以及 JDBC简单操作
PLSQL Developer命令行创建用户以及表
打开Command  Windows
查看当前管理员
show user
创建用户le   密码abc(在连接的虚拟机oracle下HR数据库中可以找到 le)
create user le identified by abc;
授予用户le链接  和 资源使用 权限
grant connect,resource to le;
使用用户le  密码abc 通过tns服务,连接mydog变量中的服务器
conn le/abc@mydog
create table tbl_student
{
    stu_no int primary_key,
    stu_name varchar2(30) not null,
    stu_age int
};
insert into tbl_student values(1,’mary’ ,12);
修改要提交数据
commit;
课堂要点
1.数据字典 (data dictionary=dd)
是用来进行数据库管理的表结构。
dba_users 是系统用户表
user_tables  是当前用户所拥有的表的记录表
2.sqlplus平台能够执行的指令的分类
a. sql语句
     sql语句必须用;表示结束
b. oracle专用语句
     不需要用;表示结束
3.创建用户(方案 schema)
一个用户所创建的各种对象的集合,叫做方案
一个用户拥有一个同名的方案,该用户是这个方案的所有者。
管理员可以把其它人的专属方案授权给某个用户,那么一个用户就可以访问多个方案了。
 create user tester identified by abc123;
4.角色
	一个角色可以拥有大量的权限,
我们只要把一个角色授予用户,就赋予大量的权限,这样的授权比较方便。
我们可以一次性授予多个角色给用户
 grant connect,resource to tester;
5.数据的二大标准
1)语言的标准
 为了扩大市场蛋糕,统一数据库语言提上了日程。
 put...inside   2
 save  1
 insert into   12
 pull  0
 SQL (Structured Query Language)
 SQL89
 SQL92
 SQL99
 SQL03
 ....
 任何一种流行的数据库都支持了某个SQL标准,同时还有自己专用的语句(方言,dialect)
- 通讯的标准
 
 ODBC/JDBC
 JDBC的标准,也在不断修订之中,功能随着版本越来越强大,目前最新版本是4.2
 JDBC
JDBC操作理解图

JDBC技术的由来

连接 JDBC
public class DBUtils
{
	//连接串描述了数据库的位置信息
	private static final String CONN STR="jdbc :oracle:thin:@//172.19.24.99:1521/orc1";
	private static final String USER="tester";
	private static final String PWD="abc123" ;
	public static Connection getConn()
        {
		Connection conn = null;
		//到类路径中,根绝这个全类名查找该类是否存在,如果存在,则驱动已经加载成功
		try
		{
		   Class .forName("oracle.jdbc.driver.OracleDriver");
		   conn = DriverManager.getConnection(CONN STR, USER, PWD);
		}
		catch (ClassNotFoundException e)
		{
		  e.printStackTrace();
		  System.out.println("驱动没有加载");
		}
		catch (SQLException e)
		{
		  e.printStackTrace();
		}
		return conn;
	}
	/**
	* 释放资源,注意关闭顺序
	* @param conn
	* @param pstmt
	* @param rset
	*/
	public static void releaseRes (Connection conn, PreparedStatement pstmt, ResultSet rset)
        {
		try
		{
		if (rset != null)
			rset.close();
		if (pstmt != null)
			pstmt.close();
		if (conn != null)
			conn.close();
		}
		catch (SQLException e)
		{
		e.printStackTrace();
		}
	}
}
加载数据
public void testSaveEmp()
{
	String sql = "insert into tbl employee values(?,?,?)";
	Employee emp = new Employee();
	emp.setEmpId(2);
	emp.setEmpName( "mary");
	emp.setEmpSalary(4100.5);
	Connection conn = DBUtils.getConn();
	PreparedStatement pstmt = null;
	try
	{
		pstmt = conn. prepareStatement(sql);
		pstmt.setInt(1, emp.getEmpId());
		pstmt.setString(2, emp.getEmpName());
		pstmt .setDouble(3, emp.getEmpSalary());
		pstmt.executeUpdate();
		//update: insert,delete,update,query
	}
	catch (SQLException e)
	{
		e. printStackTrace();
	}
	finally
	{
		DBUtils.releaseRes(conn, pstmt, null);
	}
}
主外键约束
-- 创建主表
create table tbl_course(
  course_id int primary key,
  course_name varchar2(30) not null
);
-- 创建从表
create table tbl_student(
  stu_no int primary key,
  stu_name varchar2(30) not null,
  stu_age int default 7,
  course_id int not null,
  constraint FK_STU_COURSE FOREIGN KEY(course_id) references tbl_course(course_id)
);
Course has many Students (1:m)
1方就是主表方
m方就是从表方
1方如果有关联多方,一方记录不能删除,也就是父表如果有从表记录的话,不能删除父表记录。
m方不能关联不存在一方,也就是说明从表记录中,不能包含不存在主表记录。
比如:主表是课程,从表是学生;
当选择数据库(课程)的学生有张三(学生),张三不能选择不存在的课程;除非张三不选择数据库(课程),否则不能删除数据库(课程)。
踩坑之路
设置ORACLE_HOME环境变量
用以指向安装目录,寻找TNS信息
如果只是PL/SQL寻找TNS,只需要配置好ORACLE_HOME环境变量就好了
ORACLE_HOME:Oracle数据库软件的安装目录
ORACLE_SID:Oracle数据库的实例名
Oracle 数据库实例名:用于和操作系统进行联系的标识,即数据库和操作系统之间的交换是通过数据库实例名来体现的。
1、右击“我的电脑”->选择“属性”->选择“高级”->单击“环境变量”
2、选择“Path”这一行,单击“编辑”,在“Path”的变量值文本框的最后面先加入一个分号“:”,然后再分号后面加入sqlplus文件的目录路径,如“D:\OraClient Lite\product\11.2.0\client_lite\bin”,然后点击“确定”按钮。
3、如果在“系统变量”列表框下面的“变量”列中找不到“ORACLE_HOME”和“ORACLE_SID”这两个变量,则需要下面操作,否则无需一下操作。
4、在“系统变量”中点击“新建”按钮,在“变量名”中输入“ORACLE_HOME”,变量值中输入Oracle的安装目录路径,如“D:\OraClient Lite\product\11.2.0\client_lite”,然后点击“确定”按钮。
5、在“系统变量”中点击“新建”按钮,在“变量名”中输入“ORACLE_SID”,变量值中输入数据库的实例名,然后点击“确定”按钮。
PLSQL命令行创建用户 以及 JDBC简单操作的更多相关文章
- macOS 下使用命令行进行用户(组)管理,就是这么简单! dscl 你很有必要了解一下!!
		
大家好,我是@小猿来也... Command-line interface to Directory Services. 在 linux 系统中我们习惯了使用 useradd,userdel,user ...
 - Qt_Window@Qt Command Prompt从命令行创建工程
		
#include <QApplication> #include <QLabel> int main(int argc, char *argv[]) { QApplicatio ...
 - PHP Yii1.1.13(一):命令行创建应用~shop
		
第一节 初始目录结构 (1)初识目录结构 在创建应用之前,我们来看一下Yii 1.x版本的目录结构:将yii-1.1.13安装文件解压到网站根目录下,打开framework目录,其目录如下图所示 (2 ...
 - 使用MySQL命令行新建用户并授予权限的方法
		
MySQL命令行能否实现新建用户呢?答案无疑是肯定的.而且在使用使用MySQL命令行新建用户后,还可以为用户授予权限. 首先要声明一下:一般情况下,修改MySQL密码,授权,是需要有mysql里的ro ...
 - 通过CMD命令行创建和使用Android 模拟器 AVD
		
进行Android APP测试时,若手持android手机设备稀少的情况下,我们可以通过创建Android模拟器AVD来代替模拟android手机设备,本文就具体介绍如何创建和使用AVD. 1.创建A ...
 - 通过命令行创建Django项目
		
只有安装的是pycharm专业版才可以直接在pycharm面板中直接创建Django项目 如果不是专业版,可以通过命令行创建Django项目 https://www.cnblogs.com/jiare ...
 - mysql命令行创建存储过程命令行定时执行sql语句
		
mysql -uroot -p show databases; use scm; show tables; show procedure status; 其他命令: SHOW VARIABLES LI ...
 - 【Android测试】【随笔】在手机里用命令行创建中文文件夹
		
◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/4580319.html 不知道为啥当时自己写了一段在手机里用 ...
 - 命令行创建畸形文件夹+畸形目录管理工具(DeformityPath)
		
命令行创建畸形文件夹: 第一步:在运行中输入cmd,回车,打开命令行窗口 第二步:在命令行窗口中切换到想要建立文件夹的硬盘分区,如D盘(输入d:) 第三步:输入 MD 123..\ 回车,注意文件夹名 ...
 
随机推荐
- [转].net mvc + vuejs 的项目结构
			
.net项目结构: 程序目录结构: vue操作: 前提:安装npm ,vue,vue-cli 1.进入控制台窗口 2.进入程序目录 3.运行 vue init webpack webjs 生成webj ...
 - iOS应用状态保存和恢复
			
当应用被后台Kill掉的时候希望从后台返回的时候显示进入后台之前的内容 在Appdelegate中设置 - (BOOL)application:(UIApplication *)application ...
 - linux 内网时间同步配置
			
在工作中,内网环境机器的时间会有所差异,在某些测试环境下需要一毫秒都不允许出现误差,但又不想同步外网时间,那我们可以选择一台机器作为时间服务器来供其他机器进行时间同步,例如每隔1分钟同步一次时间. 一 ...
 - svn忘记密码怎么办?如何获取svn账号和密码?
			
SVN作为一种开放源代码的集中式版本控制系统,一直以来都深受所有公司的喜爱.伴随着它使用范围的广泛,一系列问题也随之接踵而至. 我们今天就来谈谈比较常见的但一般除了一个人干着急没办法解决的问题,那就是 ...
 - [daily][archlinux] pacman 安装软件时404的问题
			
时常,我们在archlinux上pacman安装一个软件时,会遇见如图这样的问题: “The requested URL returned error: 404” [classic_tong @ 2 ...
 - [TI-DSP]sysbios的swi
			
SWI: SoftWare Interrupt软件中断 1. 软件中断具有优先级,SWI要一直运行到结束, 2. swi用于事件随机出现,但时间又不是那么急切的情况,hwi处理时间一般在us级,swi ...
 - react native jpush跳转页面不成功解决方法
			
在点击事件时加入如下红色代码即可 import JPushModule from 'jpush-react-native'; ... componentDidMount() { // 新版本必需写回调 ...
 - linux 非root用户安装nginx
			
第一步:首先下载依赖包 下载地址 pcre(www.pcre.org),zlib(www.zlib.org),openssl(www.openssl.org) 第二步:上传那个nginx的安装包 下载 ...
 - 【转】Guava cache使用总结
			
缓存分为本地缓存和远端缓存.常见的远端缓存有Redis,MongoDB:本地缓存一般使用map的方式保存在本地内存中.一般我们在业务中操作缓存,都会操作缓存和数据源两部分.如:put数据时,先插入DB ...
 - springboot学习笔记(二)—— springboot的启动模式设置
			
把springboot的启动类图标(spring)去掉,在启动类中添加以下代码 package com.xdr.spring; import org.springframework.boot.Bann ...