创建用户
1.创建表空间(Oracle数据库是通过表空间来存储物理表的);
create tablespace h datafile ‘D:\h\hj.dbf’ size 2000M;
2.创建登录用户并分配表空间
create user jinjin identified by sa123 default tablespace h;
3.授权给新建的用户
Connect、Resource、DBA分别代表三种不同级别的权限
Connect 角色,是授予最终用户的典型权利,最基本的权利,能够连接到ORACLE数据库中,并在对其他用户的表有访问权限时,做SELECT、UPDATE、INSERTT等操作
Resource 角色,是授予开发人员的,能在自己的方案中创建表、序列、视图等。
DBA角色,是授予系统管理员的,拥有该角色的用户就能成为系统管理员了,它拥有所有的系统权限。
grant connect, resource to zhangfei;(授予权限)
grant dba to zhangfei;(授予权限)
grant create session to zhangfei;(允许zhangfei这个用户登录)
创建用户zhangfei并授予登入权限
create tablespace h datafile'd:\h\hj.dbf' size 200M; --在D盘下创建一个文件夹h 大小200M
create user zhangfeiidentified by sa123 --创建用户: zhangfei 登入密码: sa123
default tablespace h; --默认表空间放在h文件夹
grant connect, resource to zhangfei; --授予权限
grant create session to zhangfei; --允许登入
创建一个student表
create table student
(
sid varchar(10), --学号
sname varchar(10), --名字
address varchar(50) --地址
);
java连接orcale数据库
public class Test666 {
public static void main(String[] args) {
String url = "jdbc:oracle:thin:@localhost:1521:XE";//固定写法,1521是端口号,XE是数据库名称
String user = "zhangfei";
String password = "sa123";
try {
Class.forName("oracle.jdbc.OracleDriver");//加载驱动
Connection conn = DriverManager.getConnection(url,user,password); //创建连接对象(负责连接oracle数据库)
System.out.println("连接成功");
} catch (ClassNotFoundException | SQLException e)
{
e.printStackTrace();
}
}
}
插入操作:
public class Test01 {
public static void main(String[] args) {
String url = "jdbc:oracle:thin:@localhost:1521:XE";// 固定写法,1521是端口号,XE是数据库名称
String user = "zhangfei";
String password = "sa123";
try {
// 加载驱动
Class.forName("oracle.jdbc.OracleDriver");
// 创建连接对象(负责连接oracle数据库)
Connection conn = DriverManager.getConnection(url, user, password);
System.out.println("连接成功");
String sql = "insert into student values('1002','张三','南昌红谷滩')";
// 发送sql语句到oracle数据库
PreparedStatement pstmt = conn.prepareStatement(sql);
int count = pstmt.executeUpdate();// 发送sql并且执行增、删、改,返回受影响行数
if (count > 0) {
System.out.println("插入数据成功!");
} else {
System.out.println("插入数据失败!");
}
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
}
}
通过键盘插入:
public class Test011 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//创建控制台输入对象
Scanner input=new Scanner(System.in);
String url="jdbc:oracle:thin:@localhost:1521:XE";// 固定写法,1521是端口号,XE是数据库名称
String user="zhangfei";
String password="sa123";
try {
//加载驱动
Class.forName("oracle.jdbc.OracleDriver");
//创建连接对象(负责连接oracle数据库)
Connection conn=DriverManager.getConnection(url, user, password);
System.out.println("请输入学号:");
int sNo=input.nextInt();
System.out.println("请输入姓名:");
String sName=input.next();
System.out.println("请输入地址:");
String sAddress=input.next();
//编写SQL语句
String sql="insert into student values(?,?,?)";
//用来发送SQL语句到oracle数据库的
PreparedStatement pstmt=conn.prepareStatement(sql);
//1 2 3 依次根据3个问号 顺序插入值
pstmt.setInt(1,sNo);
pstmt.setString(2,sName);
pstmt.setString(3,sAddress);
//发送SQL并且执行增、删、改语句,返回受影响行数
int count=pstmt.executeUpdate();
if (count>0) {
System.out.println("插入数据成功!");
}else{
System.out.println("插入数据失败!");
}
//关闭资源
pstmt.close();
conn.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
删除操作:
public class Test02 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String url = "jdbc:oracle:thin:@localhost:1521:XE";// 固定写法,1521是端口号,XE是数据库名称
String user = "zhangfei";
String password = "sa123";
try {
// 1.加载驱动
Class.forName("oracle.jdbc.OracleDriver");
// 2.建立连接 ,创建连接对象(负责连接oracle数据库)
Connection conn = DriverManager.getConnection(url, user, password);
// 3.编写SQL语句
String sql = "delete from student where sid='1002'";
// 4.创建pstmt对象发送SQL到数据库
PreparedStatement pstmt = conn.prepareStatement(sql);
// 5.执行增、删、改操作,返回受影响行数
int count = pstmt.executeUpdate();
if (count > 0) {
System.out.println("删除数据成功!");
} else {
System.out.println("删除数据失败!");
}
// 关闭资源
pstmt.close();
conn.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
修改操作:
public class Test03 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String url="jdbc:oracle:thin:@localhost:1521:XE";// 固定写法,1521是端口号,XE是数据库名称
String user="zhangfei";
String password="sa123";
try {
//1.加载驱动
Class.forName("oracle.jdbc.OracleDriver");
//2.建立连接 ,创建连接对象(负责连接oracle数据库)
Connection conn=DriverManager.getConnection(url, user, password);
//3.编写SQL语句
String sql="update student set stuName='周杰伦',stuaddress='象湖' where stuno=1040";
//4.创建pstmt对象发送SQL到数据库
PreparedStatement pstmt=conn.prepareStatement(sql);
//5.执行增、删、改操作,返回受影响行数
int count=pstmt.executeUpdate();
if (count>0) {
System.out.println("修改数据成功!");
}else{
System.out.println("修改数据失败!");
}
//关闭资源
pstmt.close();
conn.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
查询操作:
public class Test04 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Connection conn = null;
try {
// 1.加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
// 2.建立连接
conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE", "zhangfei", "sa123"); // 固定写法,1521是端口号,XE是数据库名称
// 3.sql
String sql = "select *from student";
// 4.创建statement对象
Statement st = conn.createStatement();
// 5.执行sql语句
ResultSet rs = st.executeQuery(sql);
// 6.遍历输出
while (rs.next()) {// 判断集合有没有下一条记录
int Sid = rs.getInt("sid");// 参数是字段民字,建议用大写
String Sname = rs.getString("sname");
String Address = rs.getString("address");
System.out.println(Sid + "\t" + Sname + "\t" + Address);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
conn.close();
} catch (SQLException e)
e.printStackTrace();
}
}
}
}