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)
  1. 通讯的标准
 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简单操作的更多相关文章

  1. macOS 下使用命令行进行用户(组)管理,就是这么简单! dscl 你很有必要了解一下!!

    大家好,我是@小猿来也... Command-line interface to Directory Services. 在 linux 系统中我们习惯了使用 useradd,userdel,user ...

  2. Qt_Window@Qt Command Prompt从命令行创建工程

    #include <QApplication> #include <QLabel> int main(int argc, char *argv[]) { QApplicatio ...

  3. PHP Yii1.1.13(一):命令行创建应用~shop

    第一节 初始目录结构 (1)初识目录结构 在创建应用之前,我们来看一下Yii 1.x版本的目录结构:将yii-1.1.13安装文件解压到网站根目录下,打开framework目录,其目录如下图所示 (2 ...

  4. 使用MySQL命令行新建用户并授予权限的方法

    MySQL命令行能否实现新建用户呢?答案无疑是肯定的.而且在使用使用MySQL命令行新建用户后,还可以为用户授予权限. 首先要声明一下:一般情况下,修改MySQL密码,授权,是需要有mysql里的ro ...

  5. 通过CMD命令行创建和使用Android 模拟器 AVD

    进行Android APP测试时,若手持android手机设备稀少的情况下,我们可以通过创建Android模拟器AVD来代替模拟android手机设备,本文就具体介绍如何创建和使用AVD. 1.创建A ...

  6. 通过命令行创建Django项目

    只有安装的是pycharm专业版才可以直接在pycharm面板中直接创建Django项目 如果不是专业版,可以通过命令行创建Django项目 https://www.cnblogs.com/jiare ...

  7. mysql命令行创建存储过程命令行定时执行sql语句

    mysql -uroot -p show databases; use scm; show tables; show procedure status; 其他命令: SHOW VARIABLES LI ...

  8. 【Android测试】【随笔】在手机里用命令行创建中文文件夹

    ◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/4580319.html 不知道为啥当时自己写了一段在手机里用 ...

  9. 命令行创建畸形文件夹+畸形目录管理工具(DeformityPath)

    命令行创建畸形文件夹: 第一步:在运行中输入cmd,回车,打开命令行窗口 第二步:在命令行窗口中切换到想要建立文件夹的硬盘分区,如D盘(输入d:) 第三步:输入 MD 123..\ 回车,注意文件夹名 ...

随机推荐

  1. 关于UIImageView缓存加载的笔记

    加载图片的两个方法: [UIImage imageNamed:] [[UIImage alloc] initWithContentsOfFile: imgpath] [UIImage imageNam ...

  2. python 提取目录中特定类型的文件

    python使用‘os’和‘re’模块提取目录中特定类型的文件,这两个模都是安装python自带的,所以不需要安装. 思路: 使用os库lilstdir获取文件夹中的所有文件名,然后带上文件夹路径组合 ...

  3. Python学习日记(十六) time模块和random模块

    time模块 python表示时间的三种方式:时间戳.元祖(struct_time).格式化时间字符串 三种格式之间的转换: 1.时间戳 就是从1970年1月1日0点0分0秒开始按秒计算的偏移量,时间 ...

  4. php 执行大量sql语句 MySQL server has gone away

    php 设置超时时间单位秒 set_time_limit(3600);   php 设置内存限制ini_set('memory_limit', '1024M');   mysql服务端接收到的包的大小 ...

  5. tensorflow与神经网络中遇到的问题与解决方法【持续更新】

    1.如何在全连接层拼接特征? 有一种方法是有两个input,一个input通过网络最终达到全连接层,另一个input直接接一个全连接网络,神经元数是特征数,这两个可以进行一个concat.  当然了也 ...

  6. LeetCode - 92、反转链表 II

    反转从位置 m 到 n 的链表.请使用一趟扫描完成反转. 说明:    1 ≤ m ≤ n ≤ 链表长度. 示例: 输入: 1->2->3->4->5->NULL, m ...

  7. Spring4- 04-Spring简易整合Mybatis -导入jar包/ 正常编写pojo/ 编写spring 配置文件

    笔记要点&出错分析与总结 POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,工程组织   (AirportService为机场 ...

  8. java通过url读取网络图片

    使用java.net读取网络文件 import java.io.BufferedInputStream; import java.io.FileOutputStream; import java.io ...

  9. Python——python3的requests模块的导入

    前言 突然就要搞python,我这个心哦~ 版本 | python 3.7 步骤 配置环境变量 右击-->属性-->打开文件位置 进入到脚本目录: C:\Users\Administrat ...

  10. python_requests ~爬虫~小视频~~~

    当一只小小的Py_Spider也有一段时间了, 期间,更多的时间是在爬取图片啊, 文字, 文档这类的东西, 今天突然一时兴起, 来爬一手视频! 所以就找到了远近闻名的六间房(六扇门)哈哈,~~~ 1. ...