JDBC技术基础整理

mysql 启动和关闭命令:
启动:net start mysql 关闭:net stop mysql
mysql修改密码的命令:
use mysql;
update user set password=password(‘12345‘) where user=‘root‘;

登录的命令:
mysql -u root -p

新建登录用户
mysql> insert into mysql.user(Host,User<Password)values("localhost","test",password("123456"))

2.为用户授权

  授权格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"; 

  2.1 登录MYSQL(有ROOT权限),这里以ROOT身份登录:

  @>mysql -u root -p

  @>密码

  2.2 首先为用户创建一个数据库(testDB):

  mysql>create database testDB;

  2.3 授权test用户拥有testDB数据库的所有权限(某个数据库的所有权限):

   mysql>grant all privileges on testDB.* to [email protected] identified by ‘1234‘;

  mysql>flush privileges;//刷新系统权限表

  格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"; 

  2.4 如果想指定部分权限给一用户,可以这样来写:

  mysql>grant select,update on testDB.* to [email protected] identified by ‘1234‘;

  mysql>flush privileges; //刷新系统权限表

  2.5 授权test用户拥有所有数据库的某些权限:  

  mysql>grant select,delete,update,create,drop on *.* to [email protected]"%" identified by "1234";

//test用户对所有数据库都有select,delete,update,create,drop 权限。

  //@"%" 表示对所有非本地主机授权,不包括localhost。(localhost地址设为127.0.0.1,如果设为真实的本地地址,不知道是否可以,没有验证。)

 //对localhost授权:加上一句grant all privileges on testDB.* to [email protected] identified by ‘1234‘;即可。

3. 删除用户

  @>mysql -u root -p

  @>密码

  mysql>Delete FROM user Where User=‘test‘ and Host=‘localhost‘;

  mysql>flush privileges;

  mysql>drop database testDB; //删除用户的数据库

删除账户及权限:>drop user 用户名@‘%‘;

        >drop user 用户名@ localhost;

4. 修改指定用户密码

  @>mysql -u root -p

  @>密码

  mysql>update mysql.user set password=password(‘新密码‘) where User="test" and Host="localhost";

  mysql>flush privileges;

5. 列出所有数据库

  mysql>show database;

6. 切换数据库

  mysql>use ‘数据库名‘;

7. 列出所有表

  mysql>show tables;

8. 显示数据表结构

  mysql>describe 表名;

9. 删除数据库和数据表

  mysql>drop database 数据库名;

  mysql>drop table 数据表名;

JDBC

JDBC 连接数据库的过程

①注册数据库驱动

例:Class.forName("com.mysql.jdbc.Driver");

②构建数据库连接URL

例:URL基本格式:“JDBC协议+IP地址或域名+端口+数据库名称”
“jdbc:mysql://localhost:3306/test”

③获取Connection对象
DriverManager.getConnection(url,username,password);

连接代码如下:

try{
Class.forName("com.mysql.jdbc.Driver");//加载数据库驱动,注册到驱动管理器
String url = "jdbc:mysql://localhost:3306/testdatabase"; //数据库连接字符串
String username ="test"; //数据库用户名
String password = "123456"; //数据库密码
Connection conn = DriverManager.getConnection(url,username,password); //创建Connection连接
if(conn !=null){ //判断Connection对象是否为空
out.print("数据库连接成功!"); //不为空 输出"数据库连接成功"
conn.close(); //关闭连接
}else{
out.print("数据库连接失败"); //输出数据库连接失败
}

}catch(ClassNotFoundException e){
e.printStackTrace();
}catch(SQLException e){
e.printStackTrace();
}

JDBC API:

Connection接口的方法声明和说明
1. void close() throws SQLException
立即释放Connection对象的数据库连接占用的JDBC 资源,在操作数据库后, 应立即调用此方法

2.void commit() throws SQLException
提交事务,并释放Connection对象当前持有的所有数据库锁,当事务被设置为手动提交模式时,需要调用该方法提交事务

3.Statement createStatement()throws SQLException
创建一个Statement对象來将SQL语句发送到数据库,该方法返回Statement对象

4.boolean getAutoCommint()throws SQLException
用于判断Connection对象是否被设置为自动提交模式,该方法返回布尔值

5.DatabaseMetaData getMetData() throws SQLException
获取Connection对象所连接的数据库的元素DatabaseMetaData对象,元数据包括关于数据库的表、受支持的SQL语法、存储过程、此链接功能等信息

6.int getTransactionIsolation () throws SQLException
获取Connection对象的当前事物隔离级别

7. boolean isClosa() throws SQLException
判断Connection对象是否与数据库断开连接,该方法返回布尔值,需要注意的是,如果connection 对象与数据库断开连接,
则不能再通过Connection对象操作数据库

8.boolean isReadOnly() throws SQLException

判断Connection对象是否为只读模式,该方法返回布尔值

9.PreparedStatement preparedStatement(String sql)throws SQLException
将参数化的SQL语句预编译并存储在PreparedStatement对象中,并返回所常见的这个PreparedStatement对象

10.void releaseSavepoint(Savepoint savepoint)throws SQLException
从当前事物中移除 指定的Savepoint 和后续Savepoint对象

11.void rollback() throws SQLException
回滚事物,并释放Connection对象当前持有的所有数据库锁,注意该方法需要应用于Connection对象的手动提交模式

12.void setAutoCommit(boolean autoCommit)throws SQLException
设置Connection对象的提交模式,如果参数autoCmmit的值设置为true,Connection对象则为自动提交模式,如果参数autoCmmit的值设置为false,
Connection对象则为手动提交模式

13.void setReadOnly(boolean ReadOnly)throws SQLException
将Connection对象的连接模式设置为只读,该方法用于对数据库的优化

14.Savepoint setSavepoint()throws SQLException
在当前事物中创建一个未命名的保留点,并返回这个保留点的对象

15.Savepoint setSavepoint(String name)throws SQLException
在当前事物中创建一个指定名称的保留点,并返回这个保留点的对象

16.void setTransactionIsolation(int level)throws SQLException
设置Connection对象的事物隔离级别

2.DriverManager类
1.public static void deregisterDriver(Driver driver)throws SQLException
从 DriverManager的管理列表中删除一个驱动程序,参数driver为要删除的驱动对象

2.public static Connection getConnection(String url)throws SQLException
根据指定的数据库连接URL,简历与数据库连接Connection,参数url为数据库连接URL

3.public static Connection getConnection(String url,Properties info)throws SQLException
根据指定的数据库连接URL及数据库连接属性信息建立数据库连接Connection。参数url为数据库URL,参数info为数据库连接属性

4.public static Connection getConnection(String url,String user,String password)throws SQLException
根据指定的数据库连接URL用户名和密码建立数据库连接Connection。参数url为数据库URL,参数user为数据库连接数据库的用户名
参数password为连接数据库的密码

5.public static Enumeration<Driver>getDriver()
获取当前Drivermanager中已加载的所有的驱动程序,他的返回值是Enumeration

6.public static void registerDriver(Driver driver)throws SQLException
箱Drivermanager注册一个驱动对象,参数driver为要注册的驱动

3.Statement接口
Statement接口的方法和说明

1.void aadBatch(String sql) throws SQLException
将SQL语句添加到Statement对象的当前命令列表中,该方法用于SQL命令的批量处理

2.void clearBatch ()throws SQLException
清空Statement对象中的命令列表

3.void close()throws SQLException
立即释放Statement对象的数据库和JDBC资源,而不是等待该对象自关闭时发生此操作

4. boolean execute (Sting sql)throws SQLException
执行指定的SQL语句,如果SQL语句返回结果,该方法返回true,反之返回false

5.int[]executeBatch()throws SQLException
将一批SQL命令提交给数据库执行,返回更新技术组成的数组

6.ResultSet execute Query(String sql)throws SQLException
执行查询类型(select)de SQL语句,该方法返回查询所获取的结果集ResuktSet对象

7.executeupdate int executeupdate(String sql)throws SQLException
执行SQL语句中DML类型(insert uodate delete)的SQL语句,返回更新所影响的行数

8.Connection getConnection() throws SQLException
获取生成Statement 对象的Connection

9.boolean isClosa() throws SQLException
判断Statement对象是否被关闭,如果关闭,则不能再调用该statement对象执行SQL语句,该方法返回布尔值

4. PreparedStatement接口
PreparedStatement接口的方法和说明
1.void setBinaryStream(int paramenterIndex,InputStream x)throws SQLException
将输入流x作为SQL语句中的参数值,paramenterIndex为参数位置的索引

2.void setBoolean(int paramenterIndex , boolean x)throws SQLException
将布尔值x作为SQL语句中的参数值,paramenterIndex为参数位置的索引

3.void setByte(int paramenterIndex, byte x)throws SQLException
将byte值x作为SQL语句中的参数值,paramenterIndex为参数位置的索引

4.void setDate(int paramenterIndex, Date x)throws SQLException
将java.sql.Date值x作为SQL语句中的参数值,paramenterIndex为参数位置的索引

5.void setDouble(int paramenterIndex, Double x)throws SQLException
将double值x作为SQL语句中的参数值,paramenterIndex为参数位置的索引

6.void setFloat(int paramenterIndex, Float x)throws SQLException
将Float值x作为SQL语句中的参数值,paramenterIndex为参数位置的索引

7.void setInt(int paramenterIndex, int x)throws SQLException
将Int值x作为SQL语句中的参数值,paramenterIndex为参数位置的索引

8.void setInt(int paramenterIndex, long x)throws SQLException
将long值x作为SQL语句中的参数值,paramenterIndex为参数位置的索引

9.void setObject(int paramenterIndex, Object x)throws SQLException
将Objiect对象x作为SQL语句中的参数值,paramenterIndex为参数位置的索引

10.void setShort(int paramenterIndex, Short x)throws SQLException
将Short值x作为SQL语句中的参数值,paramenterIndex为参数位置的索引

11.void setString(int paramenterIndex, String x)throws SQLException
将String值x作为SQL语句中的参数值,paramenterIndex为参数位置的索引

12.void setTimestamp(int paramenterIndex, Timestamp x)throws SQLException
将Timestamp值x作为SQL语句中的参数值,paramenterIndex为参数位置的索引

5.ResultSet接口
ResultSet接口的方法和说明

1.boolean absolute(int row)throws SQLException
将光标移动到ResultSet对象给定的航编号,参数row为航编号

2.void afterLast() throws SQLException
将光标移动到ResultSet对象的最后一行之后,如果结果集中不包含任何行,则该方法无效

3.void beforeFirst()throws SQLException
立即释放ResultSet对象的数据库和JDBC资源

4.void deteleRow() throws SQLException
从ResultSet对象和底层数据库中删除当前行

5.boolean first() throws SQLException
将光标移动到ResultSet对象的第一行

6.InputStream getBinaryStream(String columnLabel)throws SQLException
以byte流的方式获取ResultSet对象当前行中指定列的值,参数columnLabel为列的名称

7.Date getDate(String columnLabel)throws SQLException
以java.sql.Date 的方式获取ResultSet对象当前行中指定列的值,参数columnLabel为列的名称

8.doublee getDouble(String columnLabel)throws SQLException
以double的方式获取ResultSet对象当前行中指定列的值,参数columnLabel为列的名称

9.float getFloat(String columnLabel)throws SQLException
以float 的方式获取ResultSet对象当前行中指定列的值,参数columnLabel为列的名称

10.int getInt(String columnLabel)throws SQLException
以int的方式获取ResultSet对象当前行中指定列的值,参数columnLabel为列的名称

11.String getString(String columnLabel)throws SQLException
以String 的方式获取ResultSet对象当前行中指定列的值,参数columnLabel为列的名称

12.boolean isClose()throws SQLException
判断当前的ResultSet对象是否关闭

13.boolean last() throws SQLException
将光标移到ResultSet对象的最后一行

14.boolean next()throws SQLException
将光标位置向后移动一行,如果移动的新航有效返回值为true,否则饭后false

15.boolean previous()throws SQLException
将光标位置向前移动一行,如移动的新行有效返回true,否则返回false

时间: 2024-11-03 21:34:34

JDBC技术基础整理的相关文章

HTML5游戏开发技术基础整理

随着HTML5标准最终敲定,HTML5将有望成为游戏开发领域的的热门平台.HTML5游戏能够运行于包括iPhone系列和iPad系列在内的计算机.智能手机以及平板电脑上,是目前跨平台应用开发的最佳实施方案.本文系根据[HML5 Canvas游戏开发实战]一书中的内容整理而成,是了解和学习HTML5游戏开发的基础内容,希望能够帮助到那些和博主一样致力于游戏开发的朋友们! JavaScript中的面向对象编程 对于游戏开发来说,面向对象编程(OOP)是一种重要而且必要的方法,所以在了解HTML5游戏

《Yaf零基础学习总结》系列技术文章整理收藏

<Yaf零基础学习总结>系列技术文章整理收藏 Yaf零基础学习总结系列整理了Yaf的基础知识,对于Yaf入门的学习有很大的参考借鉴,收藏在这里,自己用到Yaf的时候随时查阅 1关于Yaf的一些说明[转Yaf作者]http://www.lai18.com/content/407120.html 2Yaf零基础学习总结1-Yaf框架简介http://www.lai18.com/content/407123.html 3Yaf零基础学习总结2-Yaf框架的安装http://www.lai18.com

JAVA数据库编程(JDBC技术)-入门笔记

本菜鸟才介入Java,我现在不急着去看那些基本的语法或者一些Java里面的版本的特征或者是一些晋级的知识,因为有一点.Net的OOP编程思想,所以对于Java的这些语法以及什么的在用到的时候在去发现学习一下.我现在很迫不及待用JAVA想来实现以下对数据库的增删改查.想实现就来看Java是怎么操作数据库的,回想下.Net里你可能会配置web.Config,或者你去写一些DBhelper类然后调用里面的自己定义的一些增删改查的方法,更或者你去配一些数据控件等等往往发现操作基本都是一体化的简单.现在面

《Artech的WCF剖析系列》系列技术文章整理收藏

<Artech的WCF剖析系列>系列技术文章整理收藏 1控制并发访问的三道屏障: WCF限流(Throttling)体系探秘[下篇] 2使命必达: 深入剖析WCF的可靠会话[实例篇](内含美女图片,定力差者慎入) 3使命必达: 深入剖析WCF的可靠会话[概念篇] 4WCF如何克服HTTP传输协议的局限提供对不同消息传输模式的实现 5WCF中并发(Concurrency)与限流(Throttling)体系深入解析系列[共7篇] 6使命必达: 深入剖析WCF的可靠会话[协议篇](上) 7使命必达:

JavaFX 2.0+ 官方文档翻译和技术资料整理计划

一年以来,公司在采用最新的Java桌面技术-JavaFX 2.0(在Java 8中版本已经升级为JavaFX8)来开发行业软件,团队内部只有少部分人对这门新技术有一定程度的掌握.本着在团队内部普及JavaFX基础知识,以及为JavaFX在国内的传播发展贡献部分力量的目标,接下来计划将JavaFX 8的官方文档进行翻译和注解,并配上使用过程中的一些心得. JavaFX8 官方英文文档:http://docs.oracle.com/javase/8/javase-clienttechnologies

C#语言和数据库技术基础复习

整理了下C#语言和数据库技术基础,作为复习资料 第一章 一.c#和JAVA对比:1.c#用命名空间(namespace)java用包(package) 2.引入命名空间或包的关键字C#用using,JAVA用import 3.程序入口:C#的Main()有四种形式static void Main(string[] args) static int Main(string[] args) static void Main() static int Main() JAVA的MAIN()有一种形式 4

49 Linux操作系统原理、虚拟化技术基础原理

04 虚拟化技术基础原理 一.配置虚拟化网络 1.编辑配置文件 #关闭NetworkManager [[email protected] ~]# service NetworkManager stop [[email protected] ~]# chkconfig NetworkManager off    [[email protected] ~]# chkconfig --list NetworkManager NetworkManager  0:关闭  1:关闭  2:关闭  3:关闭

《鸡啄米C++编程入门系列》系列技术文章整理收藏

<鸡啄米C++编程入门系列>系列技术文章整理收藏 收藏整理鸡啄米C++编程入门系列文章,供个人和网友学习C++时参考 1鸡啄米:C++编程入门系列之前言 2鸡啄米:C++编程入门系列之一(进制数) 3鸡啄米:C++编程入门系列之二(原码.反码与补码) 4鸡啄米:C++编程入门系列之三(VS2010的使用介绍) 5鸡啄米:C++编程入门系列之四(数据类型) 6鸡啄米:C++编程入门系列之五(运算符和表达式) 7鸡啄米:C++编程入门系列之六(算法的基本控制结构之选择结构) 8鸡啄米:C++编程入

html技术基础

1.如何动态修改下拉列表的默认选中项 两种方法,第一种嵌入java代码:原理是首先获取需要选中项,然后用java代码控制那个标签内需要添加selected,其中Wish是放在request中的一个对象,仅此而已 <select name="wish.visible"> <%int visible=((Wish)request.getAttribute("wish")).getVisible(); %> <option value=&qu